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公式ドキュメントを定期的にご確認ください。
コメント