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
インナーソースはじめました @ NES Tech Brewery
Search
SimSta
September 25, 2024
4
190
インナーソースはじめました @ NES Tech Brewery
SimSta
September 25, 2024
Tweet
Share
More Decks by SimSta
See All by SimSta
KAG社内のPlatform Engineeringをちょっとだけ紹介します @ Sapporo Engineer Base
shimagaji
0
27
日本からre:Inventを支えた活動報告&ミニre:Cap @ JAWS-UG Sapporo
shimagaji
0
72
Step FunctionsとInfrastructure Composerで挑むローコード × Platform Engineering @ JAWS-UG 青森
shimagaji
1
220
スクラムチームのDevOpsを支えるPlatform Engineering @ 実践DevOps! 〜KAGとkubellの取り組み〜
shimagaji
0
81
日本からre:Inventを支える技術 @ re:Invent2024 北海道組 事前勉強会
shimagaji
0
97
KDDI CCoEからKAG Platform Engineeringへ受け継がれたもの、変わったもの @ CCoE実践者コミュニティ北海道
shimagaji
0
92
Step FunctionsからはじめるBedrock @ JAWS-UG AI/ML
shimagaji
2
350
シマリスを知る!2024 @ Cloud in the Camp Horippa
shimagaji
0
84
(ほぼ)ノーコードでもBedrockしたいっ!! @JAWS-UG Sapporo
shimagaji
4
270
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
6
550
Raft: Consensus for Rubyists
vanstee
137
6.8k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Optimizing for Happiness
mojombo
376
70k
Typedesign – Prime Four
hannesfritz
40
2.5k
Side Projects
sachag
452
42k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Navigating Team Friction
lara
183
15k
Transcript
Πϯφʔιʔε ͡Ί·ͨ͠ 4JN4UB !TIJNBHBKJ /&44BQQPSP5FDI#SFXFSZ /FT5FDI#SFXFSZ
ˡϗϫΠτγϚϦεͷΞϧλ
ࣗݾհ ɹ࡛ۄɹʢʙେֶͷ్த·Ͱʣ ˠࡳຈɹʢʙେֶɾʣ ˠਆಸʢʙେֶӃʙब৬ͯ͘͠Β͍ʣ ˠࡳຈɹʢʙͪΐͬͱɺݱࡏʣ ͖ͳ"84αʔϏεɿ4UFQ'VODUJPOT 4JN4UBʢΦϯϥΠϯͷ͕ͨ͢ʣ ,%%*ΞδϟΠϧ։ൃηϯλʔגࣜձࣾ ϓϥοτϑΥʔϜΤϯδχΞϦϯά෦ !TIJNBHBKJ
5XJUUFS 4FSWFSMFTT ΧάΧά
ϗϫΠτγϚϦεͱ Β͍ͯ͠·͢🐿 ˢେνϧλϦε 5XJUUFSΞΧϯτ͋ΔΑ !BMUB@XIJUFDIJQ ࠷ۙॳΊͯ ಈපӃʹߦ͖·ͨ͠
աڈͷొஃࢿྉΞοϓͯ͠·͢ʢࠓͷࢿྉʂʣ IUUQTTQFBLFSEFDLDPNTIJNBHBKJ
ݸਓϒϩάΛӡ༻͍ͯ͠·͢͠·͕͡ ͠Ήͦ͘ "84ΞοϓσʔτΛ ຖिߋ৽ʂ ͦͷଞ ΫϥυΨδΣοτ γϚϦεͷͳͲ
"HFOEB • ϓϥοτϑΥʔϜΤϯδχΞͷ͓ࣄ • Πϯφʔιʔεͱͷग़ձ͍ • ΠϯφʔιʔεͷޮՌͱ͠͞ • ·ͱΊ
ϓϥοτϑΥʔϜΤϯδχΞͷ ͓ࣄ
ϓϥοτϑΥʔϜΤϯδχΞϦϯάͬͯʁ ϓϥοτϑΥʔϜɾΤϯδχΞϦϯάͱԿ͔ʁ(BSUOFS IUUQTXXXHBSUOFSDPKQKBBSUJDMFTXIBUJTQMBUGPSNFOHJOFFSJOH ҎԼΛຬͨ͢ϓϥοτϑΥʔϜΛ ߏங͢ΔΞϓϩʔνΛࢦ͢ ඪɿ ɾ։ൃऀͷੜ࢈ੑ্ ɾϏδωεՁͷग़ తɿ
ɾ։ൃऀͷೝෛՙΛܰݮ ɾ։ൃऀͷΤΫεϖϦΤϯε্ खஈɿ ɾηϧϑαʔϏεػೳͷॆ࣮ ɾΠϯϑϥӡ༻ͷࣗಈԽ
,"(ϓϥοτϑΥʔϜνʔϜͷ͓ࣄ • ࣾڞ௨(JU)VC&OUFSQSJTF4FSWFSʢ()&4ʣͷཧ • ()&4ࣗࣾΫϥυڥͷίετ࠷దԽ • ࣗࣾΫϥυڥ*E1ͷӡ༻ɺཧ • ࣗࣾΫϥυڥͱ֤Ҋ݅ڥͷηΩϡϦςΟվળ
ˠ4FDVSJUZ)VC(VBSE%VUZͷಋೖɺཧͳͲ • ֤εΫϥϜνʔϜͷώΞϦϯάɺࢧԉϝχϡʔ࡞ • ͦͷଞɺͪΐͬͱ֎Ͱͤͳ͍͜ͱͳͲ
,"(ϓϥοτϑΥʔϜνʔϜͷ͓ࣄ • ࣾڞ௨(JU)VC&OUFSQSJTF4FSWFSʢ()&4ʣͷཧ • ()&4ࣗࣾΫϥυڥͷίετ࠷దԽ • ࣗࣾΫϥυڥ*E1ͷӡ༻ɺཧ • ࣗࣾΫϥυڥͱ֤Ҋ݅ڥͷηΩϡϦςΟվળ
ˠ4FDVSJUZ)VC(VBSE%VUZͷಋೖɺཧͳͲ • ֤εΫϥϜνʔϜͷώΞϦϯάɺࢧԉϝχϡʔ࡞ • ͦͷଞɺͪΐͬͱ֎Ͱͤͳ͍͜ͱͳͲ ˠ͜ΕϓϥοτϑΥʔϜΤϯδχΞϦϯάͬΆ͍ ˠ͜ΕϓϥοτϑΥʔϜΤϯδχΞϦϯάͬΆ͍͚Ͳൿີ ˠ͜͜ΑΓ্Πϯϑϥ$$P&ཁૉڧΊ
ηϧϑαʔϏεܕͷϓϥοτϑΥʔϜ 1MBUGPSN&OHJOFFSJOHPO4FSWFSMFTT IUUQTTQFBLFSEFDLDPN@LFOTIQMBUGPSNFOHJOFFSJOHPOTFSWFSMFTT • ҎԼͭʮ1MBUGPSN&OHJOFFSJOHPO4FSWFSMFTTʯ͔Βൈਮ • "NB[PO$PEF$BUBMZTU • "844FSWJDF$BUBMPH •
#BDLTUBHF • ॳظ(JU)VCͳͲͷίʔυϦϙδτϦͰՄೳͰʁͱߟ͑Δ ˠࣾͷ(JU)VC&OUFSQSJTF0SHBOJ[BUJPOΛબఆ
(JU)VC&OUFSQSJTFͷඋʹΑΔ൫ݻΊ ϙʔλϧϦϙδτϦͷ࡞ ϦϙδτϦͷ࡞ϧʔϧ੍ఆ 5FBNTʹΑΔݖݶཧ
(JU)VC&OUFSQSJTFͷඋʹΑΔ൫ݻΊ • ೝෛՙͷݮͱՄࢹੑ্ʹΑΔෛ࠴Խͷ༧ • ϙʔλϧϦϙδτϦͷ࡞ • ϦϙδτϦ࡞ϧʔϧͷ੍ఆ • ηΩϡϦςΟ໘ͷݟ͠ •
5FBNTʹΑΔϦϙδτϦ୯ҐͷΞΫηεݖݶઃఆ • 0SHBOJ[BUJPOʹ͓͚Δ#BTF1FSNJTTJPOTͷແޮԽ • ϦϙδτϦͷ7JTJCJMJUZΛݪଇ1SJWBUFมߋ • ࢧԉπʔϧ܈ͷѪশߟҊ
ࢧԉπʔϧ܈ʮLBHUPPMTʯͷߟҊ wҎԼͷΑ͏ͳͷΛࠓޙ࡞ɾఏڙ༧ఆ w (JU)VC"DUJPOT༻ͷ$PEF#VJME3VOOFSΛల։͢Δπʔϧ w /"5(BUFXBZΛࢦఆͨ࣌ؒ͠ͷΈϓϩϏδϣχϯά͢Δπʔϧ w ։ൃڥ͚ʹ/"5ΠϯελϯεΛ࡞͢ΔςϯϓϨʔτ wίϯϙʔωϯτίʔυεχϖοτͳͲɺ։ൃΛαϙʔτ͢Δͷ࡞͍ͨ͠ LBHUPPMT
w ϓϥοτϑΥʔϜνʔϜ͕ఏڙ͢ΔࢧԉπʔϧʢϦϙδτϦʣ܈ w *B$ɺίʔυεχϖοτͳͲศརͳπʔϧɺηΩϡϦςΟ্࣮ࢪͯ͠ཉ͍͠ͷΛల։༧ఆ
LBHUPPMTୈɿ(VBSE%VUZ4VNNBSJ[FS (VBSE%VUZ͔Βͷ௨Λ ͦͷ··4/4Ͱૹ৴͢Δͱ ͚ͬ͜͏ೝෛՙߴ͍ͷͰ શ෦#FESPDLʹ͛ͯ ͍͍ײ͡ʹͯ͠௨͢Δπʔϧ
(VBSE%VUZ4VNNBSJ[FSͷߏ ௨ઌʹ4MBDLʢ&ϝʔϧՄʣΛ͏͜ͱͰ ʢ΄΅ʣϊʔίʔυΛ࣮ݱ AWS Cloud GuardDuty Step Functions Bedrock SNS
Invoke Execute EventBridge User Threats E-Mail Publish Slack Security Hub ᶃ(VBSE%VUZͷΠϕϯτΛर͏ ᶄ4FDVSJUZ)VCʹू͞ΕͨΠϕϯτΛर͏ ͷͲͪΒ͔Λબͯ͠σϓϩΠՄೳ
LBHUPPMTʢϓϥοτϑΥʔϜΤϯδχΞϦϯάʣͷ՝ • ,"(ͷ৫ܗଶ • ࣄۀձࣾͱҟͳΓɺ֤Ҋ֤݅νʔϜͰγεςϜ͕ҟͳΔ • "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ͬͯͳʹʁ
LBHJTNͷJTNͬͯͳʹʁ JOOFSTPVSDFNBO
ΠϯφʔιʔεͷޮՌͱ͠͞
ΠϯφʔιʔεͷޮՌ • Φʔϓϯͳڥͷߏங • πʔϧφϨοδͷڞ༗ɺࣾશମͰͷੵ • ʮंྠͷ࠶ൃ໌ʯͷࢭ • ίϥϘϨʔγϣϯจԽͷৢ •
ϑΟʔυόοΫͱίϯτϦϏϡʔγϣϯͷଅਐ • νʔϜؒͷڠྗମ੍ͷڧԽɺαΠϩԽͷղফ • ϓϩμΫτͱ৫ͷվળ • ࣭։ൃੜ࢈ੑͷ্ • ৽ͨͳΠϊϕʔγϣϯͷଅਐ
Πϯφʔιʔεͷ͠͞ • ܧଓతͳϝϯςφϯεͷཁٻ • ϝϯςφϯε͞Εͳ͍πʔϧφϨοδෛ࠴Խ͢Δ • ʮ͍͔͠ΒϝϯςͰ͖ͳ͍ʯʮఏڙͯ͠ऴΘΓʯΛແ͍ͨ͘͠ • ίϥϘϨʔγϣϯจԽͷৢ •
(JWFͱ5BLFͷ͕ؔҰํతʹͳΓ͗͢ͳ͍Α͏ʹ͢Δ • ࣗൃతͳίϯτϦϏϡʔγϣϯ͕ߦ͑ΔڥͱจԽ͕ඞཁ • վળʹΑΔޮՌͷଌఆ • ޮՌΛ࣮ײ͢ΔͨΊʹࢦඪΛઃ͚ɺ֤Ҋ݅Ͱܭଌͯ͠Β͏
Πϯφʔιʔεͷ͠͞ • ܧଓతͳϝϯςφϯεͷཁٻ • ϝϯςφϯε͞Εͳ͍πʔϧφϨοδෛ࠴Խ͢Δ • ʮ͍͔͠ΒϝϯςͰ͖ͳ͍ʯʮఏڙͯ͠ऴΘΓʯΛແ͍ͨ͘͠ • ίϥϘϨʔγϣϯจԽͷৢ •
(JWFͱ5BLFͷ͕ؔҰํతʹͳΓ͗͢ͳ͍Α͏ʹ͢Δ • ࣗൃతͳίϯτϦϏϡʔγϣϯ͕ߦ͑ΔڥͱจԽ͕ඞཁ • վળʹΑΔޮՌͷଌఆ • ޮՌΛ࣮ײ͢ΔͨΊʹࢦඪΛઃ͚ɺ֤Ҋ݅Ͱܭଌͯ͠Β͏ ˠࣾͷʮΠϯφʔιʔεʯͱ͍͏ίϛϡχςΟΛӡӦ͍ͯ͘͠͠͞
ʮ͠͞ʯʹର͢Δ,"(ͷ͍͍ॴʢએʣ • ΞδϦςΟͱࣗ༝͕ߴ͍ • উखʹLBHUPPMTͱ͔LBHJTNͱ͔࡞ͬͯڐ͞ΕΔ • ͋Δఔࣗݾͷʹ͓͍ͯਐΊΒΕΔͷͰૉૣ͘औΓΊΔ • ࣦഊΛաʹΊΔจԽ͕ͳ͍ •
৺ཧతͳϓϨογϟʔ͕΄ͱΜͲͳ͍ • ʮೋਓʹགྷΔਓʯ͕͍Δ • औΓΈʹରͯͬͯ͘͠ΕΔޙԡͯ͘͠͠ΕΔਓ͕͍Δ • ʮΠϯφʔιʔεʯͱ͍͏ίϛϡχςΟӡӦ͕ʢൺֱతʣָʹ࣮ફͰ͖Δ ʢࣗͰ͖Δ΄Ͳ؆୯Ͱͳ͍ͷͰؤுΓ·͢ʣ νʔϜʹϊϦΛͨΒͨ࣌͠ʹ͍ͨʮೋਓʹགྷΔਓʯͷڞ௨ IUUQTTQFBLFSEFDLDPNQJZPOBLBKJNBUJNVOJOPSJXPNPUBSBTJUBTIJOJJUBFSSFONVOJZPOHSVSFOOPHPOHUPOHEJBO
ࢀߟɿΞδϟΠϧ։ൃηϯλʔݑষ
ԿΑΓֶΜͰ࣮ફ͖͢ʂ νʔϜτϙϩδʔ Πϯφʔιʔεύλʔϯ ίϛϡχςΟ
࣮ફྫɿEFWJPΑΓ Πϯφʔιʔε1MBUGPSN&OHJOFFSJOH͍ͣΕ,"(͕ࢦ͖࢟͢ͷҰͭͳؾ͕͢Δ $MBTTNFUIPEྲྀͷ1MBUGPSN&OHJOFFSJOH IUUQTEFWDMBTTNFUIPEKQBSUJDMFTDMBTTNFUIPEQMBUGPSNFOHJOFFSJOHEFWJP
࣮ફྫɿ4FSWFSMFTT%BZT5PLZPΑΓ 1MBUGPSN&OHJOFFSJOHͷ࣮ફʹఆ·ͬͨਖ਼ղແ͘ɺ৫ʹద߹͍ͤͯ͘͜͞ͱ͕ॏཁͩͱ௧ײ ͍·͋ΔνʔϜʹϑΟοτͤ͞Δ4FSWFSMFTTͦͯ͠1MBUGPSN&OHJOFFSJOHͷઓ IUUQTTQFBLFSEFDLDPNTFJLFTFSWFSMFTTGJUTUIFUFBNZPVIBWFBOEQMBUGPSNFOHJOFFSJOH
·ͱΊ
·ͱΊ • ϓϥοτϑΥʔϜΤϯδχΞϦϯάͷऔΓΈΛ࢝ΊΔ্Ͱɺ ΠϯφʔιʔεʹײԽ͞Εɺཱ྆ͤ͞ΔܗͰൃ ˠʮLBHUPPMTʯͱʮLBHJTNʯ • ΠϯφʔιʔεʹΑΓνʔϜؒͷίϥϘϨʔγϣϯ͕ਪਐ͞Εɺ
ंྠͷ࠶ൃ໌Λ͙͜ͱ͕Ͱ͖Δ • Πϯφʔιʔε׆ಈίϛϡχςΟʹࣅ͍ͯΔ ˠదʹӡӦ͠ͳ͚ΕޮՌΛൃشͤͣɺٕज़ෛ࠴ͷԹচͱͳΔ • ϓϥοτϑΥʔϜΤϯδχΞͱͯ͠ηϧϑαʔϏεܕͷࢧԉΛਪਐ Πϯφʔιʔε׆ಈͱͷ૬ޮՌʹΑΓɺΑΓ։ൃऀମݧͷ্Λࢦ͢ • ઌਓͷφϨοδͱίϛϡχςΟ͔Βֶͼɺ࣮ફ͢Δʂ
5IBOLZPVʂ