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
220
インナーソースはじめました @ NES Tech Brewery
SimSta
September 25, 2024
Tweet
Share
More Decks by SimSta
See All by SimSta
AWS Media Servicesを使ってAmazon IVSとYouTubeへの同時配信を試してみた @ JAWS-UG千葉支部 x Media-JAWS
shimagaji
1
61
AWSアップデートまとめ #しむそく をFun Done Learnで振り返る @ JAWS-UG Tokyo
shimagaji
2
240
Amazon Q DeveloperでMCP Serverを使ってKnowledge Baseを呼び出してみた @ JAWS-UG 彩の国埼玉支部#1
shimagaji
1
310
KAG社内のPlatform Engineeringをちょっとだけ紹介します @ Sapporo Engineer Base
shimagaji
0
35
日本からre:Inventを支えた活動報告&ミニre:Cap @ JAWS-UG Sapporo
shimagaji
0
85
Step FunctionsとInfrastructure Composerで挑むローコード × Platform Engineering @ JAWS-UG 青森
shimagaji
1
300
スクラムチームのDevOpsを支えるPlatform Engineering @ 実践DevOps! 〜KAGとkubellの取り組み〜
shimagaji
0
99
日本からre:Inventを支える技術 @ re:Invent2024 北海道組 事前勉強会
shimagaji
0
110
KDDI CCoEからKAG Platform Engineeringへ受け継がれたもの、変わったもの @ CCoE実践者コミュニティ北海道
shimagaji
0
100
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.5k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Documentation Writing (for coders)
carmenintech
72
4.9k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Site-Speed That Sticks
csswizardry
10
690
Gamification - CAS2011
davidbonilla
81
5.4k
Facilitating Awesome Meetings
lara
54
6.4k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Embracing the Ebb and Flow
colly
86
4.7k
How to Ace a Technical Interview
jacobian
278
23k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
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ʂ