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
Step FunctionsとInfrastructure Composerで挑むローコード ...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
SimSta
November 22, 2024
380
1
Share
Step FunctionsとInfrastructure Composerで挑むローコード × Platform Engineering @ JAWS-UG 青森
SimSta
November 22, 2024
More Decks by SimSta
See All by SimSta
祝日にも対応なコスト節約ツールNAT-Schedulerの紹介 @ JAWS-UG 札幌×秋田コラボ
shimagaji
0
80
AgentCore RuntimeのCDKデプロイにdeploy-time-buildを使ってみよう @ JAWS-UG Sapporo
shimagaji
2
150
AWSの2025年最新トレンドをフル活用してフルサーバーレスな司書エージェントを作ってみた @ JAWS-UG Sapporo
shimagaji
3
330
AWS Media Servicesを使ってAmazon IVSとYouTubeへの同時配信を試してみた @ JAWS-UG千葉支部 x Media-JAWS
shimagaji
1
150
AWSアップデートまとめ #しむそく をFun Done Learnで振り返る @ JAWS-UG Tokyo
shimagaji
2
330
Amazon Q DeveloperでMCP Serverを使ってKnowledge Baseを呼び出してみた @ JAWS-UG 彩の国埼玉支部#1
shimagaji
1
520
KAG社内のPlatform Engineeringをちょっとだけ紹介します @ Sapporo Engineer Base
shimagaji
0
62
日本からre:Inventを支えた活動報告&ミニre:Cap @ JAWS-UG Sapporo
shimagaji
0
140
スクラムチームのDevOpsを支えるPlatform Engineering @ 実践DevOps! 〜KAGとkubellの取り組み〜
shimagaji
0
130
Featured
See All Featured
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
4 Signs Your Business is Dying
shpigford
187
22k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
Navigating Team Friction
lara
192
16k
How Software Deployment tools have changed in the past 20 years
geshan
0
33k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
530
Product Roadmaps are Hard
iamctodd
PRO
55
12k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
RailsConf 2023
tenderlove
30
1.4k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
700
Transcript
4UFQ'VODUJPOTͱ *OGSBTUSVDUVSF$PNQPTFSͰΉ ϩʔίʔυº1MBUGPSN&OHJOFFSJOH 4JN4UB !TIJNBHBKJ +"846(੨ʢ߂લʣ KBXTVHBPNPSJKBXTVHUPIPLV
ˡϗϫΠτγϚϦεͷΞϧλ
ࣗݾհ ɹ࡛ۄɹʢʙେֶͷ్த·Ͱʣ ˠࡳຈɹʢʙେֶɾʣ ˠਆಸʢʙେֶӃʙब৬ͯ͘͠Β͍ʣ ˠࡳຈɹʢʙͪΐͬͱɺݱࡏʣ ͖ͳ"84αʔϏεɿ4UFQ'VODUJPOT 4JN4UBʢΦϯϥΠϯͷ͕ͨ͢ʣ ,%%*ΞδϟΠϧ։ൃηϯλʔגࣜձࣾ ϓϥοτϑΥʔϜΤϯδχΞϦϯά෦ !TIJNBHBKJ
5XJUUFS 4FSWFSMFTT ͝ΧάΧά
,"(ͷւಓ౦ΦϑΟε
,"(ͷւಓ౦ΦϑΟε ʁ ɾͦͷҬʹॅΜͰ͍Δࣾһ͕͍Δ͜ͱ ɾݱ࣌Ͱಓݝ͝ͱʹϲॴ ɾͭ·Γʜʁ
ϗϫΠτγϚϦεͱ Β͍ͯ͠·͢🐿 5XJUUFSΞΧϯτ͋ΔΑ !BMUB@XIJUFDIJQ େνϧλϦε͍ΔΑ
աڈͷొஃࢿྉΞοϓͯ͠·͢ʢࠓͷࢿྉʂʣ IUUQTTQFBLFSEFDLDPNTIJNBHBKJ
ݸਓϒϩάΛӡ༻͍ͯ͠·͢͠·͕͡ ͠Ήͦ͘ "84ΞοϓσʔτΛ ຖिߋ৽ʂ ͦͷଞ ΫϥυΨδΣοτ γϚϦεͷͳͲ
͠Ήͦ͘3BEJP "84ͷΞοϓσʔτΛαΫοͱΩϟονΞοϓ !͠Ήͦ͘ ຖिਫ༵ʙ ৴தʂ
͜ͷ΄͔ɺSF*OWFOUظؒதʙʢ+45ʣຖ৴༧ఆʂ
উखʹର߅͍ͯ͠Δ উखʹର߅͍ͨ͠
"HFOEB • 1MBUGPSN&OHJOFFSJOHͱʁ • ηϧϑαʔϏεπʔϧͷల։ • "84ͰͷϩʔίʔυΞϓϩʔν • LBHUPPMTͷൃ •
ϩʔίʔυº1MBUGPSN&OHJOFFSJOHͷ՝ • ·ͱΊ
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&OHJOFFSJOHPO4FSWFSMFTT IUUQTTQFBLFSEFDLDPN@LFOTIQMBUGPSNFOHJOFFSJOHPOTFSWFSMFTT
ηϧϑαʔϏεܕͷϓϥοτϑΥʔϜ 1MBUGPSN&OHJOFFSJOHPO4FSWFSMFTT IUUQTTQFBLFSEFDLDPN@LFOTIQMBUGPSNFOHJOFFSJOHPOTFSWFSMFTT • "84ͷ߹ɺҎԼͷ͕ͭީิʹͳΓಘΔ • "NB[PO$PEF$BUBMZTU • "844FSWJDF$BUBMPH •
#BDLTUBHF • (JU)VCͳͲͷίʔυϦϙδτϦͰఏڙՄೳ ˠ,"(Ͱࣾͷ(JU)VC&OUFSQSJTF0SHBOJ[BUJPOΛ׆༻
Ͱπʔϧͱ͔ΞϓϦέʔγϣϯͬͯ ࡞Δͷେมͦ͏ʜʁ
ηϧϑαʔϏεπʔϧͷݕ౼ͱ՝ • ࣄۀձࣾͱҟͳΓҊ݅͝ͱʹγεςϜ͕ҟͳΔ ˠڞ௨ͷίϯϙʔωϯτఏڙ͕͍͠ ˠ֤νʔϜͷΞʔΩςΫνϟΛेʹௐࠪ͢Δඞཁ͋Γ • πʔϧཧνʔϜશһ͕ϝϯςφϯεͰ͖Δͷ͕ཧ
ˠ։ൃऀνʔϜͱҟͳΓٕज़ελοΫ͕Ұக͠ʹ͍͘ ɹΠϯϑϥɺγεɺύʔτφʔΛؚΉνʔϜͳͲ • ϝϯςφϯεͷೝෛՙΛͰ͖Δ͚ͩԼ͍͛ͨ ˠίʔυͷϝϯςφϯεͰ͖ΔݶΓͨ͘͠ͳ͍ ˠͦͦίʔυΛ͋·Γॻ͖ͨ͘ͳ͍ɺࢹ֮తײతʹ࡞Γ͍ͨ ɹʢ͕ɺίʔυͱͯ͠อଘ͍ͨ͠ɾɾɾʣ
ίʔυ͕ॻ͚Ε ͍ΖΜͳ͜ͱ͕Ͱ͖Δͷʹʜɻ
ʢ͋·ΓʣίʔυΛॻ͔ͣʹ πʔϧΛ։ൃ͍ͨͬ͠ʂʂ
"84Ͱͷ ϩʔίʔυΞϓϩʔν
4UFQ'VODUJPOT º *OGSBTUSVDUVSF$PNQPTFS
4UFQ'VODUJPOTͱʁ ϩʔίʔυͰ"84֎෦"1*ͱ࿈ܞͯ͠ΞϓϦέʔγϣϯͷ ϫʔΫϑϩʔΛߏஙͰ͖ΔΦʔέετϨʔγϣϯαʔϏε
4UFQ'VODUJPOTͷັྗ ͪ͜ΒͰࢥ͏ଘޠ͖ͬͯ·ͨ͠ IUUQTTQFBLFSEFDLDPNTIJNBHBKJTFSWFSMFTTGJSTUTUFQGVODUJPOTGJSTU
ʲ5PEBZʳ4UFQ'VODUJPOT͕7BSJBCMFTͱ+40/BUBΛαϙʔτ 7BSJBCMFTɿޙଓͷॲཧͰར༻͍ͨ͠มΛ֨ೲͰ͖Δʂ +40/BUBɿ-BNCEBͳ͠Ͱෳࡶͳσʔλૢ࡞Λ࣮ݱʂ 4JNQMJGZJOHEFWFMPQFSFYQFSJFODFXJUIWBSJBCMFTBOE+40/BUBJO"844UFQ'VODUJPOT IUUQTBXTBNB[PODPNCMPHTDPNQVUFTJNQMJGZJOHEFWFMPQFSFYQFSJFODFXJUIWBSJBCMFTBOEKTPOBUBJOBXTTUFQGVODUJPOT “Example": "{% jsonata expression %}"
-BNCEB͕ඞཁͩͬͨॲཧΛ+40/BUB͚ͩͰॻ͚Δʂ εςοϓͷೖग़ྗॲཧϑϩʔ͕γϯϓϧʹʂ ʢ"4-ͷه๏͕γϯϓϧʹͳͬͨͱݴ͍ͬͯͳ͍ʣ ೖྗ͞ΕͨϖΠϩʔυΛ"TTJHO͓ͯ͘͜͠ͱͰ ͲͷεςοϓͰ؆୯ʹݺͼग़ͤΔʂ
*OGSBTUSVDUVSF$PNQPTFSͱʁ $MPVE'PSNBUJPOςϯϓϨʔτΛࢹ֮తʹ࡞ɾදࣔͰ͖ΔαʔϏε ʢݩʑ4".ಛԽͰɺ໊લ"QQMJDBUJPO$PNQPTFSͩͬͨʣ "84ίϯιʔϧɺ·ͨ*%&ͷ"845PPMLJU͔Βར༻Մೳ 4".Ϧιʔεʢ֦ுίϯϙʔωϯτʣͱ$'OϦιʔεͰ͍উख͕ҟͳΔ
4UFQ'VODUJPOTº*OGSBTUSVDUVSF$PNQPTFS *OGSBTUSVDUVSF$PNQPTFS͔Β 4UFQ'VODUJPOTͷ 8PSLGMPX4UVEJPΛ։͚Δʂ
LBHUPPMTͷൃ
ηϧϑαʔϏεπʔϧ܈ʮLBHUPPMTʯ w1MBUGPSN&OHJOFFSJOHͱͯ͠ͷࢧԉπʔϧΛఏڙ͍ͨ͠ͱ͍͏ϞνϕʔγϣϯͰ։࢝ w·ͣݩʑͷ1'&νʔϜʹΑΔۀʢΠϯϑϥ$$P&دΓʣʹؔ࿈͢ΔͷΛఆ wηΩϡϦςΟɺΨόφϯεܥ wίετͷݮ w(JU)VC&OUFSQSJTFͷར༻ิॿ LBHUPPMT w ϓϥοτϑΥʔϜνʔϜ͕ఏڙ͢ΔࢧԉπʔϧʢϦϙδτϦʣ܈ w
*B$ɺίʔυεχϖοτͳͲศརͳπʔϧɺηΩϡϦςΟ্࣮ࢪͯ͠ཉ͍͠ͷΛల։༧ఆ
LBHUPPMTͷհ
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ʹ͛ͯ ͍͍ײ͡ʹͯ͠௨͢Δπʔϧ
௨ઌʹ4MBDLʢ&ϝʔϧՄʣΛ͏͜ͱͰ ʢ΄΅ʣϊʔίʔυΛ࣮ݱ AWS Cloud GuardDuty Step Functions Bedrock SNS Invoke
Execute EventBridge User Threats E-Mail Publish Slack Security Hub ᶃ(VBSE%VUZͷΠϕϯτΛर͏ ᶄ4FDVSJUZ)VCʹू͞ΕͨΠϕϯτΛर͏ ͷͲͪΒ͔Λબͯ͠σϓϩΠՄೳ (VBSE%VUZ4VNNBSJ[FS
(VBSE%VUZ4VNNBSJ[FSͷߏ *OGSBTUSVDUVSF$PNQPTFSͱ 4UFQ'VODUJPOT8PSLGMPX4UVEJPͰՄࢹԽ
$PEF#VJME3VOOFS $PEF#VJMEΛͬͨ4FMGIPTUFE3VOOFSͷηοτΞοϓΛࢧԉ AWS Cloud AWS Cloud Network Load Balancer
NAT gateway GitHub Enterprise NAT gateway CodeBuild ɾ$PEF$POOFDUJPOTϗετ ɾ$PEF$POOFDUJPOTଓ ɾ8FCIPPL ͜ͷϦιʔεҰࣜΛॱ൪ʹ࡞
$PEF#VJME3VOOFSͷߏ $-*·ͨίϯιʔϧͰηοτΞοϓ͕ඞཁͳϦιʔε͋Γ $PEF$POOFDUJPOTϗετͱଓʢ(JU)VC"QQTઃఆʣɺ8FCIPPL
/"54DIFEVMFS /"5(BUFXBZఀࢭͰ͖ͳ͍ͷͰɺεέδϡʔϧͰ࡞আ͢Δઓ๏ͰίετΛઅ AWS Cloud Step Functions NAT Gateway SNS Create
Stack Execute Scheduler User Error Notification Publish Step Functions Execute Scheduler Publish Delete Stack
/"54DIFEVMFSͷߏ
ϩʔίʔυº1MBUGPSN&OHJOFFSJOH ͷ՝
ϩʔίʔυº1MBUGPSN&OHJOFFSJOHͷ՝ • ,"(ͷ৫ܗଶʹجͮ͘ఏڙൣғͷݶք • ࣄۀձࣾͱҟͳΓɺ֤Ҋ֤݅νʔϜͰγεςϜ͕ҟͳΔ • "84͚ͩͰͳ͘(PPHMF$MPVE"[VSFͷҊ݅ͦͦ͜͜ ˠ5FSSBGPSNͳͲͷशख़ͱϝϯςφϯεͷඞཁੑ͕ٻΊΒΕΔ •
ϓϥοτϑΥʔϜνʔϜͷݶք • ΧόʔͰ͖Δٕज़ྖҬ͕ݶΒΕͯ͠·͏ ˠʮࢧԉͰ͖ΔͷʯͱʮٻΊΒΕ͍ͯΔͷʯͷΞϯϚον • πʔϧ૿ՃʹΑΔϝϯςφϯεվળ͕Ͱ͖Δ࿑ྗͷෆ • ϩʔίʔυΞϓϩʔν͕ద༻Ͱ͖ͳ͍έʔεׂΓΔ֮ޛ
՝ʹର͢Δ ͭͷղܾࡦ
None
Πϯφʔιʔεͱʁ ΠϯφʔιʔεͰ࢝ΊΔ৫Φʔϓϯιʔε։ൃೖ IUUQTTQFBLFSEFDLDPNZVIBUUPSJOOFSTPVSDFMFBSOJOHQBUIKBQBOFTF ҰݴͰද͢ͱʮࣾΦʔϓϯιʔεʯ
ΠϯφʔιʔεΛؚΊͨ,"(ͷ1MBUGPSN&OHJOFFSJOH ͲͪΒΠϯφʔιʔεʢࣾΦʔϓϯιʔεʣͱͯ͠ѻ͏ ཧӡ༻ͷओମ͕ϓϥοτϑΥʔϜνʔϜ͔༗ࢤ͔ͷҧ͍ LBHUPPMT w ϓϥοτϑΥʔϜνʔϜ͕ఏڙ͢ΔࢧԉπʔϧʢϦϙδτϦʣ܈ w *B$ɺίʔυεχϖοτͳͲศརͳπʔϧɺηΩϡϦςΟ্࣮ࢪͯ͠ཉ͍͠ͷΛల։༧ఆ w $0/53*#65*/(NEΛઃ͚ɺ։ൃऀ͔ΒͷίϯτϦϏϡʔγϣϯΛΦʔϓϯʹड͚ೖΕ
LBHJTN w ֤νʔϜϧʔϧͳͲɺࣾͷ͋ΒΏΔॴ͔Βఏڙӡ༻͞ΕΔϓϩμΫτ w ϦϙδτϦͷ࡞ϧʔϧʹଇΕ୭Ͱఏڙ0, w ֤ϦϙδτϦͷϧʔϧʹै͑୭ͰίϯτϦϏϡʔτ0, ಠஅͰউखʹ໊͚·ͨ͠
ৄͪ͘͜͠Βʂ IUUQTTQFBLFSEFDLDPNTIJNBHBKJLBHLVCFMMEFWPQT
ֶͿ͜ͱେࣄʂ νʔϜτϙϩδʔ Πϯφʔιʔεύλʔϯ ΠϯφʔιʔεҰछͷ ࣾίϛϡχςΟͳͷͰʜ ͦͷଞ༷ʑͳ ઌਓͷ࣮ફྫ͋Γ
·ͱΊ
·ͱΊ • 1MBUGPSN&OHJOFFSJOHͷऔΓΈʹ͓͚Δϝϯςφϯε ೝෛՙͷʹରԠ͢ΔͨΊɺ"84ͷϩʔίʔυαʔϏεΛ׆༻ ˠ4UFQ'VODUJPOTͱ*OGSBTUSVDUVSF$PNQPTFS • ʮLBHUPPMTʯͱͯ͠ηϧϑαʔϏεπʔϧΛల։ •
ϚϧνΫϥυϦιʔεͷͳͲʹରॲ͘͢ ʮLBHJTNʯͱͯ͠ΠϯφʔιʔεͷऔΓΈਪਐ • ઌਓͷφϨοδͱίϛϡχςΟ͔Βֶͼɺ࣮ફ͢Δʂ
5IBOLZPVʂ