PR

Amazon Q CLI 完全ガイド 2025年最新版:全コマンド一覧と実践的な使用例

Amazon Q CLIは、AWS上でAIアシスタント機能を活用するための強力なコマンドラインツールです。自然言語でのコマンド生成から、リアルタイムコード補完、システム統合まで、開発者の生産性を大幅に向上させる機能を提供します。

Amazon Q CLIとは

Amazon Q CLIは、生成AIの力を活用してコマンドライン作業を効率化するツールです。主な特徴:

  • 自然言語翻訳: 日本語や英語の指示を適切なシェルコマンドに変換
  • インタラクティブチャット: AIアシスタントとの対話形式での問題解決
  • インライン補完: リアルタイムでのコマンド候補提案
  • システム統合: 既存のワークフローへの seamless な統合
  • 多言語対応: 日本語での自然な会話が可能

インストールとセットアップ

システム要件

  • 対応OS: macOS、Linux、Windows
  • Python: 3.8以上(一部機能)
  • Node.js: 16以上(MCP機能使用時)

基本セットアップ

# 初期セットアップ
q setup

# シェル統合の初期化
q init

# システム診断
q doctor

基本構造とグローバルオプション

コマンド構造

Amazon Q CLIは階層的なコマンド構造を採用しています:

q [GLOBAL_OPTIONS] COMMAND [COMMAND_OPTIONS] [ARGUMENTS]

グローバルオプション

すべてのコマンドで使用可能な共通オプション:

# ヘルプ表示
q --help
q [COMMAND] --help

# 詳細ヘルプ(全サブコマンド表示)
q --help-all

# バージョン情報
q --version

# ログレベル設定(複数のvで詳細度アップ)
q -v          # 基本的な詳細出力
q -vv         # より詳細な出力
q -vvv        # 非常に詳細な出力
q -vvvv       # 最大詳細出力

ログレベルの環境変数制御

# 環境変数でログレベルを制御
export Q_LOG_LEVEL=error    # エラーのみ(デフォルト)
export Q_LOG_LEVEL=warn     # 警告とエラー
export Q_LOG_LEVEL=info     # 情報、警告、エラー
export Q_LOG_LEVEL=debug    # デバッグ情報含む
export Q_LOG_LEVEL=trace    # 全ての詳細情報

認証とユーザー管理

ログイン方式

Amazon Q CLIは2つのライセンス形態をサポート:

無料版(AWS Builder ID)

# 基本ログイン(対話式)
q login

# 無料版を明示的に指定
q login --license free

Pro版(IAM Identity Center)

# Pro版でのログイン
q login --license pro \
  --identity-provider https://my-company.awsapps.com/start \
  --region us-east-1

# デバイスフローを強制使用(ブラウザが使用できない環境)
q login --use-device-flow

ユーザー情報管理

# ログアウト
q logout

# 現在のユーザー情報表示
q whoami

# JSON形式で詳細情報表示
q whoami --format json
q whoami -f json-pretty

# プロファイル表示(Pro版のみ)
q profile

# アカウント管理
q user

チャット機能の活用

基本的なチャット操作

# インタラクティブチャット開始
q chat

# 質問を直接指定してチャット開始
q chat "Linuxでファイル一覧を表示する方法は?"

# 非インタラクティブモード(一回限りの質問)
q chat --no-interactive "現在のディレクトリを表示して"

# 前回の会話を再開
q chat --resume
q chat -r

プロファイル別チャット

# 特定のプロファイルでチャット
q chat --profile development "AWSの設定を確認したい"
q chat --profile production "本番環境の状態を教えて"

ツール使用の制御

# 全ツールを自動承認
q chat --trust-all-tools "システム情報を表示して"

# 特定ツールのみ承認
q chat --trust-tools=fs_read,fs_write "設定ファイルを読み込んで編集したい"

# ツールを一切使用しない(質問のみ)
q chat --trust-tools= "Pythonの基本文法について教えて"

チャット内コマンド

チャット中に使用できる特殊コマンド(/で開始):

# 基本操作
/help          # 利用可能コマンド一覧
/quit          # チャット終了
/clear         # チャット履歴クリア
/reset         # 会話コンテキストリセット

# データ管理
/save          # 会話をJSONファイルに保存
/load          # JSONファイルから会話を読み込み

# 機能管理
/prompts       # 利用可能プロンプト一覧
/usage         # コンテキストウィンドウ使用量表示
/model         # 利用可能モデル表示・選択
/tools         # ツール管理・権限設定
/profile       # プロファイル管理

# 会話最適化
/context       # コンテキスト情報管理
/compact       # 会話履歴の圧縮

# 外部連携
/editor        # 外部エディタでプロンプト作成
/issue         # 問題報告・機能要求

