$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

AWS CDKのTHE TYPESCRIPT WORKSHOPをやった

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とか作って付与してくれる
  • コード化されていて補完が効くため、ドキュメント見なくても出来そうなことが分かるし、定義ジャンプすると型定義にドキュメント載っている
  • 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使っているときは結構やりづらかったなと