【VS Code】Amazon Q DeveloperにAWS環境へSSOログイン&構成図作成をやってもらってみた

閲覧ありがとうございます。
昔からある環境や属人的に作られた環境って、「環境はできてるけど構成図がない」こと、あると思います。
本記事では、VSコードを使ってAmazonQ Developerをインストール・SSOログインで接続・環境内リソースを読み取ってdraw.ioで構成図の作成をしてもらうまでの方法を共有します。
Amazon Q Developerについて：https://aws.amazon.com/jp/q/developer/

:::note warn
環境について
VS Codeのターミナル(cmd)を使用しています。
OSはWIndowsです。
AWS CLIはインストール済みの前提ですので、事前にインストールをお願い致します。
:::

## 構成図作成までの流れ
①Visual Studio Code(以下:VS Code)に拡張機能「AWS Toolkit」をインストール
②VS Codeに拡張機能「Amazon Q」をインストール
③SSOログインを行うprofileを作成
④設定したプロファイルを使ってAWS環境に接続
④Amazon Q Developerに接続した環境内の構成図の作成をお願いする

### ①VS Codeに拡張機能「AWS Toolkit」をインストール
VS Codeを起動したら、画面左のバーから「拡張機能」アイコンをクリックします
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/3248f863-b594-4f0d-a2ea-e08e5f43c0a9.png)

拡張機能検索で、「AWS Toolkit」をインストールします(未インストールだと青いボタンが「インストール」になっていると思いますので押下してください)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/a6c665f1-ee43-4401-9594-bb2347e41351.png)

### ②VS Codeに拡張機能「Amazon Q」をインストール
①と同様に、「Amazon Q」をインストールします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/76677486-fc5e-4ff4-875a-e83016592fe3.png)

### ③SSOログインを行うprofileを作成
左のバーにあるAWSアイコンを開き、「Connected with Profile:」欄の詳細ボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/522450d6-2da0-47db-a9bd-34c1e97b023d.png)

以下のような画面が開くので、「Workforce」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/583f0a7d-b296-48f3-9401-fb3937db9d2a.png)

Start URLとリージョンを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/223ba414-2ba8-4e8b-a291-2c662e1f7936.png)

:::note info
Start URLとは？
SSOユーザでログインする際のアクセスポータルのURL(~startまで)です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/64308ed2-2cb9-4ab4-8e90-80bc75b6451d.png)
:::

注意書きのポップアップが出てくるので、「開く」を選択します。
ブラウザで次の画面が出れば成功です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/b5c82374-e675-49a8-8085-b2326f33256e.png)

VS Codeに戻り、ターミナルを開きます。
下記コマンドを実行します。
```
aws configure sso
```
下記の4項目を入力するよう求められるので、
* SSO session name (Recommended): 任意のセッション名
* SSO start URL [None]:start URL(/startまで)
* SSO region [None]: ap-northeast-1(SSOユーザが作成されているリージョン)
* SSO registration scopes [sso:account:access]: sso:account:access(固定)
これらを順番に入力してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/4a1f53f4-d393-4ba2-8c39-500587c9c118.png)

ブラウザで下記が面が開かれるので、「アクセスを許可」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/09242f82-56d1-4ad3-8c52-fad0f86821cd.png)

VS Codeに戻り、アカウントとロールを選択するように求められるので、お目当てのアカウントとログインに使用するロールを選択します。

次に、CLIの設定をするよう求められるので、以下のように入力します。
* CLI default client Region [us-east-1]: ap-northeast-1(SSOログインに使用したリージョンと同じ)
* CLI default output format [json]: json
* CLI profile name [ロール名-アカウントID]: 任意のプロファイル名を付ける
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/f0724c1c-e36e-43e1-bfd4-dcefbda8e8c6.png)

以下の表示が出たら設定完了です！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/6a415773-ef01-4898-b826-57b09fe5314a.png)

以下コマンドでSSOログインします。
```
aws sso login --profile 設定したprofile名
set AWS_PROFILE=設定したprofile名
```
:::note warn
set AWS_PROFILE=設定したprofile名 コマンドについて
実施
:::

### ④設定したプロファイルを使ってAWS環境に接続
Connected with IAM Identity Center欄をクリックすると、Swith Connectionというタブが開くので、作ほど設定した名前のprofileをダブルクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/84cf1c8e-ee5f-4b99-8cc9-e9e0ba37b7ab.png)

ダブルクリックすると、設定したprofileのアイコンが×から鍵に代わると思いますので、鍵アイコンに変わったprofileをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/db795bba-005a-443f-8dfd-bb1f442aace2.png)

ここまでできたら、左のバーからAmazonQのアイコンをクリックし、AWS Builder IDとの連携を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/668a73da-bdc1-4dc9-92f9-c70f92e778b0.png)

連携ができたら、以下の画面になると思います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/b42c13e7-9e1d-415b-894d-4c34d85e9cc8.png)

④Amazon Q Developerに接続した環境内の構成図の作成をお願いする
まずは、きちんとお目当てのAWSアカウントと接続できているかを確認します。
「今どの環境と接続されているか」を聞いてみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/432bd6de-3df6-4ef3-817d-930b29933deb.png)
先ほど設定した内容が返ってくればOKです！

それではやっと本題へ。
「アカウント内の「aoki-test」というVPCとその中身について、draw.ioの構成図を作成してください」と依頼してみます。

コマンドの実行について送ってくれるので、確認して「Run」を押下します。

何回か繰り返すと・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/b77c4e36-a747-4541-adef-360d818bcc47.png)

draw.io形式で作成してくれました！

作成してもらった構成図をクリックし、保存します。
draw.ioで開いてみると・・・

![aoki-test-vpc-diagram.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3867349/ce4d734b-34c1-4bb4-b613-73d45747159d.png)

ちゃんと作ってくれています(^-^)
（テスト用なのでEC2立てただけですみません）

------

今回の記事はここまでとなります。


閲覧ありがとうございました<(_ _)>