# 直接実行
! ls -la       # チャット内でシェルコマンド実行

キーボードショートカット

# 複数行入力
Ctrl+J         # 複数行入力モード

# ファジー検索
Ctrl+K         # コマンド・履歴のファジー検索

自然言語翻訳機能

基本的な翻訳

# 日本語での指示
q translate "現在のディレクトリ内の全ファイルを一覧表示"

# 英語での指示
q translate "list all files in the current directory"

# 複雑な操作の翻訳
q translate "先週更新されたPythonファイルをすべて検索"

複数候補の生成

# 複数の候補を生成(最大5個)
q translate -n 3 "ログファイルを日付別に整理したい"
q translate --n 5 "30日以上古いファイルを圧縮する"

実用例

# ファイル管理
q translate "100MB以上の大きなファイルを見つけて削除"
# 出力例: find . -size +100M -delete

# システム監視
q translate "5秒間隔でシステムリソースを監視"
# 出力例: watch -n 5 'top -n 1 | head -20'

# バックアップ
q translate "設定ファイルのバックアップを作成"
# 出力例: tar -czf config_backup_$(date +%Y%m%d).tar.gz ~/.config/

設定管理とカスタマイズ

設定インターフェース

# 設定GUI起動
q settings

# 設定ファイルをエディタで開く
q settings open

設定の表示と管理

# 全設定表示
q settings all

# JSON形式で設定表示
q settings all --format json
q settings all -f json-pretty

# 特定設定の表示
q settings theme
q settings log-level

設定値の変更

# テーマ設定
q settings theme dark
q settings theme light
q settings theme system

# ログレベル設定
q settings log-level debug
q settings log-level info
q settings log-level warn

# 設定の削除
q settings --delete theme
q settings -d log-level

テーマ管理

# 利用可能テーマ一覧
q theme --list

# テーマディレクトリパス表示
q theme --folder

# テーマ設定
q theme dark      # ダークテーマ
q theme light     # ライトテーマ
q theme system    # システム設定に従う

インライン補完機能

補完機能の制御

# インライン補完有効化
q inline enable

# インライン補完無効化
q inline disable

# 現在の状態確認
q inline status

カスタマイゼーション

# カスタマイゼーション設定
q inline set-customization

# 特定のカスタマイゼーションを指定
q inline set-customization arn:aws:codewhisperer:us-east-1:123456789012:customization/example

# 利用可能カスタマイゼーション表示
q inline show-customizations
q inline show-customizations --format json

システム統合管理

統合のインストールと管理

# 統合のインストール
q integrations install
q integrations install --silent

# 統合のアンインストール
q integrations uninstall
q integrations uninstall --silent

# 統合の再インストール
q integrations reinstall
q integrations reinstall --silent

# 統合状態確認
q integrations status
q integrations status --format json

MCP (Model Context Protocol)

MCPサーバーの管理

MCPは、外部ツールやサービスとの統合を可能にするプロトコルです。

サーバーの追加

# 基本的なMCPサーバー追加
q mcp add --name my-server --command "python server.py" --scope workspace

# グローバルスコープでのサーバー追加
q mcp add --name global-server \
  --command "node server.js" \
  --scope global \
  --env "API_KEY=secret,DEBUG=true" \
  --timeout 5000

# 既存サーバーの強制上書き
q mcp add --name my-server --command "python new-server.py" --force

サーバーの管理

# MCPサーバー削除
q mcp remove --name my-server --scope workspace
q mcp remove --name global-server --scope global

# MCPサーバー一覧
q mcp list
q mcp list workspace
q mcp list global

# サーバー状態確認
q mcp status --name my-server

設定のインポート

# 設定ファイルからインポート
q mcp import --file config.json workspace
q mcp import --file config.json --force global

診断とトラブルシューティング

システム診断

# 基本診断実行
q doctor

# 全診断テスト実行(修正なし)
q doctor --all
q doctor -a

# 厳密モード(警告もエラーとして扱う)
q doctor --strict
q doctor -s

詳細診断

# 基本診断
q diagnostic

# JSON形式で診断結果表示
q diagnostic --format json
q diagnostic -f json-pretty

# 制限された診断出力を強制
q diagnostic --force

ログファイルの場所

  • macOS: $TMPDIR/qlog/
  • Linux: $XDG_RUNTIME_DIR または $TMPDIR または /tmp

実践的な使用シナリオ

シナリオ1: 開発環境のセットアップ

# 1. 認証とログイン
q login --license pro --identity-provider https://company.awsapps.com/start

# 2. 環境設定
q theme dark
q settings log-level info

# 3. 機能有効化
q inline enable
q integrations install

# 4. システム診断
q doctor --all

# 5. 開発開始
q chat --trust-tools=fs_read,execute_bash

シナリオ2: 日常的な開発作業

# コマンド生成で作業効率化
q translate "TODOコメントがあるPythonファイルを全て検索"

# ファイル整理
q chat "このディレクトリのログファイルを日付別に整理して"

# 設定確認
q settings all -f json-pretty > current_settings.json

# 問題発生時の診断
q diagnostic --format json > diagnostic_report.json

シナリオ3: チーム開発での標準化

# チーム共通のMCPサーバー設定
q mcp add --name team-tools \
  --command "python /shared/team-server.py" \
  --scope global \
  --env "TEAM_CONFIG=/shared/config.json"

# 標準設定の適用
q settings theme system
q settings log-level info
q inline enable

# 問題報告のテンプレート化
q issue "機能要求: 新しいコマンドXXXの追加"

シナリオ4: 運用・保守作業

# 定期的なシステムチェック
q doctor --strict --format json > health_check_$(date +%Y%m%d).json

# ログ分析
q chat --trust-tools=fs_read "過去24時間のエラーログを分析して"

# 設定バックアップ
q settings all -f json > settings_backup_$(date +%Y%m%d).json

# パフォーマンス監視
q translate "CPU使用率が80%を超えた時にアラートを出す"

セキュリティとベストプラクティス

安全な設定

# 信頼するツールを明示的に指定
q chat --trust-tools=fs_read "設定ファイルの内容を確認"

# 機密情報を扱う場合は対話式で確認
q chat  # 自動実行ではなく対話式で安全に実行

# 適切なログレベル設定
export Q_LOG_LEVEL=warn  # 本番環境では詳細ログを避ける

監査とコンプライアンス

# 定期的な診断実行
q doctor --strict

# 設定の定期確認とバックアップ
q settings all -f json > audit_$(date +%Y%m%d_%H%M%S).json

# ユーザー情報の記録
q whoami --format json >> user_audit.log

# MCP接続の監査
q mcp list global >> mcp_connections_audit.log

開発チームでのガイドライン

# 推奨設定テンプレート
cat << 'EOF' > q_team_setup.sh
#!/bin/bash
# Amazon Q CLI チーム標準設定

# 基本設定
q settings theme system
q settings log-level info

# セキュリティ設定
export Q_LOG_LEVEL=warn

# インライン補完有効化
q inline enable

# 診断実行
q doctor --all

echo "Amazon Q CLI チーム設定が完了しました"
EOF

chmod +x q_team_setup.sh

アプリケーション管理

アップデートと保守

# アップデートチェックと実行
q update

# 確認なしでアップデート
q update --non-interactive
q update -y

# ロールアウト使用
q update --rollout

# アップデート後にダッシュボード再起動
q update --relaunch-dashboard

アプリケーション制御

# デスクトップアプリ起動
q launch

# ダッシュボード起動
q dashboard

# アプリ再起動
q restart

# アプリ終了
q quit

バージョン管理

# バージョン表示
q version

# 変更履歴表示
q version --changelog
q version --changelog=all
q version --changelog=1.2.3

トラブルシューティング

よくある問題と解決方法

認証エラー

# 認証情報をクリア
q logout
q login --license free

# 診断実行
q doctor --strict

補完機能が動作しない

# 統合状態確認
q integrations status

# 再インストール
q integrations reinstall

# インライン補完再有効化
q inline disable
q inline enable

パフォーマンス問題

# 会話履歴の圧縮
q chat
/compact

# 設定の最適化
q settings log-level warn
export Q_LOG_LEVEL=error

ログ分析

# 詳細ログでの実行
Q_LOG_LEVEL=debug q chat -vvv

# 診断レポート生成
q diagnostic --format json-pretty > full_diagnostic.json

まとめ

Amazon Q CLI 2025年最新版は、AIアシスタント機能を活用した革新的な開発ツールです。主要な特徴:

🚀 生産性向上機能

  • 自然言語でのコマンド生成
  • リアルタイムインライン補完
  • インタラクティブなAIチャット

🔧 強力な統合機能

  • MCP(Model Context Protocol)による外部ツール連携
  • 既存ワークフローへのシームレス統合
  • カスタマイズ可能な設定管理

🛡️ エンタープライズ対応

  • AWS IAM Identity Center統合
  • 詳細な監査ログ
  • セキュリティ重視の設計

📊 運用支援機能

  • 包括的な診断機能
  • 自動アップデート
  • 詳細なトラブルシューティング

適切な設定とベストプラクティスに従うことで、Amazon Q CLIを最大限活用し、効率的で安全な開発環境を構築できます。継続的な学習と実践により、開発者の生産性を大幅に向上させることが可能です。


この記事は2025年6月時点の最新情報に基づいています。新機能の追加や変更については、AWS公式ドキュメントを定期的にご確認ください。

コメント

タイトルとURLをコピーしました