Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
Search
アキキー
June 19, 2025
Programming
4
620
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
アキキー
June 19, 2025
Tweet
Share
More Decks by アキキー
See All by アキキー
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
3
180
AWS CDKの推しポイントN選
akihisaikeda
1
280
地獄絵図!CDKプロジェクトを手動更新して生まれた大量のプロパティ差分を解消する方法
akihisaikeda
5
970
AWS CDK初期設定のプラクティス集 with Projen
akihisaikeda
2
410
AI生成記事をリライトし満足度を上げようとしたら大変だった話
akihisaikeda
0
47
スモールスタートで始めるためのLambda×モノリス(Lambdalith)
akihisaikeda
2
940
Amazon Q Developer CLIと一緒に最小権限の原則を守ったIAMポリシーを作ろう!
akihisaikeda
1
770
Amazon Bedrockマルチエージェントコラボレーションを諦めてLangGraphに入門してみた
akihisaikeda
1
670
JAWS_DAYS_2025_アーキテクチャ道場発表資料_ブラックサンダーズ
akihisaikeda
0
850
Other Decks in Programming
See All in Programming
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
200
16年目のピクシブ百科事典を支える最新の技術基盤 / The Modern Tech Stack Powering Pixiv Encyclopedia in its 16th Year
ahuglajbclajep
5
1k
FOSDEM 2026: STUNMESH-go: Building P2P WireGuard Mesh Without Self-Hosted Infrastructure
tjjh89017
0
180
「ブロックテーマでは再現できない」は本当か?
inc2734
0
1k
カスタマーサクセス業務を変革したヘルススコアの実現と学び
_hummer0724
0
740
CSC307 Lecture 08
javiergs
PRO
0
670
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
並行開発のためのコードレビュー
miyukiw
0
1.2k
AI時代のキャリアプラン「技術の引力」からの脱出と「問い」へのいざない / tech-gravity
minodriven
21
7.4k
CSC307 Lecture 06
javiergs
PRO
0
690
2026年 エンジニアリング自己学習法
yumechi
0
140
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
220
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
What's in a price? How to price your products and services
michaelherold
247
13k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.4k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.2k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
950
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
200
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
66
37k
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
440
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
97
Transcript
JAWS-UG 東京 ランチタイム LT 会 #24 AWS CDK の推しポイント 〜CloudFormation
と比較してみた〜 2025.06.20(金) 池田 晃尚(@akikii__) 1
自己紹介 アキキー(池田 晃尚) ALH 株式会社(SES) AWS エンジニア AWS CDK との関わり
CDK Contribute 2 回 CDK Conference Japan 2025 当日スタッフ AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 2
AWS CDK の立ち位置 AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京
ランチタイム LT 会 #24 3
AWS リソースを作成するときの主な選択肢 CLI Management Console SDK 専⽤の設定ファイルに定義 → コマンド実⾏で作成 GUI
画⾯上で設定 → ボタンクリックで作成 コマンドで定義 → コマンド実⾏で作成 プログラムコードに定義 → プログラム実⾏で作成 IaC AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 4
AWS における IaC の選択肢 AWS Service CloudFormation CDK SAM 今回はここについて話します!
AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 5
AWS CloudFormation とは? AWS のインフラ環境の構成を JSON/YAML で管理できるサービス AWS Account CloudFormation
S3 作成 Stack ( 状態管理) CloudFormation S3 の定義 Template (JSON/YAML) デプロイコマンド実⾏ AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 6
AWS CDK とは? CloudFormation をプログラミング言語で扱えるように抽象化したサービス AWS Account CloudFormation S3 作成
Stack ( 状態管理) CDK ソースコード ( プログラミング⾔語) 抽象化 CFn Template S3 の定義 デプロイコマンド実⾏ 利用できる言語:TypeScript, JavaScript, Python, Go, Java, C#, F# AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 7
推しポイント ① プログラミングサポートによるプロパティの検査 AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京
ランチタイム LT 会 #24 8
CloudFormation でのつらみ プロパティを間違えてもデプロイする時まで気づけない Typo してる AWS CDK の推しポイント 〜CloudFormation と比較してみた〜
JAWS-UG 東京 ランチタイム LT 会 #24 9
IDE の構文エラー検出が利用できる typo してもエラーが出るのでその場で気づくことができる! ※ :AWS CDK だからこそできるポイント AWS CDK
の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 10
IDE の入力補完が利用できる 入力補完により入力間違いが少なくなる! AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京
ランチタイム LT 会 #24 11
型検査を利用できる 間違った型のプロパティを入れられない! AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム
LT 会 #24 12
推しポイント ② 高レベルに抽象化された「L2 Construct」 AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG
東京 ランチタイム LT 会 #24 13
Construct とは? リソース群を定義する単位 CloudFormation Stack L2 Construct L3 Construct ApplicationLoadBalancedFargateService
Bucket Bucket CfnBucket L1 Construct 抽象度 ⼩ ⼤ ・・・ AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 14
L1 Construct(抽象度:小) リソースのプロパティが CloudFormation のプロパティと 1:1 で対応している CloudFormation Template S3
Bucket CDK L1 Construct aws_s3.CfnBucket 1:1 で対応 AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 15
L2 Construct(抽象度:中) リソースのプロパティが扱いやすいように抽象化されている CloudFormation Template CDK L2 Construct aws_s3.Bucket S3
Bucket 抽象化 KMS Key ⾃動的に作成 AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 16
直感的にわかりやすいプロパティに抽象化されている 例:VPC の L2 Construct VPC (10.0.0.016) Subnets IGW NAT
GW Public Subnet (AZ-c) Private Subnet (AZ-a) Private Subnet (AZ-c) Public Subnet (AZ-a) ・・・ RTB CDK ソースコード(15 ⾏) CFn テンプレート (266 ⾏) AWS Cloud AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 17
関連するリソースを解釈して作成してくれる 例:Lambda 関数の L2 Construct デフォルトでは⾃動的に作成される CDK L2 Construct aws_lambda.Function
IAM Policy Lambda 関数 CloudWatch Logs Lambda 実⾏ロール CreateLogGroup CreateLogStream PutLogEvents ✅ AWS Cloud AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 18
Grant/Connections メソッドで直感的に許可設定が付与できる 例:Lambda → DynamoDB へ読み取りを許可したい CDK CloudFormation AWS Resource
IAM Policy CreateLogGroup CreateLogStream PutLogEvents ✅ Lambda 実⾏ロール GetItem DescribeTable ... ✅ DynamoDB Lambda CloudWatch Logs AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 19
推しポイント ③ リソースの状態管理をしている「Stack」を綺麗に保てる AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京
ランチタイム LT 会 #24 20
Stack とは? リソースの状態を管理している単位 CloudFormation AWS Cloud 作成・管理 Network Stack App
Stack 作成・管理 デプロイ Network Template App Template デプロイ AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 21
CloudFormation における Stack 可読性のために Stack を分割することが多い Template の中⾝ VPC Template
追加したら どこを⾒ればいいのか わからなくなっちゃう... 別途Template を作成 別途Template を作成 ALB Template vpc.yml alb.yml ecs.yml ECS Template AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 22
Stack が増えるとどうなるか 依存関係が増えデプロイが複雑になる デプロイ時間が長くなる デプロイの依存関係 CloudFormation rds.yml apigw.yml alb.yml lambda.yml
ecs.yml dynamodb.yml vpc.yml デプロイのタイムライン AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 23
自作 Construct で Stack を論理的に分割 意味のある単位に分けられるので可読性も高い! デプロイの依存関係が明確かつデプロイ時間も短縮できる! CDK Source Network
Construct ECSApp Construct LambdaApp Construct Datastore Construct main.stack (Template) デプロイの依存関係 デプロイのタイムライン main.stack AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 24
まとめ AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT
会 #24 25
推しポイントおさらい プログラミングサポートによるプロパティの検査 構文エラー検出、入力補完、型検査が利用できる 高レベルに抽象化された「L2 Construct」 高レベルの抽象化、関連するリソースの作成、許可設定が簡単 リソースの状態管理をしている「Stack」を綺麗に保てる 自作 Construct で
Stack を論理的に分割 AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 26
宣伝 AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT
会 #24 27
CDK Conference Japan 2025 (7 / 12 土) AWS CDK
の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 28
CDK Conference Japan 2025 (7 / 12 土) 14:25~14:45 メイントラック
AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT 会 #24 29
ありがとうございました! AWS CDK の推しポイント 〜CloudFormation と比較してみた〜 JAWS-UG 東京 ランチタイム LT
会 #24 30