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で コンテナイメージスキャンを行う 〜ECRとその他の方法〜 / cdk-con...
Search
k.goto
October 13, 2023
Programming
2
1.5k
AWS CDKで コンテナイメージスキャンを行う 〜ECRとその他の方法〜 / cdk-container-image-scan
2023/10/16開催 JAWS-UG コンテナ支部 × JAWS-UG 千葉支部 #1 〜今知りたいコンテナセキュリティ〜 での登壇資料です。
k.goto
October 13, 2023
Tweet
Share
More Decks by k.goto
See All by k.goto
AWS CDKにおけるL2 Constructの仕組み / aws-cdk-l2-construct
gotok365
4
970
コミュニティ駆動 AWS CDK ライブラリ「Open Constructs Library」 / community-cdk-library
gotok365
2
330
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
7
2.8k
OSS活動のススメ / oss-activities
gotok365
4
1.1k
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
5
1.7k
S3バケットを高速で削除・空にするツール「cls3」 / s3-deletion-tool-cls3
gotok365
4
870
スタートアップでこそCDKが活きた〜生産性を向上できた5つの理由〜 / startup-cdk-productivity
gotok365
14
4.1k
AWS CDKで"使う"GoFデザインパターン 〜実際どうなの?〜 / GoF design patterns used with AWS CDK
gotok365
4
1.8k
AWS CDKで学ぶGoFデザインパターン〜IaCにもコード設計〜 / aws dev day cdk gof design patterns
gotok365
14
6.7k
Other Decks in Programming
See All in Programming
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
4
850
「影響が少ない」を自分の目でみてみる
o0h
PRO
1
660
エンジニア未経験が最短で戦力になるためのTips
gokana
0
250
Compose Hot Reload is here, stop re-launching your apps! (Android Makers 2025)
zsmb
1
370
パスキーのすべて / 20250324 iddance Lesson.5
kuralab
0
150
国漢文混用体からHolloまで
minhee
1
140
gen_statem - OTP's Unsung Hero
whatyouhide
1
190
ベクトル検索システムの気持ち
monochromegane
30
9.7k
The Weight of Data: Rethinking Cloud-Native Systems for the Age of AI
hollycummins
0
240
ReactFlow への移行で実現するユーザー体験と開発体験の向上
j9141997
0
160
Denoでフロントエンド開発 2025年春版 / Frontend Development with Deno (Spring 2025)
petamoriken
1
1.3k
Java 24まとめ / Java 24 summary
kishida
3
380
Featured
See All Featured
Building Flexible Design Systems
yeseniaperezcruz
328
38k
Music & Morning Musume
bryan
46
6.4k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The World Runs on Bad Software
bkeepers
PRO
67
11k
We Have a Design System, Now What?
morganepeng
51
7.5k
How to Think Like a Performance Engineer
csswizardry
22
1.5k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.5k
Side Projects
sachag
452
42k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
233
17k
Scaling GitHub
holman
459
140k
Transcript
LHPUP าͷςοΫ "84$%,Ͱ ίϯςφΠϝʔδεΩϟϯΛߦ͏ ʙ&$3ͱͦͷଞͷํ๏ʙ +"846(ίϯςφࢧ෦º+"846(ઍ༿ࢧ෦ ࠓΓ͍ͨίϯςφηΩϡϦςΟ
ࣗݾհ LHPUP w ςοΫϦʔυɾϥʔϝϯ͖ w "84$PNNVOJUZ#VJMEFS %FW5PPMT w าͷςοΫ
ٕज़ϒϩά w ࣗ࡞"84πʔϧͷ044։ൃ w "84$%,ίϯτϦϏϡʔλʔ w 9 5XJUUFS !@TUFQ@UFDI ‣ LHPUP าͷςοΫ
͜ͷͷొஃৼΓฦΓ ˙"84%FW%BZ+BQBO ‣ αʔόʔϨεͳϝʔϧૹ৴γεςϜΛ"84$%,Ͱߏங͠ઍਓنͷڥͰӡ༻ͨ͠ ˙+"846($%,ࢧ෦ ‣ $%,Ͱ7BMJEBUJPO͢Δຊͷํ๏ ˙"QQ3VOOFS/JHIU "844UBSUVQ.FFUVQ
‣ "QQ3VOOFSͰ"QQͰͳ͍ͷΛ3VO͢Δ ˙"84$%,$POGFSFODF+BQBO ‣ "84$%,ͱ;PEΛ׆༻ͨ͠όϦσʔγϣϯύλʔϯू ˙+"846(43&ࢧ෦ ‣ $MPVE8BUDIෳ߹ΞϥʔϜͰ&-#ͷ99Λ͍͍ײ͡ʹݕ͠Α͏ͱͨ͠Β͏·͍͔͘ͳ͔ͬͨ ˙"84%FW%BZ5PLZP ‣ "84$%,ͰֶͿ(P'σβΠϯύλʔϯʙ*B$ʹίʔυઃܭʙ ˙+"846($%,ࢧ෦ ‣ "84$%,Ͱ͏(P'σβΠϯύλʔϯʙ࣮ࡍͲ͏ͳͷʁʙ ˙4UBSUVQ%BZ ‣ ελʔτΞοϓͰͦ͜$%,͕׆͖ͨʙੜ࢈ੑΛ্Ͱ͖ͨͭͷཧ༝ʙ ˙+"846($%,ࢧ෦ ‣ $MPVE'PSNBUJPOϢʔβʔ͕$%,ʹೖͯ͠Έͯࢥͬͨ͜ͱ ύωϧσΟεΧογϣϯ ˙+"846(ίϯςφࢧ෦º+"846(ઍ༿ࢧ෦ ‣ "84$%,ͰίϯςφΠϝʔδεΩϟϯΛߦ͏ʙ&$3ͱͦͷଞͷํ๏ʙ $%,ωλ શొஃɿຊ $%,ωλɿຊ $%,ͷେϑΝϯͰ͢ʂʂʂ $%,ͷܒ׆ಈத
ίϯςφηΩϡϦςΟ
AWS CDKͰίϯςφΠϝʔδεΩϟϯΛߦ͏
"84$%,Ͱίϯςφʁ
"84$%, º ίϯςφΠϝʔδϏϧυ
"84$%,ºίϯςφΠϝʔδϏϧυ w "84$%,Ͱ؆୯ʹίϯςφΠϝʔδͷϏϧυ͕Ͱ͖Δ ‣ *B$ϨΠϠʔ *B$ίʔυ ͰͷΠϝʔδϏϧυɾΠϝʔδϓογϡ͕Մೳ $%,Ҏ֎ͷ*B$πʔϧͰ*B$ͷཧ֎ͰΔ͜ͱ͕ଟ͍ ϦϙδτϦ࡞
ΠϝʔδϏϧυ Πϝʔδϓογϡ
"84$%,ºίϯςφΠϝʔδεΩϟϯʁ w "84$%,͚ͩͰΠϝʔδͷϏϧυ͔Βϓογϡ·Ͱग़དྷͯศརʂ w Ͱɺ"84$%,ͰϏϧυͨ͠ΠϝʔδͷεΩϟϯͲ͏ͬͯʁ ‣ ࣮ɾɾɾ
"84$%,ºίϯςφΠϝʔδεΩϟϯʁ w "84$%,͚ͩͰΠϝʔδͷϏϧυ͔Βϓογϡ·Ͱग़དྷͯศརʂ w Ͱɺ"84$%,ͰϏϧυͨ͠ΠϝʔδͷεΩϟϯͲ͏ͬͯʁ ‣ ࣮ɾɾɾ ཱ֬͞Ε͍ͯͳ͍
"84$%,ºίϯςφΠϝʔδεΩϟϯʁ w "84$%,͚ͩͰΠϝʔδͷϏϧυ͔Βϓογϡ·Ͱग़དྷͯศརʂ w Ͱɺ"84$%,ͰϏϧυͨ͠ΠϝʔδͷεΩϟϯͲ͏ͬͯʁ ‣ ࣮ɾɾɾ ཱ֬͞Ε͍ͯͳ͍ ͱ͍͏͔ ͋·Γฉ͔ͳ͍
Ͱ͢ΑͶʁ
ҰൠతͳίϯςφΠϝʔδͷεΩϟϯํ๏ w ҰൠతʹͲ͏ͬͯΠϝʔδεΩϟϯ͢Δͷʁ πʔϧ ‣ &$3 ϕʔγοΫεΩϟϯ
֦ுεΩϟϯ XJUI"NB[PO*OTQFDUPS ‣ αʔυύʔςΟπʔϧ 5SJWZ %PDLMF FUDʜ
ҰൠతͳίϯςφΠϝʔδͷεΩϟϯํ๏ w ҰൠతʹͲ͏ͬͯΠϝʔδεΩϟϯ͢Δͷʁ ϑϩʔ ‣ Ұఆִؒ ఆظ ࣮ߦ
ʹճ ‣ ඇಉظ Πϕϯτ ࣮ߦ ΠϝʔδͷϓογϡΛτϦΨʔ ‣ ಉظ࣮ߦ $*$%ύΠϓϥΠϯͷεςοϓ
ҰൠతͳίϯςφΠϝʔδͷεΩϟϯํ๏ w ಉظ࣮ߦ $*$%ύΠϓϥΠϯͷεςοϓ ͷྫ ΠϝʔδεΩϟϯ ΠϝʔδϏϧυ Πϝʔδϓογϡ
ҰൠతͳίϯςφΠϝʔδͷεΩϟϯํ๏ w ಉظ࣮ߦ $*$%ύΠϓϥΠϯͷεςοϓ ͷྫ ΠϝʔδεΩϟϯ ΠϝʔδϏϧυ Πϝʔδϓογϡ ੬ऑੑݕग़
ҰൠతͳίϯςφΠϝʔδͷεΩϟϯํ๏ w ಉظ࣮ߦ $*$%ύΠϓϥΠϯͷεςοϓ ͷྫ ΠϝʔδεΩϟϯ ΠϝʔδϏϧυ Πϝʔδϓογϡ ͤ͞ͳ͍ ੬ऑੑݕग़
ҰൠతͳίϯςφΠϝʔδͷεΩϟϯํ๏ w ಉظ࣮ߦ $*$%ύΠϓϥΠϯͷεςοϓ ͷྫ ΠϝʔδεΩϟϯ ΠϝʔδϏϧυ Πϝʔδϓογϡ ͤ͞ͳ͍ ੬ऑੑݕग़
ϓογϡΛτϦΨʔʹ σϓϩΠ͢Δέʔε҆৺ σϓϩΠલʹऴྃ
͋ΒͨΊͯ
"84$%,Ͱ ίϯςφΠϝʔδεΩϟϯͬͯ Ͳ͏Δͷʁ
ͱΓ͋͑ͣ
&$3Ͱ ͬͯΈ·͢
"84$%,º&$3Πϝʔδ ϓογϡ εΩϟϯ w 3FQPTJUPSZJNBHF4DBO0O1VTI
"84$%,º&$3Πϝʔδ ϓογϡ εΩϟϯ w ੬ऑੑݕग़࣌ͷಉظతରԠʹ͑ͳ͍ ϓογϡ͕τϦΨʔ ੬ऑੑ͕͋ͬͯ ϓογϡࢭΊΒΕͳ͍ʂ ࣮ߦඇಉظ σϓϩΠࢭ·Βͳ͍ʂ
Ϗϧυ ϓογϡ
͡Ό͋ͦͷଞͷํ๏ʁ
"84$%,ºͦͷଞͷΠϝʔδεΩϟϯ w αʔυύʔςΟπʔϧʁ ‣ 5SJWZ ‣ %PDLMF ‣ FUDʜ w
͔͠͠ʜ ‣ $%,"84༻πʔϧͳͷͰ"84Ϧιʔεͷͷ͔͠ແ͍ جຊతʹ ྫ֎͋Γ
ͦͷଞͷํ๏
ແ͍
͡Ό͋
Ͳ͏͢Δʁ
࡞Ε͍͍͡ΌΜ
$POTUSVDU)VC w $%,ίϯετϥΫτϥΠϒϥϦू IUUQTDPOTUSVDUTEFW ‣ Ҏ্ͷΦʔϓϯιʔεͷ$%,ίϯετϥΫτ͕ެ։ ‣ ݸਓͰ࡞ͬͨࣗ࡞ίϯετϥΫτͷެ։Մೳ
044ͱͯ͠ (JU)VCʹύϒϦοΫϦϙδτϦΛ࡞ $%,ίϯετϥΫτΛ࣮ OQNʹύϒϦογϡ $%,༻λά͚Λͯ͠ ʙेܦͭͱ$POTUSVDU)VCʹࣗಈͰొ͞ΕΔ ίϯετϥΫτ $POTUSVDU $%,ಛ༗ͷࣗ༝ͳཻͷϦιʔεू߹ ίϯϙʔωϯτ ɻ "84ఏڙͷͷ͚ͩͰͳ͘Ϣʔβࣗ༝ʹΊΔɻ
࡞ͬͯΈ·ͨ͠
ࣗ࡞ίϯετϥΫτ "84$%,༻ ˞IUUQTDPOTUSVDUTEFWQBDLBHFTJNBHFTDBOOFSXJUIUSJWZ ˞IUUQTDPOTUSVDUTEFWQBDLBHFTJNBHFTDBOOFSXJUIEPDLMF ᶃ JNBHFTDBOOFSXJUIUSJWZ ˞ ᶄ JNBHFTDBOOFSXJUIEPDLMF
˞ ˞ͱΓ͋͑ͣ5ZQF4DSJQUݶఆͰ༻Մೳ ࠓޙ͍͍͔͛ͯͳͱ ˞ ˞
ࣗ࡞ίϯετϥΫτ "84$%,༻ w ಛ ᶃ $%,ϨΠϠʔ $%,ίʔυ ͰɺίϯςφΠϝʔδεΩϟϯΛߦ͏ ʮ5SJWZʯɾʮ%PDLMFʯΛ$%,Ͱ͑ΔΑ͏ʹͳͬͨʂ
$%,͚ͩͰϏϧυɾϓογϡʹՃ͑ͯεΩϟϯ·Ͱߦ͑ΔΑ͏ʹͳͬͨʂ ᶄ σϓϩΠաఔͰϏϧυͨ͠ΠϝʔδΛ͍ճͨ͢ΊɺແବͳϏϧυ͕ൃੜ͠ͳ͍ ʮεΩϟϯͷͨΊʹϏϧυ͠ɺσϓϩΠͷͨΊʹϏϧυʯͳͲΛ͠ͳ͍ ᶅ ੬ऑੑݕͷࡍɺ&$3ͷΠϝʔδͷϓογϡ$%,σϓϩΠΛࢭΊΒΕΔ
ࣗ࡞ίϯετϥΫτ "84$%,༻ w Έ ‣ $%, $MPVE'PSNBUJPO ʹʮΧελϜϦιʔεʯͱ͍͏ಛघͳϦιʔε͕͋Δ $%,͕ରԠ͍ͯ͠ͳ͍ॲཧΛ-BNCEBͰࣗલͰ࣮Ͱ͖Δػೳ
4/4ͰՄ ‣ ͜ͷΧελϜϦιʔε-BNCEBͰʮ5SJWZʯʮ%PDLMFʯΛୟ࣮͘Λ͢Δ ‣ ͜ΕΛ$POTUSVDUԽ͠ɺ$%,ίʔυͰσϓϩΠϑϩʔʹΈࠐΊΔΑ͏ʹ
ࣗ࡞ίϯετϥΫτ "84$%,༻ ᶃJNBHFTDBOOFSXJUIUSJWZ
ࣗ࡞ίϯετϥΫτ "84$%,༻ ᶃJNBHFTDBOOFSXJUIUSJWZ Ϗϧυ εΩϟϯ ϓογϡ
ࣗ࡞ίϯετϥΫτ "84$%,༻ ᶃJNBHFTDBOOFSXJUIUSJWZ ੬ऑੑݕग़࣌Τϥʔʹͯ͠ ϓογϡͤ͞ͳ͍ʂ σϓϩΠΤϥʔऴྃ Ϗϧυ εΩϟϯ ϓογϡ
ࣗ࡞ίϯετϥΫτ "84$%,༻ ᶃJNBHFTDBOOFSXJUIUSJWZ Φϓγϣϯ৭ʑ͋Γʂ ࢦఆͳ͠Ͱ͍͍ײ͡ʹಈ͖·͢ʂ
ࣗ࡞ίϯετϥΫτ "84$%,༻ ᶃJNBHFTDBOOFSXJUIUSJWZ ΤσΟλ্ͰͷೖྗબɾೖྗิɾEPDग़ྗ ͳͲʹΑΓੜͷπʔϧΑΓศར͔ʂʁ
ࣗ࡞ίϯετϥΫτ "84$%,༻ ᶄJNBHFTDBOOFSXJUIEPDLMF
ࣗ࡞ίϯετϥΫτ "84$%,༻ ᶄJNBHFTDBOOFSXJUIEPDLMF *HOPSFϧʔϧ͕ࢦఆՄೳʂ Ϗϧυ εΩϟϯ ϓογϡ
ࣗ࡞ίϯετϥΫτ "84$%,༻ ᶄJNBHFTDBOOFSXJUIEPDLMF *HOPSFϧʔϧ͕ࢦఆՄೳʂ Ϗϧυ εΩϟϯ ϓογϡ ੬ऑੑݕग़࣌Τϥʔʹͯ͠ ϓογϡͤ͞ͳ͍ʂ σϓϩΠΤϥʔऴྃ
ࣗ࡞ίϯετϥΫτ "84$%,༻ w 5SJWZͷެࣜυΩϡϝϯτͷΤίγεςϜϖʔδʹࡌͤͯΒ͍·ͨ͠ʂ
࠶ܝ ࣗ࡞ίϯετϥΫτ "84$%,༻ ˞IUUQTDPOTUSVDUTEFWQBDLBHFTJNBHFTDBOOFSXJUIUSJWZ ˞IUUQTDPOTUSVDUTEFWQBDLBHFTJNBHFTDBOOFSXJUIEPDLMF ᶃ JNBHFTDBOOFSXJUIUSJWZ ˞ ᶄ
JNBHFTDBOOFSXJUIEPDLMF ˞ ˞ͱΓ͋͑ͣ5ZQF4DSJQUݶఆͰ༻Մೳ ࠓޙ͍͍͔͛ͯͳͱ ˞ ˞
$%,ͰͷΠϝʔδεΩϟϯํ๏ ཱ֬͞Ε͍ͯͳ͍ʁ
ཱ֬͞Ε·ͨ͠ʂ
·ͱΊ w "84$%,Ͱ ಉظతͳ ίϯςφΠϝʔδεΩϟϯͷํ๏ཱ֬͞Ε͍ͯͳ͍ ‣ Ϗϧυɾϓογϡࣗମ؆୯ ‣ &$3ͰͷඇಉظͳϓογϡεΩϟϯ͋Δ w
"84$%,༻ͷࣗ࡞ίϯετϥΫτΛ࡞ͬͨ 5SJWZ൛ɾ%PDLMF൛ ‣ 044ͱͯ͠$POTUSVDU)VCʹެ։ͨ͠ w $%,ͰͷίϯςφΠϝʔδεΩϟϯํ๏ཱ͕֬͞Εͨʂ ʁ ‣ Α͔ͬͨΒͬͯΈ͍ͯͩ͘͞
ࢀߟɿαϯϓϧίʔυ (JU)VC w "84$%,Ͱ ‣ JNBHFTDBOOFSXJUIUSJWZ ‣ JNBHFTDBOOFSXJUIEPDLMF w ΛͬͨαϯϓϧίʔυΛ(JU)VCʹࡌ͍ͤͯΔͷͰΑ͔ͬͨΒͥͻ
IUUQTHJUIVCDPNHPUPLDELJNBHFTDBOUFTU
એɿࣗ࡞"84πʔϧ044 ʲEFMTUBDLʳ"84$MPVE'PSNBUJPOελοΫڧ੍আπʔϧ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZEFMTUBDL ʲDMTʳ4όέοτߴআɾۭʹ͢Δπʔϧ όʔδϣχϯάରԠ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZDMT ʲMBNWFSʳ-BNCEBϥϯλΠϜόʔδϣϯݕࡧπʔϧ
Ϧʔδϣϯԣஅ ‣ IUUQTHPUPLIBUFOBCMPHDPNFOUSZMBNWFS
એɿDMTεϖΠϯޠهࣄ "84&TQBÑPM w "84&TQBÑPMͷํ͕ʮDMT 4আπʔϧ ʯͷεϖΠϯޠهࣄΛॻ͍ͯ͘Ε ·ͨ͠ʂ ‣ ͜ΕͰຊޠɾӳޠɾεϖΠϯޠͷ͔ࠃޠͷهࣄ͕ग़དྷ·ͨ͠ʂ IUUQTEFWUPBXTFTQBOPMDMTCVTRVFEBZFMJNJOBDJPONBTJWBEFCVDLFUTTHC
એɿDMTͷొஃ͠·͢ʂ w 4UPSBHF+"84ͷه೦͖͢ୈճʹ͓ݺͼ͖ɺDMTͷηογϣϯΛͤ͞ ͯ͘͜ͱʹͳΓ·ͨ͠ʂ ‣ ਫ 4UPSBHF+"84
5IBOL:PV LHPUP าͷςοΫ