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
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-...
Search
tomoki10
July 12, 2025
Technology
0
210
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
AWS CDK Conference Japan 2025の登壇資料です。
https://jawsug-cdk.connpass.com/event/356357/
tomoki10
July 12, 2025
Tweet
Share
More Decks by tomoki10
See All by tomoki10
CDK Vibe Coding Fes
tomoki10
0
300
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
0
1.5k
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
1
3k
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
3
2.6k
AWS CDKの歴史と未来について語る会〜日本発のグローバルコントリビューション〜/jaws-days-2025-cdk-panel-discussion
tomoki10
0
120
いまから始めるAWS CDK 〜モダンなインフラ構築入門〜/iac-night-cdk-introduction
tomoki10
9
2.7k
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
640
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
460
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
550
Other Decks in Technology
See All in Technology
Lufthansa ®️ USA Contact Numbers: Complete 2025 Support Guide
lufthanahelpsupport
0
220
Enhancing SaaS Product Reliability and Release Velocity through Optimized Testing Approach
ropqa
1
240
第4回Snowflake 金融ユーザー会 Snowflake summit recap
tamaoki
1
300
いつの間にか入れ替わってる!?新しいAWS Security Hubとは?
cmusudakeisuke
0
140
PO初心者が考えた ”POらしさ”
nb_rady
0
220
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
4
380
SREのためのeBPF活用ステップアップガイド
egmc
1
250
マネジメントって難しい、けどおもしろい / Management is tough, but fun! #em_findy
ar_tama
7
1.2k
[ JAWS-UG千葉支部 x 彩の国埼玉支部 ]ムダ遣い卒業!FinOpsで始めるAWSコスト最適化の第一歩
sh_fk2
2
140
Getting to Know Your Legacy (System) with AI-Driven Software Archeology (WeAreDevelopers World Congress 2025)
feststelltaste
1
160
面倒な作業はAIにおまかせ。Flutter開発をスマートに効率化
ruideengineer
0
400
AWS CDKの仕組み / how-aws-cdk-works
gotok365
8
380
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Writing Fast Ruby
sferik
628
62k
RailsConf 2023
tenderlove
30
1.1k
The Language of Interfaces
destraynor
158
25k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
The World Runs on Bad Software
bkeepers
PRO
69
11k
Thoughts on Productivity
jonyablonski
69
4.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Embracing the Ebb and Flow
colly
86
4.7k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
700
Transcript
cdk initͰੜ͞ΕΔ͋ͷϑΝΠϧୡԿͳͷ͔ ϏδωεςΫϊϩδʔ෦ 2025/07/12 ࠤ౻ஐथ
2 ࣗݾհ • 2020 Ϋϥεϝιουೖࣾ AWS CDK ར༻։࢝ɹ • 2021
AWS DevDayͰCDKӡ༻ϊϋհ • 2022 CDKࢧ෦্ཱͪ͛ • 2023 AWS CDK Conference Japan ։࠵ • 2024 AWS CDK Conference Japan ։࠵ • 2025 • AWS CDK Conference Japan ։࠵ • CDKͷຊॻ͍ͯΈͨ • ෦ॺ ◦ ϏδωεςΫϊϩδʔ෦ • ໊લʢχοΫωʔϜʣ ◦ ࠤ౻ஐथ ʢtmk2154/tomoki10ʣ
એ݉લϑϦɿAWS CDKͷຊॻ͍ͯΈͨ 3 ٕज़ॻయ18ͰCDKͷຊॻ͍ͯΈ·ͨ͠ʂ CDKࢧ෦ͷൃද͕٧·ͬͯ·͢ʂ͜Ε͔ΒCDK࢝ΊΔਓʂݟຊ͋ΔΑ @tmk2154 https://techbookfest.org/product/wEWtvT8aRZgzAcVSnE7wS8
͜Μͳձͯ͠ͳ͍Ͱ͔͢ʁ 4 ઌഐ ΤϯδχΞ δϡχΞ ΤϯδχΞ ઌഐɺCDKͷνϡʔτϦΞϧΈͯcdk initͨ͠Β ͳΜ͔ΊͬͪΌϑΝΠϧ࡞͞ΕͨΜͰ͚͢Ͳ ͜ΕͳΜͳΜ͔͢ʁ
͏ΘɺԿ͚ͩͬ͜Ε…ௐͨ͜ͱ͋Δ͚Ͳ ΕͪΌͬͨɻԿ͚ͩͬͳ͋… ͳΜ͔CDKΛྑ͍ײ͡ʹಈ͔ͨ͢ΊͷͭͩΑ
ࠓͷ 5 CDKͷຊͷதͰ͋͑ͯॻ͔ͳ͔ͬͨ ܅ͨͪԿऀͳͷʁ → ͜ͷࢿྉΛݟΕࢥ͍ग़ͤΔʢॳ/தڃऀʣ → ҙ֎ͱ༷૿͑ͯΔʂʢ্ڃऀʣ IaCͷ࣮Λॻ͘ͱ͜ΖͶ
࣍ • ͦΕͧΕͷϑΝΠϧ/σΟϨΫτϦͷհ • cdk.json • package.json • package-lock.json /
node_modules • jest.config.js • tsconfig.json • .gitignore/.npmignore 6
cdk.jsonͱ CDKͷίϚϯυ࣮ߦ࣌ͷΤϯτϦʔϙΠϯτwatchɺcontextͳͲίϚϯ ࣮ߦ࣌ͷύϥϝʔλͳͲΛཧ͢ΔͨΊͷϑΝΠϧ σϑΥϧτͰҎԼͷϓϩύςΟΛͭ 7
cdk.jsonͷappϓϩύςΟ cdk synthcdk deployίϚϯυ࣮ߦ࣌ʹͲͷϑΝΠϧΛಡΈࠐΉͷ͔Λܾఆ͢Δ ΤϯτϦʔϙΠϯτΛࢦఆ͢ΔϓϩύςΟ • npx … ϩʔΧϧʹΠϯετʔϧ͞ΕͨύοέʔδΛ༻ ҎԼࣄલτϥϯεύΠϧΛෆཁʹ͠ɺख࡞ۀʹΑΔ࣌ؒతϩεΛ͙ͨΊઃఆ※
• ts-node … TypeScriptͷϑΝΠϧΛίϯύΠϧͤͣʹ࣮ߦ • --prefer-ts-exts … ϞδϡʔϧͷΠϯϙʔτ࣌ʹɺJSΑΓTSϑΝΠϧΛ༏ઌ 8 ※https://github.com/aws/aws-cdk/pull/11470
cdk.jsonͷwatchϓϩύςΟ cdkίϚϯυͷwatchΦϓγϣϯΛ͏࣌ͷύϥϝʔλઃ ఆ͕Մೳ include … มߋݕ͢ΔϑΝΠϧ exclude … มߋݕ͔Βআ֎͢ΔϑΝΠϧ Watchͱಉ͡֊ͰbuildϓϩύςΟʹҙͷίϚϯυΛ
ઃఆ͢Δͱࣗಈ࣮ߦ͞ΕΔʢJavaͷϏϧυͳͲʣ 9 ࢀߟใɿhttps://aws.amazon.com/jp/blogs/news/increasing-development-speed-with-cdk-watch-jp/
cdk.jsonͷcontextϓϩύςΟ جຊCDKΞϓϦʹ͢Λཧ͢ΔͨΊͷϓϩύςΟ σϑΥϧτͰػೳϑϥά͕Έࠐ·Ε͍ͯΔɻύϥϝʔλมߋޡࣈमਖ਼ͳͲͰ CDKࣗମͷ࣮͕มߋ͞ΕΔ͕ɺҎલͷόʔδϣϯͱͷޓੑΛอͭͨΊʹؚ·ΕΔ 10 ৄ͘͠ɿhttps://github.com/aws/aws-cdk/blob/main/packages/aws-cdk-lib/cx-api/FEATURE_FLAGS.md
cdk.jsonͷଞͷϓϩύςΟ • build … Synthલʹ࣮ߦ͢ΔίϚϯυΛࢦఆʢྫɿLambdaʹೖΕΔJavaͷϏϧυʣ • toolkitStackName … BootstrapͰ࡞͞ΕΔStack໊ͷมߋ •
toolkitBucket … BootstrapͰ࡞͞ΕΔόέοτͷઃఆʢbucketNameɺkmsKeyIdʣ • versionReporting … CfnςϯϓϨʔτͷCDK࣮ߦόʔδϣϯͳͲͷهࡌͷON/OFF • pathMetadata … CfnςϯϓϨʔτͷMetadataͷaws:cdk:pathͷهࡌͷON/OFF • assetMetadata … CfnςϯϓϨʔτͷMetadataͷaws:asset:*ͷهࡌͷON/OFF • notices … ίϚϯυ࣮ߦ࣌ͷ੬ऑੑɺϦάϨογϣϯͳͲͷ௨ͷON/OFF • output … CfnςϯϓϨʔτͳͲͷग़ྗઌͷઃఆ ͳͲͳͲ 11 ࢀߟɿhttps://github.com/aws/aws-cdk-cli/tree/main/packages/aws-cdk#json-configuration-files ɹɹɹhttps://github.com/aws/aws-cdk-cli/blob/main/packages/aws-cdk/lib/cli/cli-config.ts
package.json Node.js ϓϩδΣΫτͷઃఆϑΝΠϧ • name … ϓϩδΣΫτ໊ʢ͢Δ߹༻ʣ • version …
ϓϩδΣΫτͷόʔδϣϯʢ͢Δ߹༻ʣ • bin … ΞϓϦΛCLI͔Β࣮ߦ͢Δ߹༻ʢجຊෆཁʣ • scripts … npm run **Ͱ࣮ߦͰ͖ΔεΫϦϓτͳͲΛઃఆ • devDependency … ։ൃ͚ͩʹඞཁͳύοέʔδΛઃఆ • dependency … ࣮ߦʹඞཁͳύοέʔδΛઃఆ 12 ࢀߟɿhttps://docs.npmjs.com/cli/v11/configuring-npm/package-json#bin ɹɹɹhttps://dev.classmethod.jp/articles/remove-redundant-for-cdk-init/ …
package-lock.json/node_modules package-lock.jsonͱ package.jsonͰΠϯετʔϧ͢Δύοέʔδͱґଘ͢Δύο έʔδͷπϦʔߏΛهड़͠ɺਖ਼֬ͳόʔδϣϯใΛอଘ͠ ෳϢʔβڥͰಉ͡ґଘؔΛอূ͢Δ node_modulesͱ package.jsonͰهࡌ͞ΕͨύοέʔδͳͲ͕Πϯετʔϧ͞ ΕΔσΟϨΫτϦ 13 ࢀߟɿhttps://docs.npmjs.com/cli/v11/configuring-npm/package-lock-json
ɹɹɹhttps://docs.npmjs.com/cli/v11/configuring-npm/folders … package-lock.json
jest.config.js CDK͕σϑΥϧτͰ༻͢ΔςετϑϨʔϜϫʔΫͰ͋Δ JestͷઃఆΛཧ͢ΔͨΊͷϑΝΠϧ • module.exports … CommonJSܗࣜͷϞδϡʔϧΤΫεϙʔτߏจ • testEnvironment …
ςετ࣮ߦڥͷࢦఆɻNode.jsΛ༻ • roots …ςετରͱ͢ΔϑΝΠϧΛݕࡧ͢ΔσΟϨΫτϦΛࢦఆ • testMatch … ࣮ߦ͢ΔςετϑΝΠϧͷύλʔϯ໊Λࢦఆ • transform … ςετϑΝΠϧͷલॲཧΛࢦఆ ɹɹɹɹɹɹɹ .ts/.tsxϑΝΠϧΛts-jestͰτϥϯεύΠϧޙʹ࣮ߦ 14 ࢀߟɿhttps://archive.jestjs.io/docs/ja/22.x/configuration ESModuleͷมɿhttps://blog.serverworks.co.jp/2025/04/01/125304 …
tsconfig.json TypeScriptίϯύΠϥͷઃఆ ts-node/ts-jestͳͲͷπʔϧ͜ͷઃఆΛࢀর 15 ࢀߟɿhttps://www.typescriptlang.org/tsconfig/ ɹɹɹhttps://zenn.dev/uhyo/articles/blueberry-book-catchup … • compilerOptions …
ίϯύΠϧઃఆͷࢦఆ • target … ͲͷόʔδϣϯͷJavaScript͚ʹ͢Δ͔τϥϯεύΠϧ͢Δ͔ࢦఆ ྫɿES2022 ͩͱɺ ECMAScript 2022 ͷߏจͰग़ྗ • module … ϞδϡʔϧγεςϜͷࢦఆ ɹɹɹɹɹɹྫɿNodeNext ͩͱɺESModule αϙʔτʹ४ڌͨ͠ϞδϡʔϧγεςϜΛ༻ • moduleResolution … import ͷղܾํ๏ͷࢦఆɻNode.js ४ڌͷํࣜͳͲ • lib … Ͳͷඪ४ϥΠϒϥϦʢྫɿDOM, ES2022 ͳͲʣͷܕఆٛΛར༻Մೳʹ͢Δ͔Λࢦఆ • declaration … *.d.tsܕఆٛϑΝΠϧΛੜ • strict … ݫ֨ͳܕνΣοΫΦϓγϣϯΛ༗ޮԽ ͳͲͳͲ
.gitignore/.npmignore .gitignoreͱ Gitʹίϛοτ͠ͳ͍ϑΝΠϧΛઃఆ 16 … .npmignoreͱ npm publish͢Δ࣌ʹؚΊͳ͍ϑΝΠϧΛઃఆ ʢجຊϓϩδΣΫτͰͷ։ൃʹෆཁʣ
͜Ε͔Β͜Ε 17 ઌഐ ΤϯδχΞ δϡχΞ ΤϯδχΞ ઌഐɺCDKͷνϡʔτϦΞϧΈͯcdk initͨ͠Β ͳΜ͔ΊͬͪΌϑΝΠϧ࡞͞ΕͨΜͰ͚͢Ͳ ͜ΕͳΜͳΜ͔͢ʁ
ͳΜ͔ͦΜͳࢿྉ͋ͬͨͳ ͜ͷࢿྉݟͳ͕Β֬ೝͯ͠ΈΑ͏͔ʂ
ࢀߟ ݁ߏ͍Βͳ͍ϑΝΠϧهड़͋ΔͷͰɺ͜ͷࢿྉҰॹʹݟͯফͦ͏ʂ 18 … https://dev.classmethod.jp/articles/remove-redundant-for-cdk-init/