Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
いまから始めるAWS CDK 〜モダンなインフラ構築入門〜/iac-night-cdk-int...
Search
tomoki10
March 13, 2025
Technology
9
3k
いまから始めるAWS CDK 〜モダンなインフラ構築入門〜/iac-night-cdk-introduction
「JAWS-UG東京 IaC Night 〜入門から上級まで!AWSをコードで構築しよう〜」で発表した内容です
https://jawsug.connpass.com/event/344954/
tomoki10
March 13, 2025
Tweet
Share
More Decks by tomoki10
See All by tomoki10
CDK Vibe Coding Fes
tomoki10
1
900
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
tomoki10
1
1.2k
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
1
3k
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
2
4.1k
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
3
3.6k
AWS CDKの歴史と未来について語る会〜日本発のグローバルコントリビューション〜/jaws-days-2025-cdk-panel-discussion
tomoki10
0
180
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
850
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
570
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
630
Other Decks in Technology
See All in Technology
段階的に進める、 挫折しない自宅サーバ入門
yu_kod
5
2.2k
Product Engineer
resilire
0
130
私のRails開発環境
yahonda
0
180
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
9.9k
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
37k
プロダクトマネジメントの分業が生む「デリバリーの渋滞」を解消するTPMの越境
recruitengineers
PRO
3
430
freeeにおけるファンクションを超えた一気通貫でのAI活用
jaxx2104
3
600
HIG学習用スライド
yuukiw00w
0
110
20251127 BigQueryリモート関数で作る、お手軽AIバッチ実行環境
daimatz
0
430
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
280
Docker, Infraestructuras seguras y Hardening
josejuansanchez
0
150
Featured
See All Featured
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Scaling GitHub
holman
464
140k
What's in a price? How to price your products and services
michaelherold
246
12k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
A designer walks into a library…
pauljervisheath
210
24k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Statistics for Hackers
jakevdp
799
230k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Cult of Friendly URLs
andyhume
79
6.7k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Transcript
͍·͔Β࢝ΊΔAWS CDK ʙϞμϯͳΠϯϑϥߏஙೖʙ ϏδωεςΫϊϩδʔ෦ 2025/03/13 ࠤ౻ஐथ
2 ࣗݾհ • 2020 Ϋϥεϝιουೖࣾ AWS CDK ར༻։࢝ɹ • 2021
AWS DevDayͰCDKӡ༻ϊϋհ • 2022 CDKࢧ෦্ཱͪ͛ • 2023 AWS CDK Conference Japan ։࠵ • 2024 AWS CDK Conference Japan ։࠵ • 2025 • CDKࢧ෦ ఆظΠϕϯτ։࠵ 20ճ(༧ఆ) • AWS CDK Conference Japan։࠵(༧ఆ) • ෦ॺ ◦ ϏδωεςΫϊϩδʔ෦ • ໊લʢχοΫωʔϜʣ ◦ ࠤ౻ஐथ ʢtmk2154/tomoki10ʣ
࣍ ⚫ ࣗݾհ ⚫ AWS CDKΛ͓͢͢Ί͢Δഎܠ ⚫ AWS CDKͱԿ͔ʁ ⚫
CDKͷ࣮ྫ ⚫ CDKͷར ⚫ AWS CDKͷ֓೦ͱ۩ମతͳಈ͖ 3 AWS Cloud Development Kit (AWS CDK)
ొஃͷલʹ AWS CDKͷೖతͳ༰ʹཹΊ͍ͯ·͢ɻ͠ൃలతͳ༰͕ฉ͖͍ͨ߹ ҎԼͷಈըࢿྉΛݟ͍ͯͩ͘͞ 4 https://pages.awscloud.com/rs/112-TZM-766/images/AWS-Black-Belt_2023_AWS-CDK-Basic-2-Features_0831_v1.pdf
ϞμϯͬͯԿͩΑʁ 5
ϞμϯͬͯԿͩΑʁ →ݱతͰ͋Δ͜ͱɻࠓ෩Ͱ͠ΌΕ͍ͯΔ͜ͱɻ ʢσδλϧେࣙઘΑΓʣ 6
7 ࣗݾհ • 2016~2020 SIer ࡏ੶ • 2020 Ϋϥεϝιουೖࣾ AWS
CDK ར༻։࢝ɹ • 2021 AWS DevDayͰCDKӡ༻ϊϋհ • 2022 CDKࢧ෦্ཱͪ͛ • 2023 AWS CDK Conference Japan ։࠵ • 2024 AWS CDK Conference Japan ։࠵ • 2025 • CDKࢧ෦ ఆظΠϕϯτ։࠵ 20ճ(༧ఆ) • AWS CDK Conference Japan։࠵(༧ఆ) • ෦ॺ ◦ ϏδωεςΫϊϩδʔ෦ • ໊લʢχοΫωʔϜʣ ◦ ࠤ౻ஐथ ʢtmk2154/tomoki10ʣ
։ൃऀ ΠϯϑϥมߋͷྲྀΕ 8 ΤϯλʔϓϥΠζͳݱͷ߹ AWS CDKΛϑϧ׆༻Ͱ͖Δ߹ ϝʔϧ Πϯϑϥ୲ऀ ސ٬୲ऀ खॱॻ࡞
Πϯϑϥ୲ऀ ঝೝ ϨϏϡʔ ࣮ߦ ։ൃऀ ։ൃऀ มߋ PR࡞ ϨϏϡʔ ґཔ ϨϏϡʔ ྃ ϨϏϡʔ ґཔ ސ٬୲ऀ CD͔ΒσϓϩΠ ঝೝ
։ൃऀ ΠϯϑϥมߋͷྲྀΕ 9 ΤϯλʔϓϥΠζͳݱͷ߹ AWS CDKΛϑϧ׆༻Ͱ͖Δ߹ ϝʔϧ Πϯϑϥ୲ऀ ސ٬୲ऀ खॱॻ࡞
Πϯϑϥ୲ऀ ঝೝ ϨϏϡʔ ࣮ߦ ։ൃऀ ։ൃऀ มߋ PR࡞ ϨϏϡʔ ґཔ ϨϏϡʔ ྃ ϨϏϡʔ ґཔ ސ٬୲ऀ CD͔ΒσϓϩΠ ঝೝ ͜͜ͷੈքΛઌʹΔʂ
AWS CDKͱ ϓϩάϥϛϯάݴޠͰAWSΠϯϑϥΛߏஙͰ͖Δ πʔϧ/αʔϏε • ΠϯϑϥߏΛTypeScript/JavaScript, Python, Java, C#, GoͰهड़
• AWSϦιʔεҰ෦SaaSΛίʔυͰهड़ ͠ཧ • LambdaECSσϓϩΠ͢ΔΞϓϦίʔυ ·ͱΊͯཧσϓϩΠՄೳ • Open Source SoftwareͳͷͰ࣮ͷৄࡉ ιʔεϨϕϧͰ֬ೝՄೳ 10 https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/home.html
CDKͷछྨ CfnςϯϓϨʔτͳͲ Λੜ͠ΫϥυΠϯ ϑϥڥΛίʔυཧ AWSϦιʔεҰ෦ SaaSΛநԽͯ͠ ཧ TerraformςϯϓϨʔ τΛੜ͠ɺΫϥυ ΠϯϑϥڥΛίʔυ
ཧ AWSଞCSPɺSaaS ΛநԽͯ͠ཧ k8sϚχϡϑΣετΛ ੜ͠ɺk8sڥΛख ଓ͖ܕͷॻ͖ํͰཧ k8sΛίʔυͰཧ 11 "84$%, ↑ࠓ͜͜ͷʂ
AWS CDKͷίʔυྫ 12 ίʔυྫ ࡞͞ΕΔϦιʔεʢҰ෦ʣ
AWS CDKΛଞIaCͱൺͨ߹ͷར/ܽ 13 • ར • YAMLJSONɺDSLͰͳ͘ϓϩάϥϛϯάݴޠͰΠϯϑϥΛఆٛͰ͖ΔͨΊϓϩάϥ Ϛʔʹͱֶͬͯशίετ͕͍ • ܕ҆શੑʹΑΔίʔυิʹΑͬͯࣄલݕূ͕༰қ
• ੜAI࣌Ͱ੩తܕ͚ʹΑΔܕ҆શੑνΣοΫͱͯ͠༗ޮ • ΞϓϦͷίʔυΠϯϑϥͱ·ͱΊͯཧ/ςετ/σϓϩΠՄೳ • ܽ • ࠔͬͨࡍʹֶश͖͢༰͕ൺֱతଟ͍ɺෳࡶԽ͍͢͠ͳͲ
AWS CDKͷ֓೦ਤ 14 https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/home.html • App • ΞϓϦέʔγϣϯͷ୯Ґ • σϓϩΠͷΤϯτϦʔϙΠϯτ
• Stack(s) • CloudFormationͷStack୯Ґ • σϓϩΠ୯Ґͷ࠷খ • Construct • AWSϦιʔεΛ࣮͢Δ୯Ґ • ެࣜ/ಠࣗͰ֦ுɺෳϦιʔεཧՄೳ
AWS CDKͷApp/Stack෦ 15 https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/home.html App Stack
AWS CDKͷApp෦ 16 Iac-night-demo.ts App Stack
AWS CDKͷStack/Construct෦ 17 Iac-night-demo-stack.ts Stack Construct
Constructͷछྨ 18 Amazon SQS Amazon SQS L1 Construct … CloudFormationͷύϥϝʔλͱ1:1Ͱੜ
L2 Construct … L1ΛநԽͯ͠ར༻࣮͘͢͠ L3 Construct … L2Λ͞Βʹ֦ு࣮ͨ͠ͷ ɹˢSQSͱAPIGatewayΛΈ߹ΘͤͯੜͰ͖Δྫ
AWS CDKͷCloud Assembly෦ 19 https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/home.html
AWS CDKͷCloud Assembly෦ 20 IacNightDemoStack.template.json https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/home.html
ʢ͓·͚ʣCloud Assemblyͷগ͠հ 21 • {Stack໊}.template.json • CDK͕ੜͨ͠CloudFormationςϯϓϨʔτ • {Stack໊}.assets.json •
LambdaͷίʔυͳͲΞηοτͷσϓϩΠઌɺύοέʔδϯάํ๏ͳͲͷఆٛ • manifest.json • ֤ελοΫΛσϓϩΠ͢Δࡍͷϩʔϧ࠷ݶඞཁͳBootstrapόʔδϣϯͳͲΛཧ • tree.json • Construct TreeͷߏΛJSONͰग़ྗͨ͠ϑΝΠϧʢStack→Construct→ࢠConstruct…ʣ
AWS CDKͷϢʔβ͔Βݟͨಈ͖ 22 Client CI/CD Env Source code AWS CloudFormation
AWS account OR AWS CDK AWS Lambda Amazon API Gateway Stack (Resource State) Generate $ npx cdk deploy
AWS CDKͷཪଆͷجຊతͳಈ͖ 23 Client CI/CD Env Source code OR AWS
CDK Cfn Template 1.Synthesize Assets IacNightDemoStack.template.json
AWS CDKͷཪଆͷجຊతͳಈ͖ 24 Client CI/CD Env Source code OR AWS
CDK Cfn Template 1.Synthesize Assets AWS account S3 Bucket 2.Upload
AWS CDKͷཪଆͷجຊతͳಈ͖ 25 Client CI/CD Env Source code OR AWS
CDK Cfn Template 1.Synthesize Assets AWS CloudFormation AWS account S3 Bucket 2.Upload 3.Deploy
AWS CDKͷཪଆͷجຊతͳಈ͖ 26 Client CI/CD Env Source code OR AWS
CDK Cfn Template 1.Synthesize Assets AWS CloudFormation AWS account Cfn Template S3 Bucket 3.Deploy 4.Pull 2.Upload
AWS CDKͷཪଆͷجຊతͳಈ͖ 27 Client CI/CD Env Source code OR AWS
CDK Cfn Template 1.Synthesize Assets AWS CloudFormation AWS account Stack (Resource State) Cfn Template S3 Bucket 3.Deploy 5.Generate 4.Pull 2.Upload
AWS CDKͷཪଆͷجຊతͳಈ͖ 28 Client CI/CD Env Source code OR AWS
CDK Cfn Template 1.Synthesize Assets AWS CloudFormation AWS account Stack (Resource State) Cfn Template S3 Bucket 3.Deploy 5.Generate AWS Lambda Amazon API Gateway 6.API Call 4.Pull 2.Upload
AWS CDKͷϢʔβ͔Βݟͨಈ͖ 29 Client CI/CD Env Source code AWS CloudFormation
AWS account OR AWS CDK AWS Lambda Amazon API Gateway Stack (Resource State) Generate $ npx cdk deploy
AWS CDKʹڵຯ͕ग़͖ͯͨํ 30 https://jawsug-cdk.connpass.com/ ͥͻJAWS-UG CDKࢧ෦ʹࢀՃΛʂ࣍ճ4/1༧ఆʂ
AWS CDKʹڵຯ͕ग़͖ͯͨํ̎ 31 ٕज़ॻయ18(6/1)ͰCDKͷຊग़͢༧ఆͰ͢ʂݱࡏࣥචத📝 CDKͷॳڃऀ͕ܧଓ։ൃ/ӡ༻Ͱ͖ΔΑ͏ʹͳΔ·ͰͷεςοϓΛ·ͱΊ·͢ʂ @tmk2154
·ͱΊ 32 • AWS CDKͷརʹֶ͍ͭͯश • ੩తܕʹΑ࣮ͬͯݕ͕ࠪ༰қͰ͍͍͢ • AWS CDKͷσϓϩΠͷྲྀΕΛΔ
• App/Stack/Constructͱ͍͏جຊతͳAWS CDKͷߏΛհ • cdk deployͷཪଆͰى͍ͬͯ͜Δಈ࡞Λ֬ೝ