Slide 1

Slide 1 text

cdk migrate触ってみた 2023/10/30 Akira Sato

Slide 2

Slide 2 text

⾃⼰紹介 • 佐藤 亨(Sato Akira) • @akirarara16 • デロイトトーマツウェブサービス • JAWS SAPPOROの運営してます • StepFunctions、CloudFormation 失効 中

Slide 3

Slide 3 text

アジェンダ AWS CDK/CloudFormationについて cdk migrateで何が出来るのか やってみた まとめ

Slide 4

Slide 4 text

AWS CDK/AWS CloudFormationについて • AWSリソースをプログラミング⾔ 語で定義し、AWS CloudFormation を通じてプロビジョニングするた めのフレームワーク • TypeScript、JavaScript、Python、 Java、C#、Goをサポートしている • IDEやエディター内でのコード補完 を利⽤しながら書ける 参考︓What is the AWS CDK? AWS CDK AWS CloudFormation • AWSリソースのモデル化と設定を ⽀援するサービス • JSON/YAML 形式のテキストファイ ルでテンプレートを作成する • 記載内容を元に内部的にAPIを実⾏ してリソースを作成する • スタックという単位でリソースを 管理できる 参考︓What is AWS CloudFormation?

Slide 5

Slide 5 text

アジェンダ AWS CDK/CloudFormationについて cdk migrateで何が出来るのか やってみた まとめ

Slide 6

Slide 6 text

cdk migrateとは 注意事項 ・あくまで実験的(experimental)な機能で あるため、⼤きく変わる可能性がある

Slide 7

Slide 7 text

結局、cdk migrate で何が出来るの︖

Slide 8

Slide 8 text

CloudFormationからCDKを⽣成 • オプション(--from-path /--from-stack )に応じてローカル/デプロイ済みの CloudFormationからCDKを作成することができる • CDK でサポートされているすべての⾔語がサポートされていて、 ⾔語の選択は --language で指定できる • CloudFormationスタックがデプロイ済みの場合、CDKを使うように移⾏す ることが可能 → やってみる 参考︓https://github.com/aws/aws-cdk/pull/27325 機能抜粋

Slide 9

Slide 9 text

アジェンダ AWS CDK/CloudFormationについて cdk migrateで何が出来るのか やってみた まとめ

Slide 10

Slide 10 text

今回の構成図 • 簡単のため以下のようなシンプルネットワークを作成

Slide 11

Slide 11 text

テンプレート(1/2)

Slide 12

Slide 12 text

テンプレート(2/2)

Slide 13

Slide 13 text

パラメータ設定

Slide 14

Slide 14 text

確認

Slide 15

Slide 15 text

コマンド実⾏

Slide 16

Slide 16 text

作成されたCDKの確認 注意事項 ・設定したパラメータの値は反映されていないので このまま cdk deploy するとリソースに思わぬ変更が 発⽣するおそれあり (あくまでテンプレートからの作成) パラメータに指定した 部分が再現されている

Slide 17

Slide 17 text

パラメータを設定してみる(変更前)

Slide 18

Slide 18 text

パラメータを設定してみる(変更後) リソースタグが更新されるように値を変更

Slide 19

Slide 19 text

作成されたCDKの確認

Slide 20

Slide 20 text

作成されたCDKの確認 反映されていることを確認

Slide 21

Slide 21 text

制限事項 • ネストされたスタック、カスタムリソース、Fn::ForEach 組み込み関数をサ ポートしていない • L1 コンストラクトのみを⽣成し、より⾼度な抽象化には対応していない • CDKの⽣成に成功しても、そのアプリケーションがすぐにデプロイ可能で あることを保証するものではない • ⽣成されたCDKをデプロイする前にパラメータを提供する必要がある 参考︓https://github.com/aws/aws-cdk/pull/27325 https://speakerdeck.com

Slide 22

Slide 22 text

やった内容について • 本⽇の内容はブログにも書いてますのでよろしければご確認ください ブログ︓https://blog.mmmcorp.co.jp DWS ブログ

Slide 23

Slide 23 text

アジェンダ AWS CDK/CloudFormationについて cdk migrateで何が出来るのか やってみた まとめ

Slide 24

Slide 24 text

まとめ 正式リリース お待ちしてます