AWS CDK
とりあえずドキュメント: https://docs.aws.amazon.com/cdk/latest/guide/home.html
API リファレンスは: https://docs.aws.amazon.com/cdk/api/latest/typescript/api/index.html
TypeScript で
基本的に TypeScript が first support なので、それに従っておくのが無難
https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-typescript.html
npm install -g aws-cdk で入る
プロジェクトの初期化は cdk init TEMPLATE --language typescript で
この処理は Git の初期化も含むので、リポジトリごとにメールアドレスや名前を設定している場合は、先に git init しておくほうが無難そう
先にディレクトリを作り、npm add aws-cdk などとした後に ./node_mobules/.bin/cdk で初期化することはできない
cdk init コマンドは空のディレクトリにしか使えないため
そもそも公式に案内されている手順ではグローバルに cdk をインストールしているので、変にレールから外れないほうが楽そう
チュートリアル
https://docs.aws.amazon.com/cdk/latest/guide/hello_world.html
cdk synth の前に npm run build などして、自分でビルドしておく必要がありそう
cdk synth で勝手にやってほしいが
https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-typescript.html によると勝手にやってくれそうに読めるけれど...?
import の規約は https://docs.aws.amazon.com/cdk/latest/guide/work-with-cdk-typescript.html に従っておくのが無難そう
TagManager を使えば、CFn stack そのものと、それに属するリソースにタグをふることができるらしい。
Environments を使うことで、デプロイ先のアカウントやリージョンを明示的に指定するのがベストプラクティス
Lambda function のローカルでのテストは SAM CLI を使うらしい: https://docs.aws.amazon.com/cdk/latest/guide/sam.html
CDK の aws-s3-notifications が勝手に Lambda function を作ってしまう問題
クロススタックでリソースを参照するときの例: https://stackoverflow.com/questions/52922936/how-to-import-security-group-from-another-stack-using-aws-cdk/57586393#57586393
AWS