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 を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cd...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
k.goto
July 17, 2026
Programming
17
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
2026/07/18 開催「AWS CDK Conference Japan 2026」での登壇資料です。
k.goto
July 17, 2026
More Decks by k.goto
See All by k.goto
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
2.3k
AWS CDK の目玉新機能「Mixins」とは / cdk-mixins
gotok365
2
700
AWS CDKの仕組み / how-aws-cdk-works
gotok365
18
5.7k
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
8
2.7k
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
10
1.7k
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
7
980
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
550
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
6
1.6k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
3
610
Other Decks in Programming
See All in Programming
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
190
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
2.3k
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
150
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
12
4.7k
PHPだって関数型したい 〜できること、できないこと〜 / fp-in-php
jsoizo
0
190
えっ!!コードを読まずに開発を!?
hananouchi
0
190
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
1.1k
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
310
言語を使う側から、作る側へ。 自作 Lisp で得た新たな気づき。
andpad
0
110
Creating Composable Callables in Contemporary C++
rollbear
0
200
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
150
AI時代の仕事技芸論〜ソフトウェア開発で「遊ぶように働く」職人的熟達のすすめ(スクフェス仙台 2026バージョン)
kuranuki
0
610
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
0
9.6k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
180
Git: the NoSQL Database
bkeepers
PRO
432
67k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
340
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
230
Balancing Empowerment & Direction
lara
6
1.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Faster Mobile Websites
deanohume
310
32k
The Invisible Side of Design
smashingmag
301
52k
Transcript
LHPUP AWS CDK Λʮ࡞ʯͬͯΈͨ ʙϑϧεΫϥονͰݟ͑ͨ CDK ͷཪଆʙ "84$%,$POGFSFODF+BQBO
ࣗݾհ LHPUP w גࣜձࣾϝΠπ ‣ $IJFG&OHJOFFS w "84)FSP ‣ "84%FW5PPMT)FSP
w "84$%,ίϯτϦϏϡʔλʔ ‣ 5PQ$POUSJCVUPS ‣ $PNNVOJUZ3FWJFXFS 9!@TUFQ@UFDI (JU)VC!HPUPL
"84$%,ͱʁ "84ΞΧϯτ 4UBDL 4UBDL 4UBDL σϓϩΠ
$%,$-* $%,"QQ ᶃ$%,࣮ ᶄ$%,ίϚϯυ ᶅ߹ TZOUI ˞αϒϓϩηε "84$%,ͱʁ ᶈσϓϩΠ
ΫϥυΞηϯϒϦ DELPVU ᶆੜ ᶇಡΈࠐΈϏϧυ
$%,$-*ͷׂ w $%,ίϚϯυ ‣ DELEFQMPZ DELTZOUI FUD w $%,"QQͷΦʔέετϨʔλʔ ‣
$%,"QQΛαϒϓϩηεͰݺͼग़ͯ͠߹Λ࣮ߦ ‣ $%,"QQͷग़ྗͨ͠ΫϥυΞηϯϒϦ DELPVU ΛಡΈࠐΈ Ϗϧυ w $MPVE'PSNBUJPOͷϥούʔ ‣ ΫϥυΞηϯϒϦͷ$MPVE'PSNBUJPOςϯϓϨʔτΛಡΈࠐΜͰσϓϩΠ
$%,"QQͷׂ w Ϣʔβʔͷ࣮ͨ͠$%,ίʔυ ‣ BXTDELMJC ϥΠϒϥϦ Λ༻ w ΫϥυΞηϯϒϦΛੜ ߹
͢Δ·Ͱ͕ΰʔϧ ‣ σϓϩΠॲཧʹؔ༩͠ͳ͍ ‣ "84ΞΫηεΛ͠ͳ͍ DPOUFYUϝιουGSPN-PPLVQ ͰͷΞΫηε$%,$-* w ΫϥυΞηϯϒϦ DELPVU ͷத ‣ $MPVE'PSNBUJPOςϯϓϨʔτɺ-BNCEBϑΝΠϧɺ%PDLFS fi MFɺFUD
$MPVE'PSNBUJPOͷׂ w ࣮ࡍʹσϓϩΠॲཧΛߦ͏$%,ͷཁ ‣ $%,$-*͕"844%, $MPVE'PSNBUJPO ࣮ߦ w ඞཁͳΞηοτ$%,$-*͕͢Ͱʹ"84ʹϏϧυɾΞοϓϩʔυࡁΈ ‣
Ξηοτ-BNCEBϑΝΠϧɺ%PDLFSΠϝʔδɺFUD ‣ $MPVE'PSNBUJPOςϯϓϨʔτʹͦΕΒͷใͳͲຒΊࠐΈࡁΈ
$%,ͱ$MPVE'PSNBUJPO w $%,ͱ$MPVE'PSNBUJPOҰ৺ಉମ ‣ ͬͯΓͤͳ͍ w $MPVE'PSNBUJPO͕৭ʑͬͯ͘ΕΔɺ੍͋Δ ‣ σϓϩΠ͕͍࣌ؒ ͍
$%,ͱ$MPVE'PSNBUJPO w $%,ͱ$MPVE'PSNBUJPOҰ৺ಉମ ‣ ͬͯΓͤͳ͍ ‣ ˠຊʹͦ͏ͳͷ͔ʁ w $MPVE'PSNBUJPO͕৭ʑͬͯ͘ΕΔɺ੍͋Δ ‣
σϓϩΠ͕͍࣌ؒ ͍ ‣ ˠΓͤΕɺ্ՄೳʹͳΔͷͰʁ
$MPVE'PSNBUJPOͷΓ͠ͷݕ౼
$MPVE'PSNBUJPOͷΓ͠ͷݕ౼ $%,$-*$%,"QQͰશʹ͞Ε͍ͯΔ αϒϓϩηε࣮ߦɾΫϥυΞηϯϒϦ͕
$MPVE'PSNBUJPOͷΓ͠ͷݕ౼ $%,$-*͚ͩஔ͖͑ͯɺ$%,"QQͦͷ··͑Δ $%,"QQ͕ͦͷ··͑ΔͱϢʔβʔଆॻ͖͑ෆཁ ஔ͖͑
$MPVE'PSNBUJPOͷΓ͠ͷݕ౼ $%,$-*Λஔ͖͑ΒΕΔͳΒɺ$MPVE'PSNBUJPOʹറΒΕͳ͍ $MPVE'PSNBUJPO෦ɺ֤αʔϏεͷ4%,ݺͼग़͠ͰସͰ͖Δ ஔ͖͑
͍͚Δʂ
"84$%,Λʮ࡞ʯͬͯΈͨ
DELE $%,%JSFDU IUUQTHJUIVCDPNHPUPLDELE ͥͻελʔΛʂʂ
DELE $%,%JSFDU DELE $%,"QQ ᶃ$%,࣮ ᶄDELEίϚϯυ ᶅ߹ TZOUI ˞αϒϓϩηε
ᶈσϓϩΠ ΫϥυΞηϯϒϦ DELPVU ᶆੜ ᶇಡΈࠐΈϏϧυ "844%, ֤αʔϏε
DELE $%,%JSFDU DELE $%,"QQ ᶃ$%,࣮ ᶄDELEίϚϯυ ᶅ߹ TZOUI ˞αϒϓϩηε
ᶈσϓϩΠ ΫϥυΞηϯϒϦ DELPVU ᶆੜ ᶇಡΈࠐΈϏϧυ "844%, ֤αʔϏε $MPVE'PSNBUJPO ςϯϓϨʔτ ͦͷ··༻ʂ
DELE $%,%JSFDU %"( ༗ඇ८ճάϥϑґଘάϥϑ ੜ EJ ff ܭࢉ طଘϦιʔεͱͷൺֱ
ฒྻ࣮ߦ ະྃґଘͰଈ࣌σΟεύον ߹ $%,"QQ Ξηοτ Ϗϧυެ։ ΫϥυΞηϯϒϦղੳ DELEΤϯδϯ 4%,ϓϩόΠμʔ $$"1*ϓϩόΠμʔ αϒϓϩηε࣮ߦ ΫϥυΞηϯϒϦੜ $MPVE'PSNBUJPOςϯϓϨʔτͷύʔε NBOJGFTU 4%,ര ࡞ίετ༗ $$"1*ൣғΧόʔ ϑΥʔϧόοΫ ;JQԽ4Ξοϓϩʔυ %PDLFSΠϝʔδϏϧυ&$3QVTI ˞$$"1*$MPVE$POUSPM"1* $%,$-* ͷସ $MPVE'PSNBUJPO ͷସ
ंྠͷ࠶ൃ໌ $%,ͷཪଆ w $%,$-*ͷ͍ͬͯͨ͜ͱ ‣ DPO fi H DPOUFYU ಡΈࠐΈ
ෳͷDPO fi HDPOUFYUࢦఆํ๏ ‣ ߹ͷΦʔέετϨʔτ ະղܾDPOUFYUଘࡏ࣌ͷ߹ϧʔϓ ‣ $POUFYUϓϩόΠμʔ "844%,ʹΑΔऔಘ ‣ Ξηοτཧ ;JQԽ4Ξοϓϩʔυ %PDLFSϏϧυ&$3QVTI w $MPVE'PSNBUJPOͷ͍ͬͯͨ͜ͱ ‣ $'OςϯϓϨʔτղੳ ղܾ ґଘղܾ 3FG(FU"UU ΈࠐΈؔ 'O4VCFUD ‣ ঢ়ଶཧ ঢ়ଶελοΫ ‣ ϓϩύςΟϦιʔε୯ҐͷEJ ff ܭࢉ ‣ ࣮ߦܭը ґଘάϥϑ Ϩϕϧཧ ‣ ϦιʔεϓϩϏδϣχϯά "1*࣮ߦ ‣ ϩʔϧόοΫ ‣ Ϧιʔεͷ҆ఆԽͪ
ंྠͷ࠶ൃ໌ $%,ͷཪଆ w $%,$-*ͷ͍ͬͯͨ͜ͱ ‣ DPO fi H DPOUFYU ಡΈࠐΈ
ෳͷDPO fi HDPOUFYUࢦఆํ๏ ‣ ߹ͷΦʔέετϨʔτ ະղܾDPOUFYUଘࡏ࣌ͷ߹ϧʔϓ ‣ $POUFYUϓϩόΠμʔ "844%,ʹΑΔऔಘ ‣ Ξηοτཧ ;JQԽ4Ξοϓϩʔυ %PDLFSϏϧυ&$3QVTI w $MPVE'PSNBUJPOͷ͍ͬͯͨ͜ͱ ‣ $'OςϯϓϨʔτղੳ ղܾ ґଘղܾ 3FG(FU"UU ΈࠐΈؔ 'O4VCFUD ‣ ঢ়ଶཧ ঢ়ଶελοΫ ‣ ϓϩύςΟϦιʔε୯ҐͷEJ ff ܭࢉ ‣ ࣮ߦܭը ґଘάϥϑ Ϩϕϧཧ ‣ ϦιʔεϓϩϏδϣχϯά "1*࣮ߦ ‣ ϩʔϧόοΫ ‣ Ϧιʔεͷ҆ఆԽͪ શͯ ࣗ࡞ ϑϧεΫϥον ͠·ͨ͠ʂ ˞Ϧιʔεͷ҆ఆԽͪҎ֎ ˠDELEॏࢹͷͨΊ
ंྠͷ࠶ൃ໌ $%,ͷཪଆ w $%,$-*ͷ͍ͬͯͨ͜ͱ ‣ DPO fi H DPOUFYU ಡΈࠐΈ
ෳͷDPO fi HDPOUFYUࢦఆํ๏ ‣ ߹ͷΦʔέετϨʔτ ະղܾDPOUFYUଘࡏ࣌ͷ߹ϧʔϓ ‣ $POUFYUϓϩόΠμʔ "844%,ʹΑΔऔಘ ‣ Ξηοτཧ ;JQԽ4Ξοϓϩʔυ %PDLFSϏϧυ&$3QVTI w $MPVE'PSNBUJPOͷ͍ͬͯͨ͜ͱ ‣ $'OςϯϓϨʔτղੳ ղܾ ґଘղܾ 3FG(FU"UU ΈࠐΈؔ 'O4VCFUD ‣ ঢ়ଶཧ ঢ়ଶελοΫ ‣ ϓϩύςΟϦιʔε୯ҐͷEJ ff ܭࢉ ‣ ࣮ߦܭը ґଘάϥϑ Ϩϕϧཧ ‣ ϦιʔεϓϩϏδϣχϯά "1*࣮ߦ ‣ ϩʔϧόοΫ ‣ Ϧιʔεͷ҆ఆԽͪ $%,ͷΈΛ͍ͬͯΕ ࣮ͦΜͳʹ͘͠ͳ͍ $%,ͷΈΛΔ͜ͱͰ ීஈͷ$%,։ൃͰૺ۰ͨ͠ڍಈ ཧղͰ͖ΔΑ͏ʹͳΓ·͢ʂ
ंྠͷ࠶ൃ໌ $%,ͷཪଆ w $%,$-*ͷ͍ͬͯͨ͜ͱ ‣ DPO fi H DPOUFYU ಡΈࠐΈ
ෳͷDPO fi HDPOUFYUࢦఆํ๏ ‣ ߹ͷΦʔέετϨʔτ ະղܾDPOUFYUଘࡏ࣌ͷ߹ϧʔϓ ‣ $POUFYUϓϩόΠμʔ "844%,ʹΑΔऔಘ ‣ Ξηοτཧ ;JQԽ4Ξοϓϩʔυ %PDLFSϏϧυ&$3QVTI w $MPVE'PSNBUJPOͷ͍ͬͯͨ͜ͱ ‣ $'OςϯϓϨʔτղੳ ղܾ ґଘղܾ 3FG(FU"UU ΈࠐΈؔ 'O4VCFUD ‣ ঢ়ଶཧ ঢ়ଶελοΫ ‣ ϓϩύςΟϦιʔε୯ҐͷEJ ff ܭࢉ ‣ ࣮ߦܭը ґଘάϥϑ Ϩϕϧཧ ‣ ϦιʔεϓϩϏδϣχϯά "1*࣮ߦ ‣ ϩʔϧόοΫ ‣ Ϧιʔεͷ҆ఆԽͪ ಛʹͪ͜Β͕େมͰͨ͠ DELE㲈ࣗ࡞$MPVE'PSNBUJPO ͜ΕΒΛϚωʔδυͰͬͯ͘ΕΔ $MPVE'PSNBUJPOҒେʂ
DELEಠࣗͷڧΈ w ಠࣗͷ࠷దԽ ্ ‣ OPXBJU 㲈&YQSFTTNPEF $MPVE'SPOU3%4&MBTUJ$BDIF/"5(BUFXBZ ‣
71$-BNCEBͷϓϥΠϕʔταϒωοτͷϧʔτґଘ͕͠ w ະఆٛϓϩύςΟͷυϦϑτݕ DELSFBMESJGUʹΓग़͠ w ΞϓϦίʔυͷϩʔΧϧ࣮ߦ DELMPDBMʹΓग़͠ w $MPVE'PSNBUJPOͱͷ૬ޓҠߦ ‣ DELEFYQPSUJNQPSUNJHSBUFGSPNDMPVEGPSNBUJPO DELSFBMESJGUIUUQTHJUIVCDPNHPUPLDELSFBMESJGU DELMPDBMIUUQTHJUIVCDPNHPUPLDELMPDBM
$%,$-* $MPVE'PSNBUJPO ͱͷൺֱ ˞&YQSFTT$MPVE'PSNBUJPO&YQSFTTϞʔυ d $MPVE'PSNBUJPOͷ࠷େഒҎ্ &YQSFTTϞʔυͷ࠷େഒҎ্ ˞ճܭଌͷ࠷
$MPVE'PSNBUJPOͷྑ͍ͱ͜Ζ w ϚωʔδυʹΑΔಈ࡞ͷఏڙɾอূ ‣ ґଘղܾEJ ff ܭࢉ"1*࣮ߦϩʔϧόοΫ ‣ ঢ়ଶΛϢʔβʔଆͰ࣋ͨͳ͍͍ͯ͘ w
Ϧιʔεͷ҆ఆԽͪ ‣ ҆ఆԽલʹϦιʔεʹΞΫηεͯ͠ΤϥʔʹͳΔ͜ͱ͕͋Δ ‣ $MPVE'PSNBUJPOͰʮσϓϩΠྃଈ͑Δʯ ͱͷτϨʔυΦϑ ˠ҆৺ͯ͠σϓϩΠͰ͖ΔɾϦιʔεΛѻ͑Δ ຊ൪ڥ͖
DELEͷϢʔεέʔε w DELE$%,$-*ͷஔ͖͑Ͱͳ͘ิ͠߹͏ཱͪҐஔ ‣ ։ൃςετDELEͰ։ൃΠςϨʔγϣϯΛߴʹ ‣ εςʔδϯάຊ൪ڥ$%,$-* $MPVE'PSNBUJPO w
"*ۦಈ։ൃʹ͓͚Δ͍ࣺͯڥɾϓϩτλΠϓڥͷߏங ‣ DELEͷര͕͞"*ͱͷ૬ੑ˕ ‣ ͱʹ͔͘͘࡞ͬͯյ͢ʂ DELEআരʂ w దٓDELEFYQPSUJNQPSUͰɺDELE$'Oͷ૬ޓҠߦ͕Մೳ
DELE $%,%JSFDU IUUQTHJUIVCDPNHPUPLDELE ͥͻελʔΛʂʂ
"QQFOEJY
ؔ࿈ࢿྉ"84$%,ͷதʹڵຯ͋Δํ IUUQTTQFBLFSEFDLDPNHPUPLIPXBXTDELXPSLT IUUQTTQFBLFSEFDLDPNHPUPLDELMBOHVBHFUSBOTGPSNBUJPO
DELMPDBM DELM IUUQTHJUIVCDPNHPUPLDELMPDBM w $%,ཧͷΞϓϦίʔυΛϩʔΧϧ࣮ߦ͢Δ$-*πʔϧ ‣ ؔ࿈ϦιʔεใΛ"84ڥ͔ΒࣗಈऔಘՄೳ ΞϓϦϩʔΧϧ࣮ߦͭͭ͠ɺ4FDSFU4%#ͳͲ࣮ϦιʔεʹΞΫηε
FOWϩʔΧϧͷσʔλಉظͳͲ͕ෆཁʹ ‣ ϒϥβ࣮ߦՄೳ
DELSFBMESJGU DELSE IUUQTHJUIVCDPNHPUPLDELSFBMESJGU w $%,υϦϑτݕग़πʔϧ ‣ $%, $MPVE'PSNBUJPO ͰະఆٛϓϩύςΟͷυϦϑτݕग़Մೳ
DELESJGUͰݕෆՄͷͷ͕ݕग़Ͱ͖Δ ‣ SFDPSESFWFSUJHOPSFՄೳ
DELNVMUJSFHJPOTUBDL IUUQTHJUIVCDPNHPUPLDELNVMUJSFHJPOTUBDL w ෳϦʔδϣϯͷϦιʔεΛͭͷ$%,ελοΫʹهड़
BXTDELVOJUUFTUJOH 4LJMM IUUQTHJUIVCDPNHPUPLDELTLJMMT w "84$%,ͷ୯ମςετ4LJMM ‣ "84$%,ʹ͓͚Δ୯ମςετͷ࣮ફతͳϊϋΛ$PEJOH"HFOU͕ཧղ Ͳͷ໘ͰͲΜͳςετΛॻ͖͔͘ॻ͔ͳͯ͘ྑ͍͔
அϑϩʔɾίʔυύλʔϯผͷྫɾΞϯνύλʔϯ ‣ CVJMEFST fl BTIدߘهࣄΛεΩϧԽ ʰ"84$%,ʹ͓͚Δ୯ମςετͷ͍ॴΛֶͿʱ
EFMTUBDL IUUQTHJUIVCDPNHPUPLEFMTUBDL w $MPVE'PSNBUJPOελοΫڧ੍আπʔϧ ‣ ௨ৗͷআͩͱࣦഊ͢ΔϦιʔεؚΊɺελοΫؙ͝ͱڧ੍আ ‣ $%,ωΠςΟϒରԠࡁΈ AEFMTUBDLDELAίϚϯυ
5IBOL:PV LHPUP "84%FW5PPMT)FSP 9!@TUFQ@UFDI (JU)VC!HPUPL