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.8k
いまから始める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
820
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
tomoki10
1
1k
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
1
2.3k
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
2
3.6k
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
3
3.2k
AWS CDKの歴史と未来について語る会〜日本発のグローバルコントリビューション〜/jaws-days-2025-cdk-panel-discussion
tomoki10
0
140
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
760
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
520
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
590
Other Decks in Technology
See All in Technology
Generative AI Japan 第一回生成AI実践研究会「AI駆動開発の現在地──ブレイクスルーの鍵を握るのはデータ領域」
shisyu_gaku
0
330
roppongirb_20250911
igaiga
1
250
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
590
Evolución del razonamiento matemático de GPT-4.1 a GPT-5 - Data Aventura Summit 2025 & VSCode DevDays
lauchacarro
0
210
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
400
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
8.8k
S3アクセス制御の設計ポイント
tommy0124
3
210
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
200
KotlinConf 2025_イベントレポート
sony
1
140
5分でカオスエンジニアリングを分かった気になろう
pandayumi
0
260
AI時代を生き抜くエンジニアキャリアの築き方 (AI-Native 時代、エンジニアという道は 「最大の挑戦の場」となる) / Building an Engineering Career to Thrive in the Age of AI (In the AI-Native Era, the Path of Engineering Becomes the Ultimate Arena of Challenge)
jeongjaesoon
0
260
Claude Code でアプリ開発をオートパイロットにするためのTips集 Zennの場合 / Claude Code Tips in Zenn
wadayusuke
5
1.8k
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
53
8.9k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Thoughts on Productivity
jonyablonski
70
4.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Done Done
chrislema
185
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Raft: Consensus for Rubyists
vanstee
140
7.1k
Bash Introduction
62gerente
615
210k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
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ͷཪଆͰى͍ͬͯ͜Δಈ࡞Λ֬ೝ