Slide 1

Slide 1 text

第14回 雲勉LT【オンライン】 cdk import を使って既存のAWSリソースを いい感じにコードに落とし込みたい︕

Slide 2

Slide 2 text

0.講師⾃⼰紹介 2 • 本⽥ 岳⼠(ほんだ たけし) • クラウドインテグレーション事業部開発第⼆セクション第2開発グループ(⼤阪オフィス) • 40歳からエンジニア(4年⽬)、⾃社開発2社経験してアイレット • アイレット歴 半年 • スパゲッティコードに対する耐性が強み • 趣味は⼀⼈旅、変なTシャツ・パーカー、猫3匹 • 気になるAWSのサービスはAWS CDK, AWS SAM

Slide 3

Slide 3 text

アジェンダ 3 0. ⾃⼰紹介 1. どんな場合に有効なの︖ 2. cdk import やってみた 3. 感想・まとめ

Slide 4

Slide 4 text

本⽇のテーマ 4 既存のAWSリソースをIaCへ

Slide 5

Slide 5 text

1.どんな場合に有効なの︖ 5

Slide 6

Slide 6 text

1.どんな場合に有効なの︖ 6 • 既存のインフラをコード化したい • 現在稼働している環境と別の環境を作成したい • 中⾝を完全に把握できているわけではない • ドキュメントで構築の⼿順書はあったものの古くて環境と乖離がある

Slide 7

Slide 7 text

2. cdk import やってみた 7

Slide 8

Slide 8 text

2.cdk import やってみた 8 n ⼿順 • AWSリソースの作成(今回はLambdaを作成) • CloudFormationスタック作成 • cdk import • ドリフトの検出、ソースの修正

Slide 9

Slide 9 text

2.cdk import やってみた 9 n AWSリソースの作成(今回はLambdaを作成)

Slide 10

Slide 10 text

2.cdk import やってみた 10 n CloudFormationスタック作成 cdk init してそのまま cdk deploy

Slide 11

Slide 11 text

2.cdk import やってみた 11 n cdk import リソース作成の際の必須のプロパティについ ては最低限書いておく必要がある。今回は Lambdaの例でruntime, code, handlerが必 須。他の例ではS3だと何もいらない。 TSで実装したら 型エラーで教えてくれる

Slide 12

Slide 12 text

2.cdk import やってみた 12 n cdk import 途中Lambdaのロール名と関数名を⼊⼒するように求められた 完了するとドリフトの検出で確認するように勧められている

Slide 13

Slide 13 text

2.cdk import やってみた 13 n ドリフトの検出、ソースの修正 ドリフトの検出 ↓ ドリフトステータスの確認 ↓ ドリフト結果を表⽰

Slide 14

Slide 14 text

2.cdk import やってみた 14 n ドリフトの検出、ソースの修正 CDKでデフォルトで設定されるものと コンソールで作成した時に⽣成されるものに差分がある

Slide 15

Slide 15 text

2.cdk import やってみた 15 n ドリフトの検出、ソースの修正 この差分を埋める修正は⼿作業

Slide 16

Slide 16 text

2.cdk import やってみた 16 n ドリフトの検出、ソースの修正 CDKのソースで特に記述していないものについてはDefaultの値がセットされて いるので、実際のリソースとの差分が⽣まれるとコードで追記する必要がある

Slide 17

Slide 17 text

3. 感想・まとめ 17

Slide 18

Slide 18 text

3.感想・まとめ 18 n 楽ではない • cdk importするための準備が必要になることもある(リソース作成に必須の項 ⽬に関してはコンソールの値と同じものを記述しておくなど) • 結局CDKでのソースと既存のAWSリソースの設定との差分を表⽰するところ以 降は現状ソリューションがないので、cdk importした後差分を⼿動で埋める地 道な作業が発⽣する • コンソールでぽちぽちした後コードに落としてよしなにしてくれる、といった 使い⽅は期待できなさそう • 既存のリソースから設定を拾うには良さそう