Slide 1

Slide 1 text

CDKのコードを 書く環境を 作りました with Amazon Q CTCテクノロジー株式会社 森岡 延史

Slide 2

Slide 2 text

前置き 本日話す内容は私個人の見解や意見に 基づいたものです。 私が所属している会社や組織の公式見解を 代表するものではありません。 この資料の内容は私個人の意見であり、 所属組織とは一切関係ありません。

Slide 3

Slide 3 text

自己紹介 名前:森岡 延史(もりおか のぶひと) 所属:CTCテクノロジー株式会社 クラウドソリューション部 肩書:エキスパートエンジニア 趣味:サバイバルゲーム 好きなAWSサービス:Amazon Q

Slide 4

Slide 4 text

次のような条件でCDKのコードを書く環境を 作りましたので、その方法を紹介します。 OS :Windows11 エディタ:VS Code 拡張機能:Amazon Q 本日話す内容

Slide 5

Slide 5 text

1.いつも使っているWindows11のPCでCDKのコードを書く環境を作りたい。 2.あまり追加でアプリをインストールをしたくない。 3.既存であるVS Codeを使って書きたい。 4.Amazon Qをコード開発に利用したい。 5.他の人でも再現可能な方法で環境を作りたい。 環境を作るうえで考えたこと

Slide 6

Slide 6 text

環境の概略図 Windows11 WSL2(Ubuntu) コンテナ VS Codeで ファイル操作と コマンド実行

Slide 7

Slide 7 text

1.VS CodeにRemote Development,Dev Containersを拡張機能として インストールする。 2.Windows11にWSL2(Ubuntu)をインストールする。 3.WSL2にDockerやDocker Composeなどをインストールして、 sudo無しでdockerコマンドを使える状態とする。 4.WSL2にクラウドプロキシ用の ルート証明書をインストールする。 (オプション) 事前準備 sudo apt-get install -y ca-certificates sudo cp proxy.crt /usr/local/share/ca-certificates sudo update-ca-certificates

Slide 8

Slide 8 text

1.WSL2で作業ディレクトリを作る。 2.WSL2の作業ディレクトリで「code .」と実行する。 3.起動したVS Codeで、以下のディレクトリとファイルを作成する。 - ./.devcontainer/devcontainer.json - ./docker-compose.yml - ./Dockerfile - ./proxy.crt(クラウドプロキシ用ルート証明書(オプション)) 環境づくりの手順

Slide 9

Slide 9 text

{ "name": "ForCDKdevelopment", "service": "aws-cdk", "dockerComposeFile": "../docker-compose.yml", "workspaceFolder": "/root/", "customizations": { "vscode": { "settings": {}, "extensions": [ "amazonwebservices.amazon-q-vscode" ] } } } devcontainer.jsonの中身 Amazon Qをインストール

Slide 10

Slide 10 text

version: '3' services: aws-cdk: build: context: . dockerfile: ./Dockerfile image: aws-cdk container_name: aws-cdk tty: true environment: AWS_ACCESS_KEY_ID: ~~~~~~~~~~~~~~~ AWS_SECRET_ACCESS_KEY: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ AWS_DEFAULT_REGION: ap-northeast-1 AWS_DEFAULT_OUTPUT: json docker-compose.ymlの中身 AWSへの接続で使うアクセスキーを コンテナの環境変数として設定 参考:https://qiita.com/nasuvitz/items/ccfe780f7ef89753b74a

Slide 11

Slide 11 text

FROM python:latest COPY proxy.crt /usr/local/share/ca-certificates RUN update-ca-certificates ENV NODE_EXTRA_CA_CERTS=/etc/ssl/certs/ca-certificates.crt # install the latest nodejs & npm RUN apt update ¥ && apt install -y nodejs npm ¥ && apt clean # install the latest AWS CDK RUN npm install -g aws-cdk typescript # install the latest AWS CLI RUN pip3 install awscli --upgrade Dockerfileの中身 クラウドプロキシ用 ルート証明書 (オプション) 参考:https://qiita.com/nasuvitz/items/ccfe780f7ef89753b74a

Slide 12

Slide 12 text

1.「環境づくりの手順」で作ったWSL2の作業ディレクトリで 「code .」と実行する。 2.立ち上がったVS Codeで、devcontainer.jsonを開いた状態で Ctrl+Shift+pを押す。 3.開いたコマンドパレットで「Dev Containers: Rebuild Without Cache and Reopen in Container」を実行する。 環境の起動

Slide 13

Slide 13 text

環境の起動

Slide 14

Slide 14 text

環境の起動 必要なものが入った コンテナが起動。 VS Code経由で操作。

Slide 15

Slide 15 text

環境の起動 初回 Amazon Qが「×」に なっているので、認証して 利用可能にする。 必要に応じてOpt-out実施。

Slide 16

Slide 16 text

テスト 作業ディレクトリを作って、 sample-appを作成。

Slide 17

Slide 17 text

テスト cdk bootstrap, cdk deployで デプロイできるか確認。

Slide 18

Slide 18 text

テスト リソースがデプロイできたら cdk destroyで削除。

Slide 19

Slide 19 text

テストが終わったら 新しい作業ディレクトリを 作るなどして環境を利用。

Slide 20

Slide 20 text

終了 VS Codeを落とすと コンテナも停止する。

Slide 21

Slide 21 text

1.「環境づくりの手順」で作ったWSL2の作業ディレクトリで 「code .」と実行する。 2.立ち上がったVS Codeで、devcontainer.jsonを開いた状態で Ctrl+Shift+pを押す。 3.開いたコマンドパレットで「Dev Containers: Reopen in Container」を 実行する。 再開

Slide 22

Slide 22 text

再開

Slide 23

Slide 23 text

再開

Slide 24

Slide 24 text

ローカルのPC上でCDKのコードを書く環境を 作る方法を紹介しました。 環境の作り方はいろいろあると思いますが、 紹介した方法はコピペして試せるので、 これからCDKを触ってみようと思う方などの 参考になれば幸いです。 まとめ

Slide 25

Slide 25 text

ありがとうございました。