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の推しポイントN選
Search
アキキー | Akihisa Ikeda
November 25, 2025
Programming
320
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CDKの推しポイントN選
アキキー | Akihisa Ikeda
November 25, 2025
More Decks by アキキー | Akihisa Ikeda
See All by アキキー | Akihisa Ikeda
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
78
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
2
230
AWSはOSSをどのように 考えているのか?
akihisaikeda
1
150
最初からAWS CDKで技術検証してもいいんじゃない?
akihisaikeda
4
230
責任感のあるCloudWatchアラームを設計しよう
akihisaikeda
4
240
地獄絵図!CDKプロジェクトを手動更新して生まれた大量のプロパティ差分を解消する方法
akihisaikeda
5
1.1k
AWS CDK初期設定のプラクティス集 with Projen
akihisaikeda
2
480
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
4
760
AI生成記事をリライトし満足度を上げようとしたら大変だった話
akihisaikeda
0
63
Other Decks in Programming
See All in Programming
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
550
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
440
タクシーアプリ『GO』の バックエンド開発のおける AI利活用と若者のすべて
pyama86
3
1.9k
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
180
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
200
AIエージェントの隔離技術の徹底比較
kawayu
0
470
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.3k
AIで効率化できた業務・日常
ochtum
0
110
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.7k
さぁV100、メモリをお食べ・・・
nilpe
0
130
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.2k
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
310
Featured
See All Featured
Side Projects
sachag
455
43k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
400
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
WENDY [Excerpt]
tessaabrams
11
38k
KATA
mclloyd
PRO
35
15k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
sira's awesome portfolio website redesign presentation
elsirapls
0
270
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
Transcript
UV Study : AWS LT 会 〜現場で活きる、ちょっとした工夫と発見〜 AWS CDK の推しポイント
N 選 2025.11.25(火) 池田 晃尚(@akikii__) 1
自己紹介 アキキー | 池田 晃尚 (@akikii__) Backend / SRE エンジニア
AWS CDK が推し CDK コントリビューター AWS CDK の推しポイント N 選 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 2
AWS CDK とは? AWS CDK の推しポイント N 選 - AWS
CDKとは? UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 3
AWS リソースをデプロイするときの主な選択肢 CLI Management Console SDK リソースの設定をコードで定義してデプロイ操作 AWS コンソールから画⾯操作でデプロイ CLI
からコマンド実⾏でデプロイ アプリケーションからSDK を呼び出してデプロイ IaC AWS CDK の推しポイント N 選 - AWS CDKとは? UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 4
IaC(Infrastructure as Code)とは? インフラリソースをコードで定義して管理する手法 「状態管理」を通じてデプロイ前後のリソースを比較し、変更点をデプロイする AWS CDK の推しポイント N 選
- AWS CDKとは? UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 5
AWS CDK とは? AWS のインフラリソースをプログラミング言語で定義して管理する IaC ツール CDK の対応言語:TypeScript, Python,
Go, JavaScript, Java, C#, F# AWS CDK の推しポイント N 選 - AWS CDKとは? UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 6
AWS CDK とは? 内部では CloudFormation(CFn)を利用している CDK のコードは CFn テンプレート(JSON/YAML)へ合成される 状態は
CFn のスタックを利用している AWS CDK の推しポイント N 選 - AWS CDKとは? UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 7
推しポイントの紹介 IaC 編 IDE(統合開発環境)編 AWS CDK のコアコンセプト編 AWS CDK の推しポイント
N 選 - 推しポイントの紹介 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 8
IaC 編 AWS CDK の推しポイント N 選 - IaC編 UV
Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 9
推しポイント ①: Git 管理できる テキストファイルなので Git で差分管理できる レビュワーは、変更箇所に絞って確認できる 最新の状態を確認できる AWS
CDK の推しポイント N 選 - IaC編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 10
推しポイント ②: リソースの設定を集約できる AWS コンソールからリソースの関係性を読み解くにはコツが必要 リソースの設定が Git リポジトリに集約されているので関係性の把握がしやすい AWS CDK
の推しポイント N 選 - IaC編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 11
推しポイント ③: デプロイの安全性が向上する AWS コンソールで手動デプロイすると、クリックミスや設定漏れが起きやすい IaC ではデプロイ前にレビューできるため、意図しない変更やミスを未然に防ぎや すい AWS CDK
の推しポイント N 選 - IaC編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 12
IDE(開発統合環境)編 AWS CDK の推しポイント N 選 - IDE編 UV Study
: AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 13
推しポイント ④: コード補完が効く コードの予測をしてくれる機能 コードを途中まで入力したら予測を出してくれたり、階層構造になっているプロ パティの一覧を出せたりする。 AWS CDK の推しポイント N
選 - IDE編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 14
推しポイント ⑤: ドキュメントをすぐ読める オブジェクトにマウスオーバーするとドキュメントを確認できる機能 TypeScript の場合、CDK のソースコードの JSDoc が読める AWS
CDK の推しポイント N 選 - IDE編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 15
推しポイント ⑥: 構文エラーがわかる 構文が間違っていた場合にエラーメッセージを表示する機能 型エラーや typo など、気付きづらい間違いを検出できる AWS CDK の推しポイント
N 選 - IDE編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 16
AWS CDK のコアコンセプト編 AWS CDK の推しポイント N 選 - CDKコアコンセプト編
UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 17
推しポイント ⑦: Construct 1 つ以上の AWS リソースの設定が定義されているコンポーネント リソースの抽象度によってレベル分けがされている CloudFormation Stack
L2 Construct L3 Construct ApplicationLoadBalancedFargateService Bucket Bucket CfnBucket L1 Construct 抽象度 ⼩ ⼤ ・・・ AWS CDK の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 18
推しポイント ⑦: Construct L1 Construct(抽象度:小) リソースのプロパティが CloudFormation のプロパティと 1:1 で対応している
CloudFormation Template S3 Bucket CDK L1 Construct aws_s3.CfnBucket 1:1 で対応 AWS CDK の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 19
推しポイント ⑦: Construct L2 Construct(抽象度:中) リソースのプロパティが扱いやすいように抽象化されている CDK L2 Construct aws_s3.Bucket
CloudFormation Template 対応 抽象化 S3 Bucket KMS Key ⾃動的に作成 ( 指定しない場合) AWS CDK の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 20
推しポイント ⑦: Construct L2 Construct: 直感的にわかりやすいプロパティに抽象化されている 例: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 の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 21
推しポイント ⑦: Construct L2 Construct: 関連するリソースを解釈して作成してくれる 例:Lambda 関数の L2 Construct
デフォルトでは⾃動的に作成される CDK L2 Construct aws_lambda.Function IAM Policy Lambda 関数 CloudWatch Logs Lambda 実⾏ロール CreateLogGroup CreateLogStream PutLogEvents ✅ AWS Cloud AWS CDK の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 22
推しポイント ⑦: Construct 自作 Construct L1 や L2 などの Construct
を組み合わせて自作の Construct を定義できる 自作 Construct も他の自作 Construct に組み込める AWS CDK の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 23
推しポイント ⑧: Permissions Grants で直感的に許可設定が付与できる 例:Lambda 関数 → S3 バケット
へ読み取りを許可したい IAM Policy ✅ Lambda 実⾏ロール Lambda 関数 S3 バケット GetObject* GetBucket* List* AWSLambdaBasic ExecutionRole ✅ AWS CDK の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 24
推しポイント ⑨: バリデーション L2 Construct: プロパティの値をバリデーションしている デプロイするときにエラーになる内容を検証 CFn テンプレート合成時に検証される AWS CDK
の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 25
推しポイント ⑩: Aspects Construct Tree について App をルートとするツリー構造 App...1つ以上のスタックを含む コレクション
Stack...デプロイの最小単位 Construct...L1, L2, 自作 Construct 等 AWS CDK の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 26
推しポイント ⑩: Aspects Aspects とは? Construct Tree の特定のスコー プ配下全てに操作を適用する機 能
バリデーション プロパティ更新...など 対象リソースを絞れる AWS CDK の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 27
推しポイント ⑩: Aspects ユースケース 全てのリソースにタグをつける(環境、プロジェクトなど) 開発環境のリソース全てに削除保護しない設定を適用する リソースが会社のポリシーに対応しているか検査する AWS CDK の推しポイント
N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 28
推しポイント ⑪: 単体テスト デプロイ対象のリソースが正しい値になるか検証できる スナップショットテスト Template (旧) Template (新) ⽣成
⽣成 CDK ⽐較 Test Fine-grained assertion テスト バリデーションテスト VPC Public Subnet Private Subnet Private Subnet Public Subnet 検証 Subnet の数は4 個? VPC flow log は有効? Test Stack Fargate メモリは2GB 以上 かつ16GB 以下? Test 変更差分が想定したものか検証 想定したパラメータに設定されているか検証 バリデーションの境界値検証 参考:AWS CDK における単体テストの使い所を学ぶ AWS CDK の推しポイント N 選 - CDKコアコンセプト編 UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 29
推しポイントおさらい IaC 編 ① Git 管理できる ② リソースの設定を集約できる ③ デプロイの安全性が向上する
IDE 編 ④ コード補完が効く ⑤ ドキュメントをすぐ読める ⑥ 構文エラーがわかる コアコンセプト編 ⑦ Construct ⑧ Permissions ⑨ Validation ⑩ Aspects ⑪ 単体テスト AWS CDK の推しポイント N 選 - 推しポイントおさらい UV Study : AWS LT会 〜現場で活きる、ちょっとした工夫と発見〜 30
ご清聴ありがとうございました! 31