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で"使う"GoFデザインパターン 〜実際どうなの?〜 / GoF design ...
Search
k.goto
July 11, 2023
Programming
2.3k
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
AWS CDKで"使う"GoFデザインパターン 〜実際どうなの?〜 / GoF design patterns used with AWS CDK
2023/07/12開催 JAWS-UG CDK支部 #7での発表資料です。
k.goto
July 11, 2023
More Decks by k.goto
See All by k.goto
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.7k
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
4.7k
AWS CDK の目玉新機能「Mixins」とは / cdk-mixins
gotok365
2
720
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
Other Decks in Programming
See All in Programming
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
130
AI時代、エンジニアはどう育つのか -未経験エンジニアの成長を間近で見て考えたこと-
thasu0123
0
210
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
140
作るコストが小さくなった時代 幸せに働くために改めて考えたいこと 〜エンジニアとして価値を出し続けるために注視している二分野〜
yuppeeng
0
140
Lean は証明の正しさを確認するためだけのツールって思ってませんか?
inoueasei
1
130
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
190
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.3k
壊れたパーサから始める関数型設計と構成的なパーサ #fp_matsuri
raiga0310
2
420
<title><a id="</title>君はこのHTMLをパースできるか"></a></title> #雑LT_study
pizzacat83
0
120
Build-to-own AI: Agentic Development for Humans
inesmontani
PRO
0
130
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
440
Foundation Models frameworkで画像分析
ryodeveloper
1
210
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
How to build a perfect <img>
jonoalderson
1
5.8k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
The Curse of the Amulet
leimatthew05
2
13k
A Tale of Four Properties
chriscoyier
163
24k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
390
Java REST API Framework Comparison - PWX 2021
mraible
34
9.6k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
750
Google's AI Overviews - The New Search
badams
0
1.1k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
250
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
LHPUP าͷςοΫ "84$%,ͰֶͿ (P'σβΠϯύλʔϯ ʙ࣮ࡍͲ͏ͳͷʁʙ +"846($%,ࢧ෦ ͏
ࣗݾհ LHPUP w ςοΫϦʔυɾϥʔϝϯ͖ w "84$PNNVOJUZ#VJMEFS %FW5PPMT w าͷςοΫ
ٕज़ϒϩά w ࣗ࡞"84πʔϧͷ044։ൃ w "84$%,$POUSJCVUPS ‣ $POTUSVDU)VCެ։ w 5XJUUFS!@TUFQ@UFDI ‣ LHPUP าͷςοΫ
(P'σβΠϯύλʔϯͱ w ॻ੶ʰΦϒδΣΫτࢦʹ͓͚Δ࠶ར༻ͷͨΊͷσβΠϯύλʔϯʱ ˞ ‣ ௨শʰ(P'ຊʱ ‣ (P' (BOHPG'PVS
͜ͷڞஶऀͷਓ ‣ શύλʔϯ w ݹ͔͘Β͋Δ͕ɺ"84$%,ͷ෦࣮ʹҰ෦༻͍ΒΕ͍ͯΔ ˞ʰΦϒδΣΫτࢦʹ͓͚Δ࠶ར༻ͷͨΊͷσβΠϯύλʔϯʱ ιϑτόϯΫύϒϦογϯά ஶΤʔϦώɾΨϯϚɺϥϧϑɾδϣϯιϯɺϦνϟʔυɾϔϧϜɺδϣϯɾϒϦγσΟʔε ༁ຊҐాਅҰ ٢ాथ
(P'σβΠϯύλʔϯͱ IUUQTEPDTBXTBNB[PODPNKB@KQQSFTDSJQUJWFHVJEBODFMBUFTUCFTUQSBDUJDFTDELUZQFTDSJQUJBDSFVTBCMFQBUUFSOTCFTUQSBDUJDFTIUNM 5ZQF4DSJQUͰ$%,Λॻ͘ࡍͷϕετϓϥΫςΟεͱͯ͠ ެࣜυΩϡϝϯτͰ(P'σβΠϯύλʔϯ͕հ
"84%FW%BZ5PLZP
"84$%,ͰֶͿ(P'σβΠϯύλʔϯ ʙ*B$ʹίʔυઃܭʙ
"84$%,ͰֶͿ(P'σβΠϯύλʔϯ ʙ*B$ʹίʔυઃܭʙ ͏ ʙ࣮ࡍͲ͏ͳͷʁʙ
"84$%,ͷཧɾݱ࣮ w ཧɿJGจGPSจશ෦ແ͠ʂ w ݱ࣮ɿڥࠩҟΛ࣮ݱ͠ͳ͍ͱ͍͚ͳ͍͜ͱʹɾɾɾ ‣ ֤։ൃऀͷڥͰ$IBUCPU TMBDLνϟϯωϧ ɺ8"'ɺ֎ܗࢹ࡞Βͳ͍ ‣
͑ͬɺͦͷڥ͚ͩ*1੍ݶͰ͔͢ʂʁ ݅ذ JGจ ͕ൃੜʂ ίʔυͷෳࡶԽɾංେԽʂ
͑ʁ (P'σβΠϯύλʔϯͬͯ $%,ʹ͑ΔΜͰ͔͢ʁ
$%,º(P'σβΠϯύλʔϯͷϝϦοτ ίʔσΟϯάʹ͓͚Δઃܭ͕͖ࣝɺΞϓϦ։ൃʹੜ͔ͤΔ $%,ίʔυΛޮΑ͘ॻ͚Δ ‣ ݅ذ͕ݮΔ ‣ ݟ௨͕͠ྑ͘ͳΓϑΝΠϧ͕ංେԽ͠ͳ͍ ˠཧղ༰қੑɾ֦ுੑ࠶ར༻ੑͷ্ 㲈อकੑͷ্ $%,ͬͯԿΛ࡞͍ͬͯΔͷ͔Θ͔ΓͮΒ͍͕࣌͋ͬͯɾɾɾ
Πϯελϯεੜͯ͠มʹೖΕͯϝιουݺΜͰذͯ͠ʜ
$%,º(P'σβΠϯύλʔϯͷσϝϦοτ ίʔσΟϯάઃܭͷ͕ࣝ͋Δఔඞཁ ಠࣗ࿏ઢͰ͋Δ ࣮༻ྫ͕গͳ͍ͷͰ ‣ $%,ͷతʮΠϯϑϥߏஙఆٛʯએݴతɾ੩తͳهड़έʔε͕ଟ͍ ޮੑΑΓγϯϓϧʹఆ͚ٛͩฒ͍ͨ ‣
ʮΓա͗ʯʹͳΔՄೳੑ ·ʙͨมͳ͜ͱͯ͠ɺແۤɾΦϨΦϨʹͳͬͪΌ͏ΜͰ͠ΐʁ
(P'σβΠϯύλʔϯιϑτΣΞֶ ܾͯ͠ແۤɾΦϨΦϨͰͳ͍ ύλʔϯɿܕɼ༷ࣜ σβΠϯɿઃܭ
"84$%,ֵ৽తͳ*B$ ैདྷͷ*B$ʹͳ͍ ༷ʑͳՄೳੑΛൿΊ͍ͯΔ
$%,º(P'σβΠϯύλʔϯͷՄೳੑ w ΞϓϦΠϯϑϥͷ֞ࠜΛ͑ͯΈΔྑ͍͖͔͚ͬʹͳΔ͔͠Εͳ͍ ‣ ʮఆٛΛॻ͍͍ͯΔʯ͔ΒʮίʔσΟϯάΛ͍ͯ͠Δʯͱ͍͏࣮ײͷมԽ ‣ ίʔσΟϯάָ͕͘͠ͳΔɾ։ൃʹڵຯ͕ग़Δ͔͠Εͳ͍ w ࣍ୈͰίʔυΛݟͨ͘͢͠ΓɺอकίετΛԼ͛ΒΕΔ͔͠Εͳ͍ ‣
ೝෛՙ͕Լ͕ͬͨΓ ‣ มߋ࣌ͷίʔυमਖ਼ྔ͕ݮͬͨΓ ैདྷͷΠϯϑϥఆٛͷʹनΘΕ͗͢ͳ͍͍ͯ͘Μ͡Όͳ͍͔ʁ
$%,º(P'σβΠϯύλʔϯͷՄೳੑ w ϧʔϧΛܾΊͯΠϯϑϥఆ͔ٛΒҳ͠ա͗ͳ͍Α͏ʹ w ैདྷͷએݴతͳΠϯϑϥఆٛΛ͑Δ෦ɺϓϩάϥϛϯάݴޠͳΒͰ ͷࣗಈςετͰΧόʔ ‣ 6OJU5FTU 4OBQTIPU5FTU
'JOFHSBJOFE"TTFSUJPOT5FTU 7BMJEBUJPO5FTU ‣ *OUFHSBUJPO5FTU JOUFHUFTUTBMQIB
$%,ͰͷΦεεϝύλʔϯબ ᶃ $PNQPTJUFύλʔϯ ᶄ 5FNQMBUF.FUIPEύλʔϯ ᶅ "CTUSBDU'BDUPSZύλʔϯ $%,ͳΒͰͷπϦʔߏ Λ׆͔ͯ͠ޮԽ ڥؒ
EFWcQSPE ͷࠩҟΛ࣮ݱ ɾڥ͝ͱͷݟ௨͕͠ྑ͘ͳΔ ɾ݅ذΛݮΒͤΔ ɾڞ௨෦ڞ௨Խͯ͠ޮతʹ ͓·͚ɿ'BDBEFύλʔϯ$POTUSVDU
ࢀߟɿᶃ$PNQPTJUFύλʔϯ
ࢀߟɿᶄ5FNQMBUF.FUIPEύλʔϯ
ࢀߟɿᶄ5FNQMBUF.FUIPEύλʔϯ ڥ͝ͱʹॊೈʹόϦσʔγϣϯ༰Λม͑Δʂ ݅ذ࠷খʂ
ࢀߟɿᶅ"CTUSBDU'BDUPSZύλʔϯ
ࢀߟɿᶅ"CTUSBDU'BDUPSZύλʔϯ
ࢀߟɿᶅ"CTUSBDU'BDUPSZύλʔϯ ڥ͝ͱʹॊೈʹߏஙϦιʔεΛม͑Δʂ ݅ذ࠷খʂ
$%,෦ͰΘΕ͍ͯΔύλʔϯ ᶃ 4JOHMFUPOύλʔϯ ‣ 4JOHMFUPO'VODUJPOίϯετϥΫτ ᶄ 4USBUFHZύλʔϯ ‣ 7BMJEBUJPOػೳ /PEFWBMJEBUF
ᶅ 7JTJUPSύλʔϯ ‣ "TQFDUTػೳ ৄࡉ"84%FW%BZ5PLZP ʰ"84$%,ͰֶͿ(P'σβΠϯύλʔϯ ʙ*B$ʹίʔυઃܭʙʱ ొஃࢿྉʹͯʂ ˞ຊࢿྉ࠷ޙʹϦϯΫهࡌ
࠷ޙʹ w "84$%,ͷՄೳੑແݶେ ‣ ৽͍͠ɾࣗ༝͕ߴ͍ނʹϕετϓϥΫςΟε͕ݻ·Γ͖͍ͬͯͳ͍ ͦͦ͜ͷ(P'σβΠϯύλʔϯద༻Έ͍ͨʹɺ·ͩྫ͕ग़͍ͯͳ͔ͬͨΓ ‣ πʔϧͱͯ͠ΤϯδχΞͱͯ͠৳ͼ͠Ζ͕͋Δʂ
$%,ͷ৽ͨͳ͍ํΛฤΈग़͢νϟϯεʂ ීஈΠϯϑϥدΓͷਓΞϓϦ։ൃɾίʔσΟϯάʹ৮ΕͯΈΔྑ͍ػձ͔ʂ "84$%,Λ͍͍ͯ͜͠͏ʂ ༻๏ɾ༻ྔकͬͯͶ (P' ͋Γ͔ʁ
ࢀߟɿ"84%FW%BZొஃࢿྉɾ(JU)VC "84%FW%BZ5PLZP ొஃࢿྉ ࠨɿIUUQTTQFBLFSEFDLDPNHPUPLBXTEFWEBZDELHPGEFTJHOQBUUFSOT $%,º(P'ίʔυ࣮ྫɾΫϥεਤ (JU)VC ӈɿIUUQTHJUIVCDPNHPUPLDELHPGEFTJHOQBUUFSO
એɿࣗ࡞"84πʔϧ044 ʲEFMTUBDLʳ"84$MPVE'PSNBUJPOελοΫڧ੍আπʔϧ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZEFMTUBDL ʲDMTʳ4όέοτߴআɾۭʹ͢Δπʔϧ όʔδϣχϯάରԠ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZDMT ʲMBNWFSʳ-BNCEBϥϯλΠϜόʔδϣϯݕࡧπʔϧ
Ϧʔδϣϯԣஅ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZMBNWFS
5IBOL:PV LHPUP าͷςοΫ