Amazon Q Developerで実現するAWSインフラ構築の自動化

はじめに

NTT西日本の﨑野 風音です。
本記事では、AWSの生成AIサービス「Amazon Q Developer for CLI」を使って、どこまでインフラ構築を自動化できるのかを検証しました。
実際に試した結果や、うまくいった点・苦労した点をまとめています。
本記事は2025年10月時点の情報に基づきます。

対象読者

本記事が想定する対象読者は以下の通りです。

  • AWS、生成AIサービスを勉強している人
  • 生成AIの活用方法に困っている人
  • 生成AIを活用したAWSインフラ構築について知りたい人

背景

本検証はアジアクエスト社共催の外部登壇(AWSの生成AIを活用した取組)に向けて実施しました。
登壇の模様は後日別の記事として公開予定ですので、あわせて読んでいただけるとありがたいです。

また、テーマとしてAmazon Q Developer for CLIを選んだ背景としては、 以下にあげるような課題をAmazon Q Developer for CLIを活用することで解決できると感じたためです。

  • インフラ構築の手順は個人依存で標準化が難しい
  • AWSサービスは多岐に渡り、学習コストが高い
  • 構築時にヒューマンエラーによるリスクが高い
  • 手作業による構築に時間がかかる
  • 運用におけるリソース最適化に割く時間がない


前提条件・動作環境


Amazon Q Developerとは?

Amazon Q Developerとは、AWSが提供する開発者向けに設計された生成AIアシスタントです。
AWSの開発作業を効率化するためのツールになります。
AWSのサービスを使ったコードの自動生成やAWSの公式ドキュメントやベストプラクティスの検索、トラブルシューティング支援等をチャット形式で質問することができます。

aws.amazon.com

Amazon Q Developerは以下3つの方法で利用可能です。

  • Amazon Q Developer for CLIとして利用
    • コマンドラインで自然言語を使ってAWS操作やコード生成をしたい際に便利です。
  • AWSマネジメントコンソールから利用
    • AWSマネジメントコンソール右側に表示されるQアイコンから利用できます。画面のコンテキストを理解して最適な回答や操作方法を提案してくれます。
  • IDEプラグインとして利用
    • Visual Studio CodeのようなIDEにプラグインを追加することでコード補完やリファクタリング等をAmazon Q Developerがサポートしてくれます。

今回は一つ目のAmazon Q Developer for CLIをご紹介します。

※現在、Amazon Q DeveloperはKiro CLIに統合されています。
詳細はこちらの記事をご覧ください。

aws.amazon.com


検証内容

本検証は大きく分けて以下の3つを実施しました。

  1. Amazon Q Developer for CLIによるWebアプリケーション構成の開発
  2. Amazon Q Developer for CLIによる構成のチェックとCloudFormationテンプレート作成
  3. Amazon Q Developer for CLIによるAWS WAFログの分析とWeb ACLの作成

全体の流れは以下のようになります。

手順1~3が「1. Amazon Q Developer for CLIによるWebアプリケーション構成の開発」
手順4~6が「2. Amazon Q Developer for CLIによる構成のチェックとCloudFormationテンプレート作成」
手順7,8が「3. Amazon Q Developer for CLIによるAWS WAFログの分析とWeb ACLの作成」に対応しています。

1. Amazon Q Developer for CLIによるWebアプリケーション構成の開発

このセクションでは、Webアプリケーション構成をAmazon Q Developer for CLIとの対話によって構築していく手順を紹介します。
始めに、以下のような命令を実施しました。
※EC2インスタンス:Amazon EC2 インスタンス

「 EC2インスタンスを1台パブリックサブネットに起動してください。簡単なゲームアプリを構築してください。」

※VPC等の作成もAmazon Q Developer for CLIを活用しましたが、ここでは割愛しています。
Amazon Q Developer for CLIの応答はこちら。

ちなみに、指定しなかった設定項目はAmazon Q Developer for CLIが自動で設定します。
また、同一アカウント内にAmazon Virtual Private Cloud(以下、VPC)が複数ある場合は、どのVPC(指定がある場合はサブネットまで)でインスタンスを起動するかを指定してあげてください。

アクセスも確認できたので、次は以下の命令を実施しました。
※ALB:Application Load Balancer

「ALBをパブリックサブネットに配置し、EC2インスタンスはマルチAZ配置で、かつプライベートサブネットで起動してください。」

Amazon Q Developer for CLIの応答はこちら。

こちらも問題なくアクセスを確認できました。


2. Amazon Q Developer for CLIによる構成のチェックとAWS CloudFormationテンプレート作成

セクション1の操作を進め、以下の構成を構築しました。


使用されているAWSリソース自体はこちらの意図した通りとなったので、ベストプラクティスと照らし合わせて構成評価を実施しました。
応答はこちら。

ご覧の通り、エンタープライズレベルで求められる要件と比較すると改善が求められる結果となりました。
構築時に詳細なパラメーターを指定することである程度の改善は見込めるかもしれません。

また、以下の通り、Amazon Q Developer for CLIを活用することでAWS CloudFormationテンプレートの作成も確認できました。
もちろん、そのまま本番運用せず、セキュリティ・コスト・可用性等の観点でのレビューが必須です。

ここまでを振り返っての個人的な感想です。

  • 厳密な構築が求められない検証(触ってみた程度)であればAmazon Q Developer for CLIは有効です。
  • 実案件に応用する場合は、「Amazon Q Developer for CLIで簡易構築→AWS CloudFormationテンプレート作成→手動チェック」が必須だと感じました。

3. Amazon Q Developer for CLIによるAWS WAFログの分析とWeb ACLの作成

ここからは構築後のフェーズにおけるリソース最適化へのAmazon Q Developer for CLI活用事例になります。
今回はAWS WAFログの分析から設定ルールをブラッシュアップできないかを検証しました。
※事前にAWS WAFのログ記録機能を有効化し、Amazon Kinesis Data Firehose経由でAmazon S3に保存する必要があります。

始めに、以下のような命令を実施しました。

「過去1か月間のトラフィックを分析し、AWS WAFに追加すべきルールを提案してください。
分析の際には部分サンプルから判断せず、完全なデータを活用してください。


左上がAWS WAFダッシュボードの表示、左下がAmazon Athenaでのクエリ結果(過去一か月間のブロックイベント数の多い上位10個のIPアドレスを表示)、右側がAmazon Q Developer for CLIによる応答結果です。
ご覧の通り、分析結果が一致していることが確認できます。

※ちなみに、Amazon Athenaで用いたSQLもAmazon Q Developer for CLIで作成しました。

上記結果から、実際のトラフィック状況とAmazon Q Developer for CLIの分析結果に認識齟齬がないことが確認できたので、AWS WAFルールのブラッシュアップを依頼した結果がこちら。

ルールの自動作成と、作成理由の説明まで実施してくれました。
問題なければルールのアタッチまで実施可能です。

苦労したポイント

ここまで、「Amazon Q Developer for CLIは便利ですよ!なんでもできますよ!」といったような紹介に見えるかもしれませんが、私が検証を実施する中で苦労したポイントも多々ありました。
そちらを以下に紹介します。

  • 出力の揺らぎ
    • 抽象的な指示では意図しない出力結果が出てしまうことも
      詳細なパラメーターの指定や、分析対象期間を明確化することが大切です。
  • エラーハンドリング
    • 権限不足等のエラーが発生しやすいです。対応方針を事前に明確化しておくと開発がスムーズに進みます。(エラー時に停止するか、必要な権限は取得させて続行するか)
      エラーハンドリングを指定しないと動作しないアプリが誕生したり、なんてこともありました。
  • サンプリング
    • 「3. Amazon Q Developer for CLIによるAWS WAFログの分析とWeb ACLの作成」セクションで紹介したトラフィック状況の分析ですが、分析当初はAmazon Q Developer for CLIの応答結果と実際のトラフィック状況に大きな差異が見られていました。
      対話を繰り返す中で、「Amazon Q Developer for CLIがサンプリングを実施したうえで応答を出力していた」ことが判明しました。
      そこで、サンプリングを実施せず、完全なデータを活用するように命令をしたところ、正しい結果が出力されました。


まとめ

Amazon Q Developer for CLIは、AWS構築のスピードを大幅に向上させるツールです。
特に、検証やPoCでは非常に有効ですが、本番環境では生成結果のレビューとベストプラクティス適用が必須です。
また、構築後のレビューや運用改善にも活用できる可能性があります。
今後は、より高度な構成やCI/CDとの連携、セキュリティ強化の自動化など、さらに実践的な活用方法を検証していきます。


執筆者

﨑野 風音(NTT西日本 ビジネス営業部所属)
M365案件の提案、設計、構築、運用に携わっています。
また、社内向けのAWS勉強会や資格取得支援施策等を実施しています。


商標 

  • 「AWS」「Amazon Q Developer」「Amazon Q Developer for CLI」「Kiro CLI」「Amazon EC2」「ALB」「AWS CloudFormation」「AWS WAF」「Amazon Kinesis Data Firehose」「Amazon S3」は、Amazon Web Services,Inc.またはその関連会社の商標もしくは登録商標です。
  • その他、記載されている会社名、製品名は、各社の登録商標または商標です。


参考資料・出典

本記事を執筆するにあたり、以下のサイトを参考にしました。

© NTT WEST, Inc.