🙌

【初心者向け】Amazon Q Developer 入門!完全ガイド

に公開

Amazon Q Developer

☘️ はじめに

本ページは、AWS に関する個人の勉強および勉強会で使用することを目的に、AWS ドキュメントなどを参照し作成しておりますが、記載の誤り等が含まれる場合がございます。

最新の情報については、AWS 公式ドキュメントをご参照ください。

👀 Contents

1. Amazon Q Developer とは

生成AIを活用した会話型アシスタントです。 AWS re:Invent 2023で発表されました。
Amazon Q には大きく分けて2つの種類があります。

  • Amazon Q Developer
    • 主に開発者向けのサービスで、以下のような用途で活用されます。
      • ソフトウェア開発タスクの支援
      • AWS インフラストラクチャの管理
      • 技術的な問題解決
      • コードの生成・レビュー・最適化
  • Amazon Q Business
    • ビジネスユーザー向けのサービスで、企業の内部データを活用した質問応答システムの構築が可能です。
      • 社内のQ&Aチャットボット
      • タスク自動化のアプリケーション
      • コンテンツ生成
      • 要約
    • Amazon Q Developer とは料金も異なります。

Amazon Q Developerは、従来のCodeWhispererから発展した形で提供されており、単なるコード補完ツールではなく、AWS環境全体での開発・運用業務を支援する包括的なAIアシスタントとして位置づけられています。2024年4月30日より、Amazon CodeWhispererはAmazon Q Developerに統合されました。

参考: Amazon Q Developer と Amazon CodeWhisperer

本記事では、主に Amazon Q Developer について詳しく解説していきます。

1.1. 公式ドキュメント

Amazon Q Developerを理解する公式ドキュメントは次のとおりです。

Amazon Q Developer サービス概要

Amazon Q Developer ドキュメント

Amazon Q Developer の料金

1.2. 学習リソース

Getting started with Amazon Q Developer - Part 1(Youtube)(0:19:07)

Getting started with Amazon Q Developer - Part 2| Amazon Web Services(Youtube)(0:23:19)

デモで学ぶ!Amazon Q Developer エージェントで実現する開発効率化(AWS-27)(Youtube)(0:41:00)

1.3. ワークショップ

Amazon Q Developer Workshop - Building the Q-Words App

Amazon Q CLI セルフサービスワークショップ

1.4. 日本語対応状況

2025年4月より、Amazon Q Developer で日本語サポートが開始されました。これにより、さらに使いやすくなりました。

参考: AWSブログ>Amazon Q Developer の言語サポートが拡大 (日本語を含む)

1.5. 利用時の注意事項

Amazon Qは便利なサービスですが、生成AIを利用する上で以下の点には気を付けてください。

  • 所属組織のセキュリティポリシー: 業務利用する場合には、所属する組織のセキュリティポリシーに違反しないかを確認しましょう。
  • 機密情報の扱い: 入力した内容や出力された内容が学習に使われることがあります。本記事の「3. Amazon Q Developer を安全に使うためのオプトアウト」を参照し、必要に応じて送信されないようにしましょう。
  • 情報の鮮度: 生成AIの学習に使用したデータによっては最新ではない可能性があるので、重要な情報は必ず公式情報を参照するようにしましょう。
  • 回答の正確性: 生成AIの回答には事実とは異なる内容(ハルシネーション)が含まれることがありますので、確認が必要です。

2. 料金体系

まずは、Builder IDを取得して使い始めるのがおすすめです。

2.1. 無料利用枠(Free Tier)

  • 料金: 無料
  • チャット: 月50回まで
  • コード生成: 月5回まで
  • コード変換: 月1,000行まで
  • データ収集: オプトアウト可能
  • 認証: AWS Builder ID

2.2. Amazon Q Developer Pro

  • 料金: 月額19USD / ユーザー
  • チャット: 無制限
  • コード生成: 無制限
  • コード変換: アカウントレベルで 1 ユーザーあたり毎月 4,000 行
  • データ収集: 自動的にオプトアウト
  • 高度な機能: カスタマイズ、セキュリティスキャン強化など
  • 認証: IAM Identity Center

3. Amazon Q Developer を安全に使うためのオプトアウト

Amazon Q Developerで送信されるデータには2種類あります。

  • テレメトリ: サービスの利用状況を数値化・定量化したデータのことです。実際のコードやプロンプトのテキストは含まれません。
  • コンテンツ: ユーザが Amazon Q に入力した情報や、Amazon Q が生成した情報

Amazon Q Developerの無料利用枠(Free Tier)では、デフォルトでオプトアウトされていませんので、データが送信されます。

3.1. VS Codeでの設定例

テレメトリの共有からオプトアウト

  1. VS Code で [設定] を開きます。
  2. VS Code ワークスペースを使用している場合は、[ワークスペース] サブタブに切り替えます。VS Code では、ワークスペース設定がユーザー設定より優先されます。
  3. 以下を検索し、チェックボックスをオフにします。
    • 「Amazon Q: Telemetry」

vscode-telemetry

または、settings.json に以下の設定を追加してください。

{
    "amazonQ.telemetry": false
}

※ (参考)settings.jsonの場所

Windows: %APPDATA%\Code\User\settings.json
        ( C:\Users\<ユーザー名>\AppData\Roaming\Code\User\settings.json)
Linux: $HOME/.config/Code/User/settings.json
macOS: $HOME/Library/Application Support/Code/User/settings.json

コンテンツの共有からのオプトアウト

  1. VS Code で [設定] を開きます。
  2. [ユーザー] サブタブに切り替えます。
  3. 以下を検索し、チェックボックスをオフにします。
    • 「Amazon Q: Share Content」

vscode-share-content

または、settings.json に以下の設定を追加してください。

{
    "amazonQ.shareContentWithAWS": false
}

その他IDEについては、AWSドキュメントを参照してください。

3.2. AWS CLI

テレメトリの共有からオプトアウト

# 現在のステータスを確認します
q telemetry status
# Telemetry status: enabled

# 無効化します
q telemetry disable
# ステータスを確認します
q telemetry status
#Telemetry status: disabled

コンテンツの共有からのオプトアウト

# 無効化します
q settings codeWhisperer.shareCodeWhispererContentWithAWS false
# 設定を確認します
q settings all
#codeWhisperer.shareCodeWhispererContentWithAWS = false

4. 主な機能

4.1. チャット

Amazon Q Developer とのチャット

自然言語での質問に対して、AWSのベストプラクティスや実装方法を回答してもらうことができます。

主なユースケースは以下の通りです。

  • AWSアーキテクチャの相談
  • AWSリソースの使い方
  • トラブルシューティングなどにおける運用調査支援
  • ドキュメントの参照

IDE上にインストールした拡張機能や、AWSマネジメントコンソールでも質問ができます。

AWSマネジメントコンソールでは右上のアイコンからチャットを始めることができます。

console-amazonq

Lambda関数作成の例:

chat-lambda-create-function-01

読み取り専用アクセスのみしかないため、さすがに直接書き込んではくれないようです。

chat-lambda-create-function-02

トラブルシューティングの例:

chat-troubleshooting

4.2. インラインコード補完

Amazon Q Developer によるインライン提案の生成

IDE上でリアルタイムにコード補完や提案を行ってくれます。コメントや関数宣言をもとに、適切なコードスニペットや関数本体を生成してくれます。

VSCodeでのコード補完例:

inline-suggestions-vscode

AWSマネジメントコンソール上のLambdaでもAmazon Q によるコード補完を利用することができます。
コード補完が動いていなかったら、左下にある「|| Amazon Q」をクリックして「Resume Auto-Suggestions...」からコード補完を再開できます。再開していれば、左下の表示も「▷Amazon Q」となっています。

lambda-amazonq

Lambdaでのコード補完例:

inline-suggestions-lambda-01

Lambdaコンソールでは、1行ずつ出るようです。

inline-suggestions-lambda-02

4.3 コード変換・アップグレード(/transform)

Amazon Q Developer を使用した IDE でのコードの変換

既存のコードを新しいバージョンや別の言語に変換できます。特に以下の変換に対応しています。

4.4. 機能開発(/dev)

Amazon Q Developer を使用した機能の開発

/dev コマンドを使用することで、自然言語での指示から新機能の実装を支援してもらえます。
単純なコード生成だけでなく、複数ファイルにまたがる機能開発も可能です。

ただし、/devと入力すると以下のように表示されるので、/devコマンドは不要で、用件をチャットで入力するだけでよいと思います。

amazonq-dev

/dev DynamoDBとAPIGatewayを使ったユーザー管理APIを作成してください

amazonq-dev-01

このように作成されます。

amazonq-dev-03
amazonq-dev-02

4.5. ユニットテスト作成(/test)

Amazon Q を使用したユニットテストの生成

表示しているファイルか、選択したファイルのソースコードに対して、ユニットテストを作成してくれる機能です。
具体的には、以下の作業を行ってくれます。

  • テストケースの識別
  • モックとスタブの作成
  • テストコードの生成

unit-test

作成されたテストを実行してみます。

coverage run -m unittest test_fizzbuzz_v2.py

unit-test-run

カバレッジレポートを出力すると、69%でした。

coverage report

unit-test-coverage-report

4.6. コードレビュー(/review)

Amazon Q Developer でコードを確認する

コードのレビューを実施してくれる機能です。/reviewで実行できます。
日本語で回答してほしい場合は、あらかじめ「日本語で対応してください」としておくとよいです。

review-01

※ソースコードにコメントを書いたためか、レビュー指摘されそうな問題を意図的に含んだことがバレてます。

review-02

4.7. ドキュメントの生成(/doc)

Amazon Q Developer を使用したドキュメントの生成

ワークスペースで実行することで、READMEなどを作成してもらえる機能です。

/docと入れると、どんな種類のドキュメントを作成するか聞かれますので、ほしいドキュメントを回答します。

  • API Documentation - Document APIs, endpoints, and integration guides
  • README Files - Project overviews, setup instructions, and quick starts
  • User Guides - Step-by-step instructions for end users
  • Developer Guides - Technical implementation details and code examples
  • Configuration Guides - Setup and configuration instructions
  • Architecture Documentation - System design and component overviews

例えば、以下のリポジトリの内容でDeveloper Guidesを作成してもらうとこのようなものが出力されます。

git clone https://github.com/aws-samples/amazon-bedrock-workshop.git

こちらもあらかじめ「日本語で対応してください」としておくと日本語で出力してくれます。

doc

5. Q CLI

コマンドラインで Amazon Q Developer を使用する

コマンドライン用のAmazon Qを利用できます。
2025年9月時点でサポートされているOSは、macOSLinuxです。WindowsでもWSLを使うことでインストールすることができます。

VSCodeのDev Containerでも利用することもできます。以下のリポジトリにソースコードがおいてありますので参考にしてください。

https://github.com/ishiharatma/devcontainer-amazon-q-cli

インストールに成功すると、次のような画面から利用することができます。

q-chat-start

終了するには、次のコマンドを入力します。

/quit

5.1. コンテキスト管理

他のAIコーディングエージェントと同様に特定のファイルにコンテキストを書いておくことで、Amazon Qが読み取り、書かれた内容に従った動作を行ってくれるものです。

  • README.md: プロジェクトの説明や仕様が書いてあることを想定しています
  • AmazonQ.md: Amazon Q CLI の動作全般にかかわることを記述するファイルです
  • .amazonq/rules/*.md: 各言語など細かいコンテキストを記述するファイルです

次のコマンドを入力すると読み込まれているコンテキストファイルを表示することができます。

/context show

5.2. MCPサーバ管理

JSONファイルに指定しておくことで、Amazon Q CLIがMCPサーバを利用できるようになります。

  • .amazonq/mcp.json
{
  "mcpServers": {
    "mcp-server-fetch": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    },
    "AWS Core MCP Server": {
      "command": "uvx",
      "timeout": 60000,
      "args": [
        "awslabs.core-mcp-server@latest"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR"
      },
      "autoApprove": [],
      "disabled": false
    },
    :
  }
}

5.3. カスタムエージェント

Amazon Q Developer CLI がカスタムエージェントを発表

2025年7月31日に発表された、Amazon Q CLIで独自のエージェントを作成できる機能です。カスタムエージェントとは、特定のユースケースやワークフローに合わせて設定できるAIアシスタントです。

JSONファイルでエージェントの動作が指定可能です。JSONファイルは、.aws/amazonq/cli-agentsの中に格納されます。

設定されているエージェントのリストは以下のコマンドで確認できます。(最初は何も登録されていないので、一覧に表示されません)

/agent list

agent-list-00

エージェントの構成要素は、Gitリポジトリか、以下のコマンドで確認します。

/agent schema

custom-agent-schema

カスタムエージェントの作成方法

Amazon Q CLIでチャット(q chat)を開いてから、以下のコマンドを実行します。

/agent create --name example-agent

エディタが開きますので、必要事項を設定し、ファイルを保存します。
ファイルは、~/.aws/amazonq/cli-agents/example-agent.jsonとして保存されます。

ここでカスタムエージェントの一覧を表示すると作成したカスタムエージェントが確認できます。

agent-list-01

一度、チャットを終了(/quit)します。

カスタムエージェントを指定して、チャットを起動します。

q chat --agent example-agent

custom-agent

詳しくは、こちらのAWSブログか、Amazon Q Developer ドキュメントを参照してください。

参考: Build Games with Amazon Q CLI and score a T shirt 🏆👕

2025年5月20日から6月20日までで開催されたAmazon Q CLIを使ってゲームを開発することで、特製Tシャツが貰えるというキャンペーンです。最終的に、キャンペーン期間は2025年6月30日まで延長されました。

https://builder.aws.com/content/2xIoduO0xhkhUApQpVUIqBFGmAc/ended-build-games-with-amazon-q-cli-and-score-a-t-shirt

どのようにゲームを作ったかについては、以下の記事を参考にしてください。ゲーム作成を通して、Amazon Q CLIの使い方や指示の方法が学べます。

https://qiita.com/issy929/items/9562187de4f93999e8d4

7. 他のサービスとの連携

Amazon Q Developer とのサードパーティー統合

7.1. Microsoft Teams / Slack との連携

チャットアプリケーション内でAmazon Q を活用し、運用イベントの監視やトラブルシューティングが可能です。

Amazon Q Developer in chat applications(旧称: AWS ChatBot)を利用することで、指定したチャネルに通知し、Amazon Q Developerとチャットを行った情報の取得やAWS CLIの実行などができます。
実行できる権限は、IAMロールで制御します。

参考: Tutorial: Get started with Microsoft Teams

参考: Tutorial: Get started with Slack

7.2. GitHub との連携

AWSブログ: 2025年5月5日 Amazon Q Developer in GitHub (プレビュー) がコード生成を加速

Amazon Q Developer for GitHubを使うと、GitHubのIssueに「Amazon Q Developer agent」ラベルを付けるだけで、新機能の開発から自動コードレビューまでをAIが支援してくれます。

amazonq-github

7.3. GitLab との連携

GitLab Duo Amazon Q

2025年4月17日 GitLab Duo with Amazon Q の一般提供開始のお知らせ

GitLab の DevSecOps プラットフォームに Amazon Q エージェント機能を直接組み込み、ソフトウェア開発ライフサイクル全体でAmazon Qの機能を活用できます。

ただし、以下の利用条件があります。

  • GitLab 17.11.0 以降のセルフマネージドインスタンス
  • GitLab Ultimateプラン

8. Amazon Q Developerを活用するためのヒント

Amazon Q Developerを効率的に活用するためのヒントをいくつか紹介します。

明確な指示を与える

具体的で明確な指示を与えることで、より正確な回答やコード生成が期待できます。
生成AIは少ない指示でもそれなりのものを作成するため、生成AIに慣れてくると曖昧な指示を行ってしまうことがあります。これが思わぬところで大きな手戻りとなってしまうことがあるため、常に明確な指示を心がけましょう。

対話を重ねる

1回の質問で終わらず、追加の質問を行なうことで、より深く、正確な情報が得られます。最初の回答をベースに、「この実装でエラーハンドリングはどう追加すれば良いですか?」といったフォローアップ質問が効果的です。

段階的に指示を与える

1回の指示で大量の情報を与えず、段階的に指示することで、より理解しやすく実装しやすいコードが得られます。大きな機能は小さなコンポーネントに分けて、順次実装を依頼しましょう。

コード改善のためのレビュー

作成したソースコードのレビューを実施してもらうことで、より効率的な記述方法を学ぶことができます。パフォーマンス改善や、セキュリティなどのベストプラクティスを学べます。

設計ドキュメントの作成

/docコマンドを使ってドキュメント生成機能を活用することで、既存のコードベースから自動的にドキュメントを生成でき、コードの理解および、設計書作成の時間短縮にもなります。

📖 まとめ

Amazon Q Developer は、AWS での開発・運用業務を大幅に効率化できる強力なAIアシスタントです。日本語への対応がされたことで、利用する機会が増えてくると思います。開発での利用も効果的ですが、個人的には運用業務におけるログ調査やメトリクスからの洞察を得るといった点において、非常に強力だと感じています。

GitHubで編集を提案

Discussion