🥷

Amazon Q DeveloperをAmazon CodeCatalyst上で安心して動かす VPC接続編

に公開

1. はじめに

ITアーキテクトを務めています松本と申します。
昨今AIエージェントを利用したコーディング手法が急激に発展・普及しております。2025年5月にはAmazon Q DeveloperのIDE拡張機能でもAgentic Codingが利用可能になりました。
Amazon Q DeveloperのAgentic CodingではAIが自律的にコーディングを行なってくれる一方、ローカルPCの中でファイルの修正が自動で行われることや、AIがコマンドを実行することに対して懸念を感じている方もいらっしゃいます。

その懸念を軽減するために、統合開発サービスであるAmazon CodeCatalystを利用することができます。Amazon CodeCatalystでリモートの開発環境に接続し、リモート上でAmazon Q Developerに実装してもらうことで、AIがローカルPC上のファイルを操作することを防ぐことができます。
また、Amazon CodeCatalystの開発環境はVPCに接続することもできます。VPCに接続できるようになると、様々なAWSサービスを利用して通信の制御を細かく行うことも可能となっております。

そこで本記事と次回の投稿する記事では、Amazon CodeCatalystの開発環境に対して通信の制限を行い、より安心してAmazon Q Developerを利用できる環境を構築します。
本記事では、まずAmazon CodeCatalystの開発環境をVPCに接続する部分をご説明します。

2. Amazon Q Developerとは?

Amazon Q Developerは、AWSが開発しているAIコードアシスタントです。VSCodeの拡張機能でも利用でき、LLMとしてClaude Sonnet 3.7とClaude Sonnet 4が利用可能です。Amazon Q Developerにはコーディングを支援する様々な機能がありますが、今回はその中でもAgentic CodingというAmazon Q Developerが自律的にソースコードを作成する機能を実行可能な状態にします。

3. Amazon CodeCatalystとは?

Amazon CodeCatalystは、AWSが提供している統合開発サービスです。GitリポジトリやCICDパイプラインなど開発に必要な機能が一通り揃っており、すぐに使い始めることができます。今回はリモートの開発環境を利用します。ローカルPCにインストールしたVSCodeからリモートの開発環境に接続し、開発を行うことができます。VSCodeの拡張機能であるAWS Toolkit for Visual Studio Codeのセッションマネージャープラグインを利用して接続しますので、ローカルPCからはWebSocketの通信が許可されている必要があります。2025年8月現在、東京リージョンではAmazon CodeCatalystは利用できないので、今回はオレゴンリージョンで構築します。

4. 前提

  • VSCodeおよびAWS Toolkit for Visual Studio CodeはローカルPCにインストール済み
  • Amazon CodeCatalystのSpace、ProjectおよびGitリポジトリは作成済み
  • Amazon CodeCatalystとVPCが存在するAWSアカウントおよびIAMロールは紐付け済み
  • VPC、Subnet、Route Table、Internet GatewayおよびNat Gatewayの構築手順は割愛
  • Security Groupは、インバウンドは通信を許可せず、アウトバウンドは全ての通信を許可

5. 構築するAWSアーキテクチャ

今回構築するAWSアーキテクチャは以下の通りになります。
Amazon CodeCatalystがVPCに接続されて、Nat Gatewayからインターネットに出ていきます。Nat GatewayからInternet Gatewayを介して、Amazon Q Developerに接続します。
開発を行う環境であるため、Nat GatewayはシングルAZ構成にしております。
また、後述するように、Amazon CodeCatalystが4AZ必須となっているので、Private Subnetは4つなっております。

6. 開発環境のVPC接続

VPC Connectionsの設定

最初にVPC Connectionsの設定を行います。ここで設定した内容で開発環境がVPCに接続されます。

  1. Amazon CodeCatalystにログインして「Settings」から「VPC Connections」を選択します。画面の右に「Add VPC Connections」というボタンがありますのでそちらをクリックします。

  2. 「Choose AWS account」の画面で開発環境と紐づけたいVPCがあるAWSアカウントとAmazon CodeCatalystに紐づけているIAMロールを選択します。このIAMロールには、ENIの作成や削除を許可するIAMポリシーが付与されて必要があります。「View permission details」をクリックすると必要な権限が表示されます。以下がクリック時表示される必要な権限になります。

VPC Connectionsの作成に必要な権限(IAMロールに付与)
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterface",
                "ec2:DescribeDhcpOptions",
                "ec2:DescribeNetworkInterfaces",
                "ec2:DeleteNetworkInterface",
                "ec2:DescribeSecurityGroups",
                "ec2:DescribeVpcs",
                "ec2:DescribeSubnets"
            ],
            "Resource": "*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateNetworkInterfacePermission"
            ],
            "Resource": "arn:aws:ec2:<region>:<account-id>:network-interface/*"
        },
        {
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags"
            ],
            "Condition": {
                "StringEquals": {
                    "ec2:CreateAction": "CreateNetworkInterface"
                },
                "ForAnyValue:StringEquals": {
                    "aws:TagKeys": "ManagedByCodeCatalyst"
                }
            },
            "Resource": "arn:aws:ec2:<region>:<account-id>:network-interface/*"
        }
    ]
}
  1. 開発環境を接続するVPC、Subnetおよびセキュリティグループを指定します。全てのAZでSubnetを指定する必要があるので、少なくても4つのSubnetを作成しておくことが必要です。

  2. 確認画面に進み、設定に問題なければ「Confirm」ボタンを押します。これでVPC Connectionsの設定が完了しました

Amazon CodeCatalystの開発環境の構築

  1. 開発環境を作成するProjectを選択した後で、サイドメニューの「Dev Environments」をクリックします。「Create Dev Environments」からローカルPCで利用するIDEを選択します。今回は「Visual Studio Code」を選択します。

  2. 開発環境の設定を行います。任意の値を入力していただけば良いです。ただし、最後の「Amazon Virtual Private Cloud (Amazon VPC)」の項目は、上記手順で作成したVPC Connectionsを選択してください。

  3. しばらくするとVSCodeが立ち上がり、セッションマネージャー経由で接続されます。

7. Amazon Q Developerの実行

Amazon Q Developerが実行できるのかを確かめます。

  1. リモートの開発環境にVSCode拡張機能をインストールして、Amazon Q Developerの認証を行います。本記事では詳細は割愛致しますが、以下のドキュメントを参考にAmazon Q Developerをインストールしてください。

https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/q-in-IDE-setup.html#setup-vscode

  1. Amazon Q Developerの画面が開くので、プロンプトを入力してみましょう。開発環境でAmazon Q Developerが利用可能であると確認できました。

8. トラブルシューティング: 開発環境が立ち上がらない

VPC Connectionsを利用して開発環境を構築しようとした時にステータスがFAILEDとなり開発環境が立ち上がらないことがあります。これは接続したSubnetからインターネットに出られないため発生しております。よって、Security GroupやRoute Tableの設定などのネットワークの設定を見直して、Nat Gateway経由でインターネットに出られるのかを確認してみてください。

9. まとめ

Amazon CodeCatalystを利用すると簡単に開発環境を構築できます。
また、開発環境でもAmazon Q Developerが利用できることが確認できました。
次回の記事では、AWS Network Firewallを用いて通信を制御しながら、
Amazon CodeCatalystとAmazon Q Developerを利用する方法を見ていきます。

デロイトトーマツグループ エンジニアリングブログ

Discussion