はじめに
AWS をソースコードで管理するのに CDK があると知ったためまとめました。
学習では公式チュートリアルを実際に動かしてみるのをオススメします。
https://catalog.workshops.aws/typescript-and-cdk-for-beginner/ja-JP/40-cdk-introduction/10-create-project/10-cdk-init
CDK を使うとコマンドを叩くだけで AWS のリソースをすぐ作れるため
同じリソースをミスなくすぐに作れます。
コマンド
- テンプレートファイル作成
init コマンドを使うとテンプレートコマンドが作成されます。
cdk init sample-app --language=typescript
sample-app のところは下記 3 パターンのオプションがあります。
app (デフォルト):新しい CDK アプリケーションを作成
sample-app:サンプルコード付きの CDK アプリケーションを作成
lib:CDK コンストラクトライブラリの開発用プロジェクトを作成
実行すると下記ファイルが生成されます。
tree -I "node_modules/"
cdk_workshop/
|-- bin
| |-- cdk_workshop.ts
|-- lib
| |-- cdk_workshop-stack.ts
|-- test
| |-- cdk_workshop.test.ts
|-- node_modules/
|-- README.md
|-- cdk.json
|-- jest.config.js
|-- package-lock.json
|-- package.json
|-- tsconfig.json
|-- .npmignore
|-- .gitignore
bin/cdk_workshop.ts
lib/cdk_workshop-stack.ts
test/cdk_workshop.test.ts
の cdk_workshop の部分はディレクトリと同じ名前になります。
- CloudFormation のテンプレート確認
CDK では ソースコードから CloudFormation が作成されます。synth コマンドでどのような CloudFormation のテンプレートが出力されるか確認できます。
cdk synth
- 初めてデプロイするとき
デプロイをする前に実行します。
cdk bootstrap
一度、実行したら二回目以降は実行不要です。
- 差分確認
cdk diff
- デプロイ
cdk deploy
リソースを作成されるため料金が発生する可能性があります
deploy をするときは diff コマンドで内容を確認してから実行しましょう。
- リソースの削除
リソースの作りっぱなしは料金が発生するので
今後、使用する予定がない場合は必ず削除コマンドを実行しましょう!
cdk destroy
参考
- チュートリアル
- ドキュメント
- 実際のチュートリアルの様子