Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
AWS CDK の目玉新機能「Mixins」とは / cdk-mixins
Search
k.goto
February 24, 2026
Technology
770
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CDK の目玉新機能「Mixins」とは / cdk-mixins
2026/02/24 開催 JAWS-UG CDK 支部の登壇資料です。
k.goto
February 24, 2026
More Decks by k.goto
See All by k.goto
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
190
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.9k
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
4.8k
AWS CDKの仕組み / how-aws-cdk-works
gotok365
18
5.9k
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
8
2.8k
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
10
1.7k
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
7
1.1k
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
570
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
6
1.6k
Other Decks in Technology
See All in Technology
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
230
10Xに技術的負債をもたらした「2つの境界の歪み」その構造と解消への営み
10xinc
0
1.9k
事業課題から技術的負債に向き合う
sansantech
PRO
2
1.8k
SREは、MCPとAutopilotをこう使え!
kazumax55
2
800
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
5
2.3k
開発投資の期待値を上げるプロダクトロードマップづくり ~プロダクトエンジニアが越境して事業を伸ばす~
kekekenta
1
160
Railsのように考える: See through the Master
snoozer05
PRO
3
810
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
2
2k
Spring BootからQuarkusへの移行
tatsuya1bm
2
120
銀行勘定系システムにおける開発プロセス刷新×AIによる環境モダナイゼーション / Development Process Transformation and AI-Driven Environment Modernization
muit
0
2.2k
DEFCON_CHV_CTF_Write-up.pdf
bata_24
0
150
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
4
600
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
650
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
520
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
A Soul's Torment
seathinner
8
3.6k
Speed Design
sergeychernyshev
33
2.1k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
360
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Transcript
LHPUP AWS CDK ͷۄ৽ػೳ ʮMixinsʯͱ +"846($%,ࢧ෦
ࣗݾհ LHPUP "84)&30 "84$%,ίϯτϦϏϡʔλʔ 0QFO$POTUSVDUT-JCSBSZ ίϛϡχςΟۦಈ$%,$POTUSVDUϥΠϒϥϦ "84πʔϧ DMT EFMTUBDL MBNWFS
"84%FW5PPMT)FSP .BJOUBJOFS 5PQ$POUSJCVUPS $PNNVOJUZ3FWJFXFS ࣗ࡞044 $%,$POTUSVDUϥΠϒϥϦ 9!@TUFQ@UFDI (JU)VC!HPUPL
Mixins ͱ
.JYJOTͱ w ҙͷ$POTUSVDUʹ߹ͤՄೳͳநԽΛద༻͢ΔΈ ‣ --$POTUSVDUͳͲͷϨϕϧΛΘͳ͍ ‣ αʔϏεΛލ͙நԽ͋Δ "VUP%FMFUF0CKFDUT .JYJO $GO9YY
#VDLFU $GO#VDLFU -PH(SPVQ &ODSZQUJPO"U3FTU .JYJO -$POTUSVDU -$POTUSVDU
.JYJOTͱ w ҙͷ$POTUSVDUʹ߹ͤՄೳͳநԽΛద༻͢ΔΈ ‣ --$POTUSVDUͳͲͷϨϕϧΛΘͳ͍ ‣ αʔϏεΛލ͙நԽ͋Δ "VUP%FMFUF0CKFDUT .JYJO $GO9YY
#VDLFU $GO#VDLFU -PH(SPVQ &ODSZQUJPO"U3FTU .JYJO -$POTUSVDU -$POTUSVDU
.JYJOTͱ w ҙͷ$POTUSVDUʹ߹ͤՄೳͳநԽΛద༻͢ΔΈ ‣ --$POTUSVDUͳͲͷϨϕϧΛΘͳ͍ ‣ αʔϏεΛލ͙நԽ͋Δ "VUP%FMFUF0CKFDUT .JYJO $GO9YY
#VDLFU $GO#VDLFU -PH(SPVQ &ODSZQUJPO"U3FTU .JYJO -$POTUSVDU -$POTUSVDU
.JYJOTͱ w ҙͷ$POTUSVDUʹ߹ͤՄೳͳநԽΛద༻͢ΔΈ ‣ --$POTUSVDUͳͲͷϨϕϧΛΘͳ͍ ‣ αʔϏεΛލ͙நԽ͋Δ "VUP%FMFUF0CKFDUT .JYJO $GO9YY
#VDLFU $GO#VDLFU -PH(SPVQ &ODSZQUJPO"U3FTU .JYJO -$POTUSVDU -$POTUSVDU
.JYJOTͱ w $%,WͰಋೖ͞Εɺ݄ݱࡏ%FWFMPQFS1SFWJFX ‣ ·ͩશͯͷػೳ͕ἧ͍ͬͯΔΘ͚Ͱͳ͍ ‣ ഁյతมߋػೳՃͳͲΨϯΨϯདྷΔ d ຊηογϣϯͷར༻WFS
Ͱ͔ͳΓͷഁյతมߋ͕͋ͬͨ w ຊηογϣϯͰͷར༻$%,όʔδϣϯ αϯϓϧίʔυ5ZQF4DSJQU ‣ $%,ϥΠϒϥϦ BXTDELMJC ‣ .JYJOTϞδϡʔϧ !BXTDELNJYJOTQSFWJFX BMQIB ‣ $%,$-* BXTDEL
.JYJOTͷར ᶃ-$POTUSVDUʹ-$POTUSVDUͷநԽΛ෦తɾબతʹద༻Ͱ͖Δ ‣ -$POTUSVDUΛΘͣͱϢʔβ͕ඞཁͳػೳͷΈΛಋೖͰ͖Δ ‣ -$POTUSVDUͷҰ෦ͷநԽັྗత͕ͩద༻ͨ͘͠ͳ͍நԽ͋ͬͨਓʹ˕ ػೳ" -$POTUSVDU -$POTUSVDU ػೳ#
ػೳ$ .JYJO" .JYJO# .JYJO$
.JYJOTͷར ᶄ-$POTUSVDUʹ"84αʔϏεͷ৽ػೳΛ͙͢ʹɾܕ҆શʹөͰ͖Δ ‣ ैདྷ-$POTUSVDUͰ"84αʔϏεͷ৽ػೳΛ͙͢ʹ͑ͳ͔ͬͨ -$POTUSVDU͙͢ʹ৽ϓϩύςΟ͕1SPQTʹө -$POTUSVDU1SPQTʹө͞ΕΔ·Ͱʹ͕͔͔࣌ؒΔ ίϯτϦϏϡʔτͪ
‣ Τεέʔϓϋον ϓϩύςΟ্ॻ͖Ͱద༻Ͱ͖͕ͨɺܕ͕อূ͞Ε͍ͯͳ͔ͬͨ BEE1SPQFSUZ0WFSSJEF OFX1SPQFSUZ9:ZZ USVF -$POTUSVDU $GO9YY1SPQT.JYJO OFX1SPQFSUZ9\ :ZZUSVF ^ -$POTUSVDUͷ1SPQT ܕ͋Γ Λద༻͢Δ.JYJO͕༻ҙ͞Ε͍ͯΔ
ͭ·Γ Mixins ͱ
L1 / L2 Construct ؒͷ ִͨΓΛຒΊΔͷ
.JYJOTͷΠϯετʔϧํ๏ͱҙ w OQNJOTUBMM%!BXTDELNJYJOTQSFWJFX ‣ ·ͩ%FWFMPQFS1SFWJFXͷͨΊผύοέʔδͰఏڙ w DELEFQMPZ࣮ߦ࣌ʹΤϥʔ͕ൃੜ͢Δ߹ɺUTDPO fi HKTPOΛ֬ೝ ‣
طଘͷ$%,1+ͩͱݹ͍ઃఆʹͳ͍ͬͯΔ͜ͱ ‣ ӈͷઃఆʹ͠·͠ΐ͏ˠ
.JYJOTͷ͍ํ w .JYJOTPG BQQMZ .JYJOͷద༻ w ˞.JYJOTʹؔͳ͍JNQPSUจมলུ
.JYJOTͷ͍ํ w ίϯετϥΫτXJUI .JYJOTPG BQQMZ ͱಉ͡ .JYJOTPGͷํ͕ߴػೳ ‣ ݱࡏ+BWB4DSJQUͱ5ZQF4DSJQUͰͷΈར༻Մೳ
("࣌ͯ͢ͷݴޠͰରԠ ‣ JNQPSU!BXTDELNJYJOTQSFWJFXXJUI͕ඞཁ ("࣌ෆཁʹͳΔ ˞.JYJOTʹؔͳ͍JNQPSUจมলུ
.JYJOTͷ͍ํ w .JYJOT$POTUSVDUπϦʔʹద༻͞ΕΔ ‣ "TQFDUTͷΑ͏ʹಛఆͷείʔϓԼͷશͯͷϦιʔεʹରͯ͠ద༻Ͱ͖Δ ‣ $POTUSVDU4FMFDUPSΛ༻ͯ͠ɺಛఆͷछྨͷϦιʔεͷΈʹద༻ରΛߜΕΔ ˞.JYJOTʹؔͳ͍JNQPSUจมলུ
.JYJOTͷछྨ ᶃαʔϏεؒ.JYJOT ᶄϦιʔεݻ༗.JYJOT ᶅ-ϓϩύςΟ.JYJOT ᶆϩά৴.JYJOT
ᶃαʔϏεؒ.JYJOT w ෳͷ"84αʔϏεʹڞ௨ͯ͠ద༻Ͱ͖Δ.JYJO ‣ &ODSZQUJPO"U3FTU҉߸Խ͕ՄೳͳϦιʔεʹରͯ͠ڞ௨ͯ͠҉߸ԽΛ༗ޮԽ ˞ະϚʔδ͕ͩ13ਐߦத
ᶄϦιʔεݻ༗.JYJOT w ͦΕͧΕͷ"84αʔϏε Ϧιʔε ݻ༗ͷ.JYJO ‣ 424 ˞ະϚʔδ͕ͩ13ਐߦத
3FESJWF1PMJDZ.JYJO 3FESJWF"MMPX1PMJDZ.JYJO 'JGP.JYJO ‣ 4 "VUP%FMFUF0CKFDUT #VDLFU7FSTJPOJOH #VDLFU1PMJDZ4UBUFNFOUT.JYJO #VDLFU#MPDL1VCMJD"DDFTT ‣ &$4 $MVTUFS4FUUJOHT
ᶅ-ϓϩύςΟ.JYJOT w -$POTUSVDUʹະಋೖͷ-ϓϩύςΟΛܕ҆શʹద༻͢Δ.JYJO ‣ $GO9YY1SPQT.JYJOͯ͢ͷ-$POTUSVDU͝ͱʹࣗಈੜ͞Ε͍ͯΔ
ᶅ-ϓϩύςΟ.JYJOT w Ϛʔδઓུ ‣ .&3(& σϑΥϧτ طଘͷϓϩύςΟʹɺࢦఆͨ͠ϓϩύςΟΛϚʔδ ‣ 07&33*%&طଘͷϓϩύςΟΛɺࢦఆͨ͠ϓϩύςΟͰ্ॻ͖
ᶆϩά৴.JYJOT w 7FOEFEMPHT৴ͷͨΊͷ.JYJO ‣ $GO9YY-PHT.JYJO999@-0(4UP-PH(SPVQ ‣ $GO9YY-PHT.JYJO999@-0(4UP4 ‣
$GO9YY-PHT.JYJO999@-0(4UP'JSFIPTF ‣ $GO9YY-PHT.JYJO999@-0(4UP%FTUJOBUJPO
ᶆϩά৴.JYJOT w 7FOEFEMPHT৴ͷͨΊͷ.JYJO ‣ ରԠ͢Δ"84αʔϏε͝ͱʹ$%,ϦϙδτϦଆͰࣗಈੜ͞Ε͍ͯΔ $GO%JTUSJCVUJPO-PHT.JYJO $GO6TFS1PPM-PHT.JYJO
$GO71$-PHT.JYJO $GO-PBE#BMBODFS-PHT.JYJO FUD
Mixins Λ͍͜ͳ͢
ΤϥʔϋϯυϦϯά w BQQMZ ద༻͢Δ.JYJO͕αϙʔτ͞Ε͍ͯͳ͍ϦιʔεΛεΩοϓ͢Δ ‣ ྫ 4/45PQJDʹ#VDLFU7FSTJPOJOH.JYJOˠεΩοϓ w ద༻$POTUSVDUԼʹະαϙʔτͷϦιʔε͕͋Δ͔Ͳ͏͔νΣοΫ͍ͨ͠ ‣
SFRVJSF"MM αϙʔτ͞Ε͍ͯͳ͍Ϧιʔε͕ͭͰ͋ΕΤϥʔ ‣ SFRVJSF"OZ αϙʔτ͞Ε͍ͯΔϦιʔε͕ͭͳ͚ΕΤϥʔ
ΤϥʔϋϯυϦϯά w ద༻ɾະద༻Ϧιʔεʹରͯ͠खಈͰΞαʔγϣϯ ϋϯυϦϯά ͍ͨ͠ ‣ SFQPSU.JYJO͕ਖ਼ৗʹద༻͞ΕͨϦιʔεͷϦετΛऔಘ
ΤϥʔϋϯυϦϯά w ద༻ɾະద༻Ϧιʔεʹରͯ͠खಈͰΞαʔγϣϯ ϋϯυϦϯά ͍ͨ͠ ‣ TFMFDUFE$POTUSVDUT.JYJOͷద༻ର$POTUSVDUͷϦετΛऔಘ 㱠݁Ռ
ΧελϜ.JYJOT ᶃ*.JYJOΠϯλʔϑΣʔεΛ࣮ ᶄ.JYJOநΫϥεΛܧঝ *.JYJOͷҰ෦͕͢Ͱʹ࣮͞Ε͍ͯΔ ‣ ᶃΑΓᶄ͕ਪ ༻ײ΄ͱΜͲมΘΒͳ͍͕ɺকདྷతͳҠߦ͕༰қʹͳΔ CZϝϯςφ
"TQFDUTͱͷҧ͍ w .JYJOTͱ"TQFDUTࣅ͍ͯΔ ‣ πϦʔԼͷϦιʔεͷઃఆΛมߋ͢Δ w ྆ऀͷओͳҧ͍ʮద༻λΠϛϯά͕ҟͳΔʯͱ͍͏ ‣ .JYJOTݺͼग़࣌͠ʹଈ࠲ʹ࣮ߦ $POTUSVDUϑΣʔζ
໋ྩܕϓϩάϥϛϯάܗࣜ ‣ "TQFDUTͯ͢ͷ$POTUSVDUੜͷޙ 1SFQBSFϑΣʔζ એݴܕϓϩάϥϛϯάܗࣜ
"TQFDUTͱͷҧ͍
"TQFDUTͱͷҧ͍ w .JYJOTͱ"TQFDUTͷ͍͚ํ ‣ มߋΛՃ͑Δ߹.JYJOT ‣ ಈ࡞Λݕূ͢Δ߹"TQFDUT w "TQFDUTͱ.JYJOTΛ૬ޓʹมͰ͖ΔΈಋೖ͞ΕΔ ༧ఆ
˞·ͩݱ࣌Ͱͷ$%,ͷϦϦʔεʹಋೖ͞Ε͍ͯ·ͤΜ͕ɺ 3'$ʹࡌ͍ͬͯΔͷͰڪΒ͍ۙ͘͏ͪʹಋೖ͞ΕΔͣɻɻɻ
"TQFDUTͱͷҧ͍ w .JYJOT"TQFDUT(P'σβΠϯύλʔϯͷ7JTJUPSύλʔϯ ˞IUUQTTQFBLFSEFDLDPNHPUPLBXTEFWEBZDELHPGEFTJHOQBUUFSOT ˞IUUQTHPUPLIBUFOBCMPHDPNFOUSZBXTDELJOUFSOBMHPGQBUFSOT
1SPQFSUZ*OKFDUPSTͱͷҧ͍ w 1SPQFSUZ*OKFDUPSTͱ ‣ ಛఆͷछྨͷ--$POTUSVDUʹରͯ͠ϓϩύςΟΛҰݩతʹॻ͖͑Δ
1SPQFSUZ*OKFDUPSTͱͷҧ͍ w .JYJOTͱ1SPQFSUZ*OKFDUPSTͷ͍͚ํ ‣ நԽΛద༻͍ͨ͠߹.JYJOT ద༻ର-$POTUSVDU -$POTUSVDU είʔϓΛߜΔ͜ͱ͕ଟ͍
ಛఆͷ$POTUSVDUͳͲ ‣ σϑΥϧτͷಈ࡞Λม͍͑ͨ߹ ϒϧʔϓϦϯτ 1SPQFSUZ*OKFDUPST ద༻ର-$POTUSVDU Ұ෦-$POTUSVDU είʔϓ͕͍͜ͱ͕ଟ͍ "QQ୯ҐͳͲ ͪΖΜߜͬͯશવྑ͍
1SPQFSUZ*OKFDUPSTͱͷҧ͍ w 1SPQFSUZ*OKFDUPSTʹ͍ͭͯͷࢀߟ ˞IUUQTBXTBNB[PODPNKQCVJMEFST fl BTIDELQSPQFSUZCVMLBQQMZ ˞IUUQTHPUPLIBUFOBCMPHDPNFOUSZDELQSPQFSUZJOKFDUPS
&WFOU#SJEHFΠϕϯτύλʔϯ w &WFOU#SJEHFͷΠϕϯτύλʔϯΛܕ͖Ͱ҆શʹੜ͢ΔΈఏڙ ‣ -$POTUSVDUʹ-$POTUSVDUʹରԠ ‣ ରԠΠϕϯτ͝ͱʹ$%,ϦϙδτϦଆͰࣗಈੜ
·ͱΊ
.JYJOT·ͱΊ w .JYJOTͱ--$POTUSVDUؒͷִͨΓΛຒΊΔͷ ‣ ҙͷ$POTUSVDUʹ߹ͤՄೳͳநԽΛద༻͢ΔΈ --$POTUSVDUͳͲͷϨϕϧΛΘͳ͍ αʔϏεΛލ͙நԽ͋Δ ‣
ར -$POTUSVDUʹ-$POTUSVDUͷநԽΛ෦తɾબతʹద༻Ͱ͖Δ -$POTUSVDUʹ"84αʔϏεͷ৽ػೳΛ͙͢ʹɾܕ҆શʹөͰ͖Δ
ࣗ࡞πʔϧ OSS ͷ͝հ
DELBHD $%,"TTFNCMZ(BSCBHF$PMMFDUPS 㾎ංେԽͨ͠DELPVU͔ΒෆཁͳΞηοτΛআ 㾎Ϗϧυ͞Εͨ%PDLFSΠϝʔδࣗಈͰআ 㾎04ͷUNQσΟϨΫτϦʹཷ·ͬͨ$%,σΟϨΫτϦΛҰ 㾎Πϯετʔϧૢ࡞ෆཁ OQYDELBHDίϚϯυͰଈ࣮ߦ IUUQTHJUIVCDPNHPUPLDELBHD
"84πʔϧ ʲDMTʳ4όέοτΛߴʹআɾۭʹ͢Δπʔϧ ‣ IUUQTHJUIVCDPNHPUPLDMT ʲEFMTUBDLʳ"84$MPVE'PSNBUJPOελοΫڧ੍আπʔϧ ‣ IUUQTHJUIVCDPNHPUPLEFMTUBDL ʲMBNWFSʳ-BNCEBϥϯλΠϜόʔδϣϯݕࡧπʔϧ ‣ IUUQTHJUIVCDPNHPUPLMBNWFS
$%,$POTUSVDUϥΠϒϥϦ ʲJNBHFTDBOOFSXJUIUSJWZʳ$%,Ͱ5SJWZͰίϯςφΠϝʔδεΩϟϯ ‣ IUUQTDPOTUSVDUTEFWQBDLBHFTJNBHFTDBOOFSXJUIUSJWZ ʲJNBHFTDBOOFSXJUIEPDLMFʳ$%,Ͱ%PDLMFͰίϯςφΠϝʔδεΩϟϯ ‣ IUUQTDPOTUSVDUTEFWQBDLBHFTJNBHFTDBOOFSXJUIEPDLMF ʲFMCPUIFSYYBMBSNʳ$%,ͰϚΠφʔͳYY
ͷ&-#ΞϥʔϜ ‣ IUUQTDPOTUSVDUTEFWQBDLBHFTFMCPUIFSYYBMBSN
5IBOL:PV LHPUP "84%FW5PPMT)FSP 9!@TUFQ@UFDI (JU)VC!HPUPL