AWS CDKについて学んでおこうと、https://cdkworkshop.com/20-typescript.html をやった。
- CDKめっちゃいいやん今後絶対使っていきたいという感想
- CloudFormationでは、IAMのロールをドキュメントをにらめっこしながら作って、そのロールをこのLambda Functionに付与して...みたいに結構難しく思いながらやっていたのが、CDKだと直感的に書き下せてよかった
- あるLambda Function AからLambda Function Bのinvokeを許可するとかだったら、
funcB.grantInvoke(funcA);
って書くだけで、いい感じにIAM Roleとか作って付与してくれる
- あるLambda Function AからLambda Function Bのinvokeを許可するとかだったら、
- コード化されていて補完が効くため、ドキュメント見なくても出来そうなことが分かるし、定義ジャンプすると型定義にドキュメント載っている
- constructというレベルで共通化がしやすく、社内で共有したい設定を作りやすく、社外にも公開しやすい
- cdk diffやcdk deployが普通に使いやすい
とにかく良かった。CloudFormationを触ってたときはとにかくハマってたけど、それよりかはスムーズに構築が出来そう。
メモ
https://cdkworkshop.com/20-typescript/20-create-project/500-deploy.html
cdk bootstrapしないと通知に必要なS3リソースなどが作られない
cdk deployでデプロイ出来る。 cdk diffすると、deployしているものと、今の設定の差分が見れる
https://cdkworkshop.com/20-typescript/40-hit-counter/100-api.html
Constructというレベルで抽象化する
Use the hit counter :: AWS Cloud Development Kit (AWS CDK) Workshop
今ここまで。curlしてもISEが出る CloudWatchのログを確認して直していきましょうねってなってるのはめっちゃいいな。しかも2回ミスらせるのは面白い Lambda functionへのpermission付与は自分でググってコード書いて答え合わせすると勉強になる
https://cdkworkshop.com/20-typescript/50-table-viewer/500-deploy.html
cdkを使うことでモジュール化がしやすくなっているのはありがたい。CloudFormation使っているときは結構やりづらかったなと