土曜日, 7月 5, 2025
土曜日, 7月 5, 2025
- Advertisment -
ホームニューステックニュースEC2でAmazon Q Developer CLIを触ってみよう! #AWS

EC2でAmazon Q Developer CLIを触ってみよう! #AWS



EC2でAmazon Q Developer CLIを触ってみよう! #AWS

こんにちは!
セゾンテクノロジーの青木です。

本記事は、
2025 Japan AWS Jr. Champion Qiitaリレー夏
記念すべき1日目の記事となります!

Jr. Championsによって、今後もたくさんの記事が投稿されていくと思いますので、お楽しみにしていてください。

Amazon Q Developerとは

Amazon Q DeveloperはAWSが提供するAIアシスタントツールです。

Amazon Q Developer は、生成人工知能 (AI) を活用した会話アシスタントであり、 AWS アプリケーションの理解、構築、拡張、運用に役立ちます。 AWS アーキテクチャ、 AWS リソース、ベストプラクティス、ドキュメント、サポートなどについて質問できます。
引用:https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/what-is.html

IDEにプラグインをインストールしたり、コマンドライン(CLI)にインストールすることで使用が可能です。
Amazon Q Developer for CLIを使用することにより、ターミナル環境内でも自然言語での会話、質問等をチャット形式で行うことができます。

今回やりたいこと

OSをLinuxに設定した状態でEC2を立ち上げ、その中にAmazon Q Developer CLIをインストール・セットアップし、環境内のリソース構成について読み取りをしてもらいます。
また、応用編として、権限を与えて他のAWS環境へのアクセス・システム構成の読み取りを行います。

どうしてEC2上に構築?

Amazon Q Developer CLIはmacOS および特定の Linux 環境にしかインストールすることはできません
Windows OS上で使用したい場合は、WSL等を使ってLinux環境を作り出す必要があります。
しかし、WSLは弊社都合により簡単には使用できない・・・
⇒ EC2上であればLinux環境をすぐに作り出すことができる、ということでEC2上への構築を決定しました。

構成図

Amazon Q Developer CLI 構築のためのEC2を起動するのに必要な構成は以下となります。

名称未設定ファイル.drawio (1).png

EC2インスタンスへはSyatems ManaerのSession Manager(SSM)接続を行い、Amazon Qインストールをインターネット経由で行うためNATGW・IGWを作成しています。
EC2で生成したファイル等をS3で保存します。
※本記事ではEC2インスタンス以外のリソースの設定についての詳細は省略いたします

1. インスタンスプロファイルを設定

インスタンスプロファイルとは、EC2に付けるIAMロールのことを指します。
IAMのコンソールに移動し、以下の設定でIAMロールを作成します。

  • 信頼されたエンティティを選択:AWSのサービス
  • ユースケース:EC2
  • 許可ポリシー
    • ReadOnlyAccess(絞り込み機能を「AWS管理 – ジョブ機能」に設定すると表示されます) ⇒ 今回はAmazon Q Dveloperで構成図の作成を行いたかったため、ReadOnlyをつけています。やりたいことに合わせてお好みでカスタムしてください😊
    • AmazonEC2FullAccess
    • AmazonS3FullAccess
    • AmazonSSMManagedInstanceCore ⇒ EC2へのSSM接続に必須となる権限です。

IAMロールの作成ができたら、IAMコンソールで作成したロールをクリックし、信頼関係 > 信頼ポリシーを編集 を選択します。

image.png

信頼ポリシーを以下に書き換えます。

信頼ポリシー

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "ec2.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}

2. EC2インスタンスを起動する

今回は、Amazon LinuxをOSに設定します(デフォルト)。

image.png

その他の項目もデフォルトで問題ありませんが、ストレージのみ無料枠の最大容量である30GBに設定を変更します(デフォルトは8GB)。
デフォルトの8GBではAmazon Q Developerのインストールのための容量が不足し、エラーとなってしまいますのでご注意ください。

image.png

また、VPCやサブネット、SGはIGWに繋がる設定となっているものを選択してください。
すべて設定し終わったら、インスタンスを起動します。
起動が出来たら、EC2コンソールで作成したインスタンスを選択し、アクション > セキュリティ > IAMロールを変更 でインスタンスプロファイルを設定します。
image.png

1で作成したIAMロールを設定します。

3. EC2インスタンスに接続し、Amazon Q Developer CLIをインストールする。

参考:https://docs.aws.amazon.com/ja_jp/amazonq/latest/qdeveloper-ug/command-line-installing-ssh-setup-autocomplete.html

EC2インスタンスへの接続は、EC2コンソールから行うことができます。
作成したインスタンスを選択し、「接続」ボタンを押下します。

image.png

「セッションマネージャー」タブで接続ボタンを押下し、接続します。

image.png

①EC2に接続出来たら、ターミナルが開きますので、以下を入力してtmpフォルダに移動します。

②インターネット経由でAmazon Q Developerのパッケージをダウンロードします。

EC2

curl --proto '=https' --tlsv1.2 -sSf "https://desktop-release.q.us-east-1.amazonaws.com/latest/q-x86_64-linux.zip" -o "q.zip"

③zipファイルを解凍します。

④Amazpn Qをインストールします。

このとき、
「configの設定を変更するか?(しないなら手動でやってね)」
「どうやってログインするか?」
と聞かれるので、任意の回答を行います。

image.png

上記の回答(デフォルトから変更せず回答)であれば、Builder IDでログインするためのURLが表示されるため、クリックしてBuilder IDでのログイン・認証を行います。

⑤認証が許可されたら以下を実行してパスを通します。

EC2

echo 'export PATH="$HOME/.q/bin:$PATH"' >> ~/.bashrc

⑥~/.bashrc ファイルを再読み込みして、設定を反映させます。

⑦以下を実行して、バージョンが表示されたらインストール完了です!

⑧Amazon Q Developerを起動します。

以下のような画面が出れば成功です!
これ以降はチャット形式で、自然言語を使って会話することができます。

image.png

2回目以降は、⑥と⑧だけでAmazon Q Developerを起動することができるようになります。

「このアカウントの「aoki-test」にあるリソースの一覧を出してください。これ以降は日本語で返答してください。」という適当な指示にもばっちり回答をくれます。
image.png

応用編

他アカウントにassume roleして他アカウントのリソース情報を見てみる

①ターゲットアカウントにてソースアカウント(Q Developerを実行するアカウント)からのassume roleを許可し、ReadOnly権限を付与するIAMロールを作成します。

IAMロール設定(ターゲットアカウント)

1-1. IAMロール作成画面から、AWSアカウント > 別のAWSアカウント を選択し、ソースアカウントのアカウントIDを記入

1-2. 許可ポリシーをReadOnlyAccessに設定

1-3. ロールを作成し、信頼ポリシーを以下に編集

信頼ポリシー

"{
  ""Version"": ""2012-10-17"",
  ""Statement"": [
    {
      ""Effect"": ""Allow"",
      ""Principal"": {
        ""AWS"": ""ソースアカウントのロールのARN""
      },
      ""Action"": ""sts:AssumeRole"",
      ""Condition"": {}
    }
  ]
}"

②ソースアカウントにて、ターゲットアカウントIDへのassume roleを許可するインラインポリシーを追加

インラインポリシー(ソースアカウント)

インラインポリシー

"{
  ""Version"": ""2012-10-17"",
  ""Statement"": {
    ""Effect"": ""Allow"",
    ""Action"": ""sts:AssumeRole"",
    ""Resource"": ""ターゲットのIAMのARN""
  }
}"																			

③EC2に戻り、以下を実行してasuume roleのための権限があることを確認する。

EC2

aws sts get-caller-identity

④以下を実行してprofileを追加する

profile名:任意
role_arn:ターゲットアカウントに作成したIAMロールのARN
credential_source:Ec2InstanceMetadata
画像1.png

ここまで設定してAmazon Q Developerを再度起動し、
「”(設定したprofile名)”profileを使用してアカウントID「(ターゲットアカウントID)」のサブネット「subnet-~~~~」内のリソース一覧を出力してください。これ以降は日本語で回答して下さい。」
的な指示を出すことにより、ターゲットアカウントの情報を確認して教えてくれたりします。

このように、Linux環境やmac環境の確保が難しくても、EC2でお手軽にAmazon Q Developerを試すことができますので是非試してみてください(^O^)/


以上、EC2を使ったAmazon Q Developerの起動設定と軽い使い方の解説でした。
ここまでお読みいただき、ありがとうございました!

2025 Japan AWS Jr. Champions Qiitaリレー夏では、明日も新ジュニチャンによるQiita記事が投稿されるかと思いますので、Japan AWS Jr. ChampionsのOrganizationにご注目ください!





Source link

Views: 0

RELATED ARTICLES

返事を書く

あなたのコメントを入力してください。
ここにあなたの名前を入力してください

- Advertisment -