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
1.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
cdk initで生成されるあのファイル達は何なのか/cdk-init-generated-files
AWS CDK Conference Japan 2025の登壇資料です。
https://jawsug-cdk.connpass.com/event/356357/
tomoki10
July 12, 2025
More Decks by tomoki10
See All by tomoki10
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
760
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
7
5.3k
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
1.3k
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
1.6k
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
2k
CDK Vibe Coding Fes
tomoki10
1
1.1k
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
1
4.1k
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
2
5.2k
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
2
4.8k
Other Decks in Technology
See All in Technology
地域 SRE コミュニティ最前線 / SRE NEXT 2026 Discussion Night Track C
muziyoshiz
0
210
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
2.9k
Making sense of Google’s agentic dev tools
glaforge
1
200
Gen3R: 3D Scene Generation Meets Feed-Forward Reconstruction
spatial_ai_network
0
120
インフラと開発の垣根を超えていき!〜元AWSインフラエンジニアがAWS開発で奮闘している話〜
hatahata021
2
180
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
5.1k
ゼロをイチにする仕事が終わったあと
smasato
0
340
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
2
3.6k
ヘルスケア領域における AI 活用と その安全性担保のための取り組み (Leveraging AI in Healthcare and Our Efforts to Ensure Its Safety) - Google I/O Extended Tokyo 2026, July 11, 2026
zettaittenani
0
280
CSに"SLO"は要らない、経営層に"99.9%"は伝わらない - SREを全社に"翻訳"する3原則
cscengineer
PRO
1
4.5k
知らん間に、回ってる
ming_ayami
0
550
DatabricksにおけるMCPソリューション
taka_aki
1
240
Featured
See All Featured
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
890
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.8k
Marketing to machines
jonoalderson
1
5.6k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
The SEO Collaboration Effect
kristinabergwall1
1
500
A Soul's Torment
seathinner
6
3.1k
Leo the Paperboy
mayatellez
8
1.9k
Prompt Engineering for Job Search
mfonobong
0
370
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
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/