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 〜モダンなインフラ構築入門〜/iac-night-cdk-int...
Search
tomoki10
March 13, 2025
Technology
9
2.9k
いまから始める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
840
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
tomoki10
1
1.1k
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
1
2.5k
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
2
3.8k
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
3
3.3k
AWS CDKの歴史と未来について語る会〜日本発のグローバルコントリビューション〜/jaws-days-2025-cdk-panel-discussion
tomoki10
0
150
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
790
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
540
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
600
Other Decks in Technology
See All in Technology
リセラー企業のテクサポ担当が考える、生成 AI 時代のトラブルシュート 2025
kazzpapa3
1
160
[Keynote] What do you need to know about DevEx in 2025
salaboy
0
160
LLMアプリの地上戦開発計画と運用実践 / 2025.10.15 GPU UNITE 2025
smiyawaki0820
1
460
速習AGENTS.md:5分で精度を上げる "3ブロック" テンプレ
ismk
6
1.1k
新規事業におけるGORM+SQLx併用アーキテクチャ
hacomono
PRO
0
210
from Sakichi Toyoda to Agile
kawaguti
PRO
1
120
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
4
370
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
3.3k
ガバメントクラウド(AWS)へのデータ移行戦略の立て方【虎の巻】 / 20251011 Mitsutosi Matsuo
shift_evolve
PRO
2
190
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
240
"プロポーザルってなんか怖そう"という境界を超えてみた@TSUDOI by giftee Tech #1
shilo113
0
180
大規模サーバーレスAPIの堅牢性・信頼性設計 〜AWSのベストプラクティスから始まる現実的制約との向き合い方〜
maimyyym
9
4.4k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
139
7.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
GitHub's CSS Performance
jonrohan
1032
470k
Thoughts on Productivity
jonyablonski
70
4.9k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Gamification - CAS2011
davidbonilla
81
5.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
Designing for humans not robots
tammielis
254
26k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Side Projects
sachag
455
43k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
What's in a price? How to price your products and services
michaelherold
246
12k
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ͷཪଆͰى͍ͬͯ͜Δಈ࡞Λ֬ೝ