Open10
CDKメモ
結局はCloudformationになるので、Cloudformationでどのように作成されるのか、のイメージがちゃんとできていないものの作成は難しい
Cloudformationはそもそも、利用するサービスの設定内容をある程度知っておかないといけないので、そのサービスで必須となるものが何になるのか、デフォルト値が何になるのかを把握しておく必要がある。
なので、1回とか2回だけ作成する場合は圧倒的にコンソールから作成したほうが早い
基本的に初めて触るものは
- コンソールで動作確認
- Cloudformationでどのように作成するべきか確認
- CDKに落とし込む
になると思う。
terraformの場合はある程度のサンプルがあるので、いきなり作成して、ちょっと値をいじるってことができるかど、CDKはあんまりいいサンプルがないので、自分で考える必要があるのが面倒
とはいえ、わかってしまえば、Typescript等を利用して柔軟に設定を記述できるのは魅力的
CDK importはここを参考に実行
CDKはStackごとにCloudformationが1個できるので、一つのstackがterraformで言うところの1つの環境や場合によってはtmoduleの実行単位になる(気がする)
const app = new cdk.App();
って書くからこの単位でCloudformationができると思っていたけど、実際には、cdk.Stack
を継承したクラス単位になる。
importするときにここがわからなくてはまった。
- deployも含めてStackの単位で実行するので、bin下の実行ファイルで複数のstackを作成すると、複数のCloudformationができる
- それごとにbootstrapやdeployも必要になる
- importするときに必要なのは空のStackなので、Stackの呼び出しは必要だけど、中身でimportするリソースを作成してはいけない
試しにIAMでimportを実行したところ、DeletionPolicyはDeleteの挙動をするので、対象のCloudformationを削除すると、importしたユーザーも全部消える。