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 の目玉新機能「Mixins」とは / cdk-mixins
Search
k.goto
February 24, 2026
Technology
730
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
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
4.7k
AWS CDKの仕組み / how-aws-cdk-works
gotok365
18
5.8k
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
1k
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
560
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
6
1.6k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
3
620
Other Decks in Technology
See All in Technology
PLaMoを毎日の開発で使い育てていく
pfn
PRO
0
180
ブラウザ研修 2026
recruitengineers
PRO
3
500
認知負荷をGemini で溶かす — GKE 基盤「Orbit」における AI エージェントの実践
sansantech
PRO
1
250
[しろおび夏祭り2026] チャットするAIから、作業するAIへ - 使われ方の変化と、その裏側で起きていること
kk0n
0
1.6k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.9k
QAエンジニア起点で進める、SmartHRにおける信頼性向上について
kaomi_wombat
1
100
【CEDEC2026】専門性の高いデフォルメチームが挑んだ人材育成戦略 〜Cygames Academiaの企画から実施まで〜
cygames
PRO
0
320
20260801_スクフェス大阪
kgnkhkr
1
1.1k
NetBoxを利用した作業効率化の試み_NetDevNight4
tnoha
0
460
20260608_Codexの可能性_ノンプログラマー向け_大城追記
doradora09
PRO
0
760
AIエージェントの知識表現と推論に なぜグラフが使われるのか - 記号的AIの復権とニューラルAIとの統合
yohei1126
1
280
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
1.5k
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
sira's awesome portfolio website redesign presentation
elsirapls
0
320
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.1k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
680
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Speed Design
sergeychernyshev
33
2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
630
Done Done
chrislema
186
16k
Designing for humans not robots
tammielis
254
26k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
480
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