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
39
AWSアップデートまとめ #しむそく をFun Done Learnで振り返る @ JAWS-UG Tokyo
shimagaji
2
230
Amazon Q DeveloperでMCP Serverを使ってKnowledge Baseを呼び出してみた @ JAWS-UG 彩の国埼玉支部#1
shimagaji
1
300
KAG社内のPlatform Engineeringをちょっとだけ紹介します @ Sapporo Engineer Base
shimagaji
0
34
日本からre:Inventを支えた活動報告&ミニre:Cap @ JAWS-UG Sapporo
shimagaji
0
83
Step FunctionsとInfrastructure Composerで挑むローコード × Platform Engineering @ JAWS-UG 青森
shimagaji
1
280
スクラムチームのDevOpsを支えるPlatform Engineering @ 実践DevOps! 〜KAGとkubellの取り組み〜
shimagaji
0
98
日本からre:Inventを支える技術 @ re:Invent2024 北海道組 事前勉強会
shimagaji
0
110
KDDI CCoEからKAG Platform Engineeringへ受け継がれたもの、変わったもの @ CCoE実践者コミュニティ北海道
shimagaji
0
99
Featured
See All Featured
The Pragmatic Product Professional
lauravandoore
35
6.7k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
The Cult of Friendly URLs
andyhume
79
6.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Bash Introduction
62gerente
614
210k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
YesSQL, Process and Tooling at Scale
rocio
172
14k
Code Reviewing Like a Champion
maltzj
524
40k
Building Applications with DynamoDB
mza
95
6.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Six Lessons from altMBA
skipperchong
28
3.8k
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ʂ