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
640
2
Share
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の仕組み / how-aws-cdk-works
gotok365
18
5.5k
AWS CDK 実践的アプローチ N選 / aws-cdk-practical-approaches
gotok365
8
2.6k
TypeScript製IaCツールのAWS CDKが様々な言語で実装できる理由 ~他言語変換の仕組み~ / cdk-language-transformation
gotok365
10
1.6k
とあるEdTechベンチャーのシステム構成こだわりN選 / edtech-system
gotok365
7
950
CodePipelineのアクション統合から学ぶAWS CDKの抽象化技術 / codepipeline-actions-cdk-abstraction
gotok365
5
540
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
6
1.6k
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
3
590
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
8
3.8k
OSS活動のススメ / oss-activities
gotok365
5
1.9k
Other Decks in Technology
See All in Technology
Oracle AI Database@Google Cloud:サービス概要のご紹介
oracle4engineer
PRO
6
1.5k
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
140
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
410
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
160
Java正規表現エンジン(NFA)の仕組みと パフォーマンスを維持するための最適化手法
takeuchi_132917
0
160
美味しいスイスチーズを作ろう🧀🐭
taigamikami
1
190
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
180
形式手法特論:公平性制約の位相的特徴づけ #kernelvm / Kernel VM Study Kansai 12th
ytaka23
1
640
組織の中で自分を経営する技術
shoota
0
230
20260528_生成AIを専属DSに_Howの次にすべきことを考える
doradora09
PRO
0
270
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
140
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
520
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
55k
The untapped power of vector embeddings
frankvandijk
2
1.7k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
280
The SEO identity crisis: Don't let AI make you average
varn
0
480
Docker and Python
trallard
47
3.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
150
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
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