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
SimSta
November 22, 2024
390
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Step FunctionsとInfrastructure Composerで挑むローコード × Platform Engineering @ JAWS-UG 青森
SimSta
November 22, 2024
More Decks by SimSta
See All by SimSta
KAGにおけるClaude Enterpriseの社内導入プロセスを振り返る @ KAG AI Week Summer
shimagaji
1
120
緊急地震速報を受信したら配信を制御する仕組みを作ってみた @Media-JAWS x JAWS-UG千葉
shimagaji
1
140
セキュリティ運用エージェントGuardDuty-Operatorを作って社内に配ってみた @ JAWS-UG SRE支部
shimagaji
2
270
祝日にも対応なコスト節約ツールNAT-Schedulerの紹介 @ JAWS-UG 札幌×秋田コラボ
shimagaji
1
170
AgentCore RuntimeのCDKデプロイにdeploy-time-buildを使ってみよう @ JAWS-UG Sapporo
shimagaji
2
170
AWSの2025年最新トレンドをフル活用してフルサーバーレスな司書エージェントを作ってみた @ JAWS-UG Sapporo
shimagaji
3
340
AWS Media Servicesを使ってAmazon IVSとYouTubeへの同時配信を試してみた @ JAWS-UG千葉支部 x Media-JAWS
shimagaji
1
170
AWSアップデートまとめ #しむそく をFun Done Learnで振り返る @ JAWS-UG Tokyo
shimagaji
2
340
Amazon Q DeveloperでMCP Serverを使ってKnowledge Baseを呼び出してみた @ JAWS-UG 彩の国埼玉支部#1
shimagaji
1
550
Featured
See All Featured
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.9k
Facilitating Awesome Meetings
lara
57
7k
Producing Creativity
orderedlist
PRO
348
40k
Making the Leap to Tech Lead
cromwellryan
135
10k
How to Think Like a Performance Engineer
csswizardry
28
2.7k
Building an army of robots
kneath
306
46k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
360
The agentic SEO stack - context over prompts
schlessera
0
850
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
370
Testing 201, or: Great Expectations
jmmastey
46
8.2k
WENDY [Excerpt]
tessaabrams
11
38k
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ʂ