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
1.3k
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
チームで安全にClaude Codeを利用するためのプラクティス / team-claude-code-practices
tomoki10
7
4.4k
re:Invent2025 3つの Frontier Agents を紹介 / introducing-3-frontier-agents
tomoki10
0
830
AWS Security Agentの紹介/introducing-aws-security-agent
tomoki10
0
840
Kiro Autonomous AgentとKiro Powers の紹介 / kiro-autonomous-agent-and-powers
tomoki10
0
1.5k
CDK Vibe Coding Fes
tomoki10
1
980
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
1
3.5k
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
2
4.4k
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
2
4.1k
AWS CDKの歴史と未来について語る会〜日本発のグローバルコントリビューション〜/jaws-days-2025-cdk-panel-discussion
tomoki10
0
230
Other Decks in Technology
See All in Technology
オレ達はAWS管理をやりたいんじゃない!開発の生産性を爆アゲしたいんだ!!
wkm2
3
370
Yahoo!ショッピングのレコメンデーション・システムにおけるML実践の一例
lycorptech_jp
PRO
1
110
AIエージェント・エコノミーの幕開け 〜 オープンプロトコルが変えるビジネスの未来 〜
shukob
0
110
Claude Codeの進化と各機能の活かし方
oikon48
18
8.5k
A Gentle Introduction to Transformers
keio_smilab
PRO
2
910
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
210
プロジェクトマネジメントをチームに宿す -ゼロからはじめるチームプロジェクトマネジメントは活動1年未満のチームの教科書です- / 20260304 Shigeki Morizane
shift_evolve
PRO
1
130
8万デプロイ
iwamot
PRO
2
180
Dr. Werner Vogelsの14年のキーノートから紐解くエンジニアリング組織への処方箋@JAWS DAYS 2026
p0n
1
110
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
380
Abuse report だけじゃない。AWS から緊急連絡が来る状況とは?昨今の攻撃や被害の事例の紹介と備えておきたい考え方について
kazzpapa3
1
150
ビズリーチにおける検索・推薦の取り組み / DEIM2026
visional_engineering_and_design
1
110
Featured
See All Featured
Utilizing Notion as your number one productivity tool
mfonobong
4
250
Tell your own story through comics
letsgokoyo
1
830
Typedesign – Prime Four
hannesfritz
42
3k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
240
Music & Morning Musume
bryan
47
7.1k
GitHub's CSS Performance
jonrohan
1032
470k
Visualization
eitanlees
150
17k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.5k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.1k
WCS-LA-2024
lcolladotor
0
470
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.1k
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/