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
950
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
1
800
Devin(Deep) Wiki/Searchの活用で変わる開発の世界観/devin-wiki-search-impact
tomoki10
0
2k
AI駆動で進化する開発プロセス ~クラスメソッドでの実践と成功事例~ / aidd-in-classmethod
tomoki10
2
3.5k
DevinはクラウドエンジニアAIになれるのか!? 実践的なガードレール設計/devin-can-become-a-cloud-engineer-ai-practical-guardrail-design
tomoki10
3
3k
AWS CDKの歴史と未来について語る会〜日本発のグローバルコントリビューション〜/jaws-days-2025-cdk-panel-discussion
tomoki10
0
140
いまから始めるAWS CDK 〜モダンなインフラ構築入門〜/iac-night-cdk-introduction
tomoki10
9
2.8k
DevinでAI AWSエンジニア製造計画 序章 〜CDKを添えて〜/devin-load-to-aws-engineer
tomoki10
0
730
CDKのコードレビューを楽にするパッケージcdk-mentorを作ってみた/cdk-mentor
tomoki10
0
510
今年のアップデートで振り返るCDKセキュリティのシフトレフト/2024-cdk-security-shift-left
tomoki10
0
580
Other Decks in Technology
See All in Technology
つくって納得、つかって実感! 大規模言語モデルことはじめ
recruitengineers
PRO
23
6.1k
ドキュメントはAIの味方!スタートアップのアジャイルを加速するADR
kawauso
3
380
知られざるprops命名の慣習 アクション編
uhyo
11
2.5k
生成AI利用プログラミング:誰でもプログラムが書けると 世の中どうなる?/opencampus202508
okana2ki
0
190
[CVPR2025論文読み会] Linguistics-aware Masked Image Modelingfor Self-supervised Scene Text Recognition
s_aiueo32
0
210
Yahoo!広告ビジネス基盤におけるバックエンド開発
lycorptech_jp
PRO
1
280
Oracle Base Database Service:サービス概要のご紹介
oracle4engineer
PRO
2
20k
OpenAPIから画面生成に挑戦した話
koinunopochi
0
160
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
4
550
浸透しなさいRFC 5322&7208
hinono
0
120
夢の印税生活 / Life on Royalties
tmtms
0
280
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
Featured
See All Featured
Docker and Python
trallard
45
3.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
236
140k
For a Future-Friendly Web
brad_frost
179
9.9k
A better future with KSS
kneath
239
17k
RailsConf 2023
tenderlove
30
1.2k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3k
Code Review Best Practice
trishagee
70
19k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Facilitating Awesome Meetings
lara
55
6.5k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
50
5.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
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/