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
スクラムチームのDevOpsを支えるPlatform Engineering @ 実践DevO...
Search
SimSta
November 15, 2024
0
78
スクラムチームのDevOpsを支えるPlatform Engineering @ 実践DevOps! 〜KAGとkubellの取り組み〜
SimSta
November 15, 2024
Tweet
Share
More Decks by SimSta
See All by SimSta
KAG社内のPlatform Engineeringをちょっとだけ紹介します @ Sapporo Engineer Base
shimagaji
0
26
日本からre:Inventを支えた活動報告&ミニre:Cap @ JAWS-UG Sapporo
shimagaji
0
65
Step FunctionsとInfrastructure Composerで挑むローコード × Platform Engineering @ JAWS-UG 青森
shimagaji
1
210
日本からre:Inventを支える技術 @ re:Invent2024 北海道組 事前勉強会
shimagaji
0
94
KDDI CCoEからKAG Platform Engineeringへ受け継がれたもの、変わったもの @ CCoE実践者コミュニティ北海道
shimagaji
0
86
インナーソースはじめました @ NES Tech Brewery
shimagaji
4
180
Step FunctionsからはじめるBedrock @ JAWS-UG AI/ML
shimagaji
2
340
シマリスを知る!2024 @ Cloud in the Camp Horippa
shimagaji
0
77
(ほぼ)ノーコードでもBedrockしたいっ!! @JAWS-UG Sapporo
shimagaji
4
260
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.1k
Agile that works and the tools we love
rasmusluckow
328
21k
Building Applications with DynamoDB
mza
93
6.2k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Automating Front-end Workflow
addyosmani
1366
200k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.1k
YesSQL, Process and Tooling at Scale
rocio
170
14k
It's Worth the Effort
3n
183
28k
What's in a price? How to price your products and services
michaelherold
244
12k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Transcript
εΫϥϜνʔϜͷ%FW0QTΛࢧ͑Δ 1MBUGPSN&OHJOFFSJOH 4JN4UB !TIJNBHBKJ ࣮ફ%FW0QTʂʙ,"(ͱLVCFMMͷऔΓΈʙ LLEFWPQT
ˡϗϫΠτγϚϦεͷΞϧλ
ࣗݾհ ɹ࡛ۄɹʢʙେֶͷ్த·Ͱʣ ˠࡳຈɹʢʙେֶɾʣ ˠਆಸʢʙେֶӃʙब৬ͯ͘͠Β͍ʣ ˠࡳຈɹʢʙͪΐͬͱɺݱࡏʣ ͖ͳ"84αʔϏεɿ4UFQ'VODUJPOT 4JN4UBʢΦϯϥΠϯͷ͕ͨ͢ʣ ,%%*ΞδϟΠϧ։ൃηϯλʔגࣜձࣾ ϓϥοτϑΥʔϜΤϯδχΞϦϯά෦ !TIJNBHBKJ
5XJUUFS 4FSWFSMFTT ͝ΧάΧά
ϗϫΠτγϚϦεͱ Β͍ͯ͠·͢🐿 ˢେνϧλϦε 5XJUUFSΞΧϯτ͋ΔΑ !BMUB@XIJUFDIJQ
աڈͷొஃࢿྉΞοϓͯ͠·͢ʢࠓͷࢿྉʂʣ IUUQTTQFBLFSEFDLDPNTIJNBHBKJ
ݸਓϒϩάΛӡ༻͍ͯ͠·͢͠·͕͡ ͠Ήͦ͘ "84ΞοϓσʔτΛ ຖिߋ৽ʂ ͦͷଞ ΫϥυΨδΣοτ γϚϦεͷͳͲ
͠Ήͦ͘3BEJP "84ͷΞοϓσʔτΛαΫοͱΩϟονΞοϓ !͠Ήͦ͘ ຖिਫ༵ʙ ৴தʂ
None
"HFOEB • 1MBUGPSN&OHJOFFSJOHͷ֓ཁ • ,"(ͷ1MBUGPSN&OHJOFFSJOHͱ ࢧԉπʔϧ܈ʮLBHUPPMTʯ • Πϯφʔιʔεͷ׆༻ •
·ͱΊ
1MBUGPSN&OHJOFFSJOHͷ֓ཁ
1MBUGPSN&OHJOFFSJOHʢ1'&ʣͱʁ ϓϥοτϑΥʔϜɾΤϯδχΞϦϯάͱԿ͔ʁ(BSUOFS IUUQTXXXHBSUOFSDPKQKBBSUJDMFTXIBUJTQMBUGPSNFOHJOFFSJOH ҎԼΛຬͨ͢ϓϥοτϑΥʔϜΛ ߏங͢ΔΞϓϩʔνΛࢦ͢ ඪɿ ɾ։ൃऀͷੜ࢈ੑ্ ɾϏδωεՁͷग़ తɿ
ɾ։ൃऀͷೝෛՙΛܰݮ ɾ։ൃऀͷΤΫεϖϦΤϯε্ खஈɿ ɾηϧϑαʔϏεػೳͷॆ࣮ ɾΠϯϑϥӡ༻ͷࣗಈԽ
ΞδϟΠϧ%FW0QTͱ1MBUGPSN&OHJOFFSJOH ϓϥοτϑΥʔϜΤϯδχΞϦϯάͱ IUUQTMFBSONJDSPTPGUDPNKBKQQMBUGPSNFOHJOFFSJOHXIBUJTQMBUGPSNFOHJOFFSJOH 4%-$ ιϑτΣΞ։ൃͷ ϑΣʔζΛࣔ͢ࢦ ΞδϟΠϧ։ൃ খ͍͞αΠΫϧͰͷ ։ൃͷ࣮ફʹΑΔ ૉૣ͍Ձఏڙ
%FW0QT ܧଓతͳσϦόϦʔΛ࣮ݱ͢ΔͨΊͷ ։ൃख๏ͱӡ༻ͷࣗಈԽɾޮԽ 1MBUGPSN&OHJOFFSJOH ։ൃηΩϡϦςΟɾΨόφϯεΛ ڥඋ*B$ɺࣗಈԽͳͲͰࢧԉ "HJMF4%-$4LZSPDLFUJOH:PVS1SPKFDUXJUI"HJMF1SJODJQMFT IUUQTNMTEFWDPNCMPHBHJMFTEMD
ιϑτΣΞ։ൃΛւಓཱྀߦʹྫ͑Δͱʜ 4%-$ త·Ͱͷਤ %FW0QT ަ௨खஈʢΓʣ ΞδϟΠϧ։ൃ ͍ΖΜͳܦ༝ͰඞཁͳͷΛඋ ΥʔλʔϑΥʔϧ։ൃ ୯Ұͷަ௨खஈͰత·Ͱ௨ 1MBUGPSN&OHJOFFSJOH
ަ௨Πϯϑϥ ʢࠃಓɺߴɺۭ࿏ɺߤ࿏ʣ ࡳຈˠവؗߦ͘ͷʹ ͔ͭͯమಓͰ͔͔͕࣌ؒͬͨ ࣨའ͔Βߤ࿏ΛඋͰ͖Ε େ෯ʹ͕࣌ؒॖͰ͖Δ͔͠Εͳ͍ খḺˠߦ͘ͷʹ ߴɺѴɺ۴࿏ͳͲΛܦ༝ͯ͠ ඞཁͳͷΛἧ͍͑ͯ͘ͷ͕ΞδϟΠϧ Γʢెาɺഅɺඈߦધʣ͕%FW0QT ಓͷ։͕1MBUGPSN&OHJOFFSJOH $PQZSJHIU4PVHPV4IPVLFO$0 -UE"MM3JHIUT3FTFSWFE
,"(ͷ1MBUGPSN&OHJOFFSJOHͱ ࢧԉπʔϧ܈ʮLBHUPPMTʯ
,"(1'&νʔϜͷ͓ࣄ • ࣾڞ௨(JU)VC&OUFSQSJTF4FSWFSʢ()&4ʣͷཧ • ()&4ࣗࣾΫϥυڥͷίετ࠷దԽ • ࣗࣾΫϥυڥ*E1ͷӡ༻ɺཧ • ࣗࣾΫϥυڥͱ֤Ҋ݅ڥͷηΩϡϦςΟվળ
ˠ4FDVSJUZ)VC(VBSE%VUZͷಋೖɺཧͳͲ • ֤εΫϥϜνʔϜͷώΞϦϯάɺࢧԉϝχϡʔ࡞ • ͦͷଞ ։ൃऀڥͷҰ෦Πϯϑϥཧ෦తͳ$$P&Λ୲͍ͳ͕Β গͣͭ͠1MBUGPSN&OHJOFFSJOHΛ࣮ફ
ηϧϑαʔϏεܕͷϓϥοτϑΥʔϜ 1MBUGPSN&OHJOFFSJOHPO4FSWFSMFTT IUUQTTQFBLFSEFDLDPN@LFOTIQMBUGPSNFOHJOFFSJOHPOTFSWFSMFTT • "84ͷ߹ɺҎԼͷ͕ͭީิʹͳΓಘΔ • "NB[PO$PEF$BUBMZTU • "844FSWJDF$BUBMPH •
#BDLTUBHF • (JU)VCͳͲͷίʔυϦϙδτϦͰఏڙՄೳ ˠ,"(Ͱࣾͷ(JU)VC&OUFSQSJTF0SHBOJ[BUJPOΛ׆༻
(JU)VC&OUFSQSJTFͷඋʹΑΔ൫ݻΊ ϙʔλϧϦϙδτϦͷ࡞ ϦϙδτϦͷ࡞ϧʔϧ੍ఆ 5FBNTʹΑΔݖݶཧ
ηϧϑαʔϏεπʔϧ܈ʮLBHUPPMTʯ w1MBUGPSN&OHJOFFSJOHͱͯ͠ͷࢧԉπʔϧΛఏڙ͍ͨ͠ͱ͍͏ϞνϕʔγϣϯͰ։࢝ w·ͣݩʑͷ1'&෦ʹΑΔۀʢΠϯϑϥ$$P&دΓʣʹؔ࿈͢ΔͷΛఆ wηΩϡϦςΟɺΨόφϯεܥ wίετͷݮ w(JU)VC&OUFSQSJTFͷར༻ิॿ LBHUPPMT w ϓϥοτϑΥʔϜνʔϜ͕ఏڙ͢ΔࢧԉπʔϧʢϦϙδτϦʣ܈ w
*B$ɺίʔυεχϖοτͳͲศརͳπʔϧɺηΩϡϦςΟ্࣮ࢪͯ͠ཉ͍͠ͷΛల։༧ఆ
LBHUPPMTͷհ • (VBSE%VUZ4VNNBSJ[FS • (VBSE%VUZͷݕग़݁ՌΛ#FESPDLͰ͔Γ͔ͯ͘͢͠Β௨ • 4FDVSJUZ)VCʹू͞Εͨ(VBSE%VUZݕग़݁ՌʹରԠ • $PEF#VJME3VOOFS •
()&ͷ4FMGIPTUFE3VOOFSΛϚωʔδυͰల։ • 71$ͷ࡞͔Β(JU)VC"QQTܦ༝Ͱͷଓ·ͰΨΠυ͖Ͱ࡞ • /"54DIFEVMFS • /"5(BUFXBZΛ༵ͱ࣌ؒͰ࡞আ͠ɺίετΛݮ • TBNQMFTFDVSJUZIVCOPUJGJDBUJPOT • 4FDVSJUZ)VC͔Βͷ௨Λ4MBDLૹ৴͢ΔͨΊͷ5FSSBGPSNίʔυ
ྫɿ(VBSE%VUZ4VNNBSJ[FS (VBSE%VUZ͔Βͷ௨Λ ͦͷ··4/4Ͱૹ৴͢Δͱ ͚ͬ͜͏ೝෛՙߴ͍ͷͰ શ෦#FESPDLʹ͛ͯ ͍͍ײ͡ʹͯ͠௨
ྫɿ(VBSE%VUZ4VNNBSJ[FSͷߏ *B$ʹ*OGSBTUSVDUVSF$PNQPTFSɺΞϓϦέʔγϣϯʹ4UFQ'VODUJPOTΛར༻ͯ͠ ϩʔίʔυ͔ͭ(6*Ͱͷࢹ֮ԽʹΑΔೝෛՙͷܰݮΛ࣮ݱ AWS Cloud GuardDuty Step Functions Bedrock SNS
Invoke Execute EventBridge User Threats E-Mail Publish Slack Security Hub ᶃ(VBSE%VUZͷΠϕϯτΛर͏ ᶄ4FDVSJUZ)VCʹू͞ΕͨΠϕϯτΛर͏ ͷͲͪΒ͔Λબͯ͠σϓϩΠՄೳ
Πϯφʔιʔεͷ׆༻
,"(ͷ৫ͱ1MBUGPSN&OHJOFFSJOHతͳ՝ • ,"(ͷ৫ܗଶ • ࣄۀձࣾͱҟͳΓɺ֤Ҋ֤݅νʔϜͰγεςϜ͕ҟͳΔ • "84͚ͩͰͳ͘(PPHMF$MPVE"[VSFͷҊ݅ͦͦ͜͜ • ਤʢཱྀߦઌʣަ௨खஈʢࣗಈंɺమಓɺඈߦػɺધʣ͕όϥόϥ
ˠಓ࿏͚ͩͰͳ͘ઢ࿏ۭ࿏ɺߤ࿏උ͠ͳ͚ΕͳΒͳ͍ • ϓϥοτϑΥʔϜνʔϜͷݶք • ΧόʔͰ͖Δٕज़ྖҬ͕ݶΒΕͯ͠·͏ ˠʮࢧԉͰ͖ΔͷʯͱʮٻΊΒΕ͍ͯΔͷʯͷΞϯϚον • πʔϧ૿ՃʹΑΔϝϯςφϯεվળ͕Ͱ͖Δ࿑ྗͷෆ • ಓ࿏Ҏ֎Λ։Ͱ͖ΔϦιʔεϊϋ͕Γͳ͍ • ޮՌతʹ֤νʔϜΛࢧԉͰ͖Δ͔ͱ͍͏ෆ҆ɾɾɾ
ͦΜͳͱ͖ʹग़ձͬͨͷ͕ ͪ͜Β
IUUQTZPVUVCF/0I@J'-:D TJ@,NF.TX#RER1(
None
ɹͦ͏ͩɺ ɹΠϯφʔιʔεɺ ɹΖ͏ɻ
Πϯφʔιʔεͱʁ ΠϯφʔιʔεͰ࢝ΊΔ৫Φʔϓϯιʔε։ൃೖ IUUQTTQFBLFSEFDLDPNZVIBUUPSJOOFSTPVSDFMFBSOJOHQBUIKBQBOFTF ҰݴͰද͢ͱʮࣾΦʔϓϯιʔεʯ
LBHUPPMTͷํมߋ LBHUPPMT w ϓϥοτϑΥʔϜνʔϜ͕ఏڙ͢ΔࢧԉπʔϧʢϦϙδτϦʣ܈ w *B$ɺίʔυεχϖοτͳͲศརͳπʔϧɺηΩϡϦςΟ্࣮ࢪͯ͠ཉ͍͠ͷΛల։༧ఆ w $0/53*#65*/(NEΛઃ͚ɺ։ൃऀ͔ΒͷίϯτϦϏϡʔγϣϯΛΦʔϓϯʹड͚ೖΕ
LBHJTNͷՃ ͲͪΒΠϯφʔιʔεʢࣾΦʔϓϯιʔεʣͷҐஔ͚ ཧӡ༻ͷओମ͕ϓϥοτϑΥʔϜνʔϜ͔༗ࢤ͔ͷҧ͍ LBHUPPMT w ϓϥοτϑΥʔϜνʔϜ͕ఏڙ͢ΔࢧԉπʔϧʢϦϙδτϦʣ܈ w *B$ɺίʔυεχϖοτͳͲศརͳπʔϧɺηΩϡϦςΟ্࣮ࢪͯ͠ཉ͍͠ͷΛల։༧ఆ w $0/53*#65*/(NEΛઃ͚ɺ։ൃऀ͔ΒͷίϯτϦϏϡʔγϣϯΛΦʔϓϯʹड͚ೖΕ
LBHJTN w ֤νʔϜϧʔϧͳͲɺࣾͷ͋ΒΏΔॴ͔Βఏڙӡ༻͞ΕΔϓϩμΫτ w ϦϙδτϦͷ࡞ϧʔϧʹଇΕ୭Ͱఏڙ0, w ֤ϦϙδτϦͷϧʔϧʹै͑୭ͰίϯτϦϏϡʔτ0, ಠஅͰউखʹ໊͚·ͨ͠
LBHJTNͷJTNͬͯͳʹʁ JOOFSTPVSDFNBO
1MBUGPSN&OHJOFFSJOHºΠϯφʔιʔεͷޮՌ • Φʔϓϯͳڥͷߏங • πʔϧφϨοδΛࣾશମͰڞ༗ɺੵ • ʮंྠͷ࠶ൃ໌ʯͷࢭɺαΠϩԽͷղফ • ίϥϘϨʔγϣϯจԽͷৢ •
ࣗൃతͳϑΟʔυόοΫͱίϯτϦϏϡʔγϣϯͷଅਐ • νʔϜؒɺνʔϜͱ1'&νʔϜؒͷίϛϡχέʔγϣϯڧԽ ˠ֤νʔϜͷʮधཁʯΛΑΓѲͰ͖ΔΑ͏ʹͳΔ • ϓϩμΫτͱ৫ͷվળ • πʔϧͷ࣭։ൃੜ࢈ੑͷ্
,"(1MBUGPSN&OHJOFFSJOHͷ՝ • Πϯφʔιʔεʮ1'&νʔϜͷෛ୲ܰݮʯΛҙຯ͠ͳ͍ • ϝϯςφϯεͷͨΊʹ֤ఏڙπʔϧΛཧղ͢Δඞཁ͕͋Δ • ։ൃνʔϜ͕ٻΊ͍ͯΔͷΛΈऔΓɺఏڙ͢ΔΊΔ • ʮࣗൃతͳࢀՃʯΛଅ͢ڥͮ͘Γ͕ٻΊΒΕΔ •
πʔϧͷఏڙίϯτϦϏϡʔγϣϯ͋͘·Ͱળҙʢ༗ࢤʣ • ͍͔ʹଟ͘ͷϝϯόʔʹಈػ͚Λ༩͑ɺר͖ࠐΊΔ͔͕ॏཁ ˠҰछͷࣾίϛϡχςΟΛ1'&νʔϜ͕ӡӦ͢ΔΑ͏ͳߏਤ • ޮՌͷଌఆΛߦ͏ͨΊͷࢦඪ୳͠ • ΠϯφʔιʔεͷҙٛӨڹΛఆྔతʹଌΔʢ4UBSͳͲʁʣ
ԿΑΓֶΜͰ࣮ફ͖͢ʂ νʔϜτϙϩδʔ Πϯφʔιʔεύλʔϯ ίϛϡχςΟ ͦͷଞ༷ʑͳ ઌਓͷ࣮ફྫ͋Γ
·ͱΊ
·ͱΊ • 1MBUGPSN&OHJOFFSJOHͷऔΓΈΛଅਐ্͍ͯ͘͠Ͱɺ ΠϯφʔιʔεʹײԽ͞Εɺཱ྆ͤ͞ΔܗͰൃ ˠʮLBHUPPMTʯͱʮLBHJTNʯ • 1MBUGPSN&OHJOFFSJOHͱΠϯφʔιʔεͱͷΈ߹ΘͤʹΑΓɺ
αΠϩԽͷղফंྠͷ࠶ൃ໌ͷ੍͕ظͰ͖Δ • Πϯφʔιʔε׆ಈ1'&͕ӡӦ͢ΔίϛϡχςΟ ˠଟ͘ͷਓΛר͖ࠐΈͳ͕ΒɺࣗൃతͳจԽΛৢ͢Δ • ઌਓͷφϨοδͱίϛϡχςΟ͔Βֶͼɺ࣮ફ͢Δʂ
5IBOLZPVʂ