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
Serverless re:Capしながら LINE Chatbotをほぼノーコードで作る @...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
SimSta
January 13, 2024
260
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Serverless re:Capしながら LINE Chatbotをほぼノーコードで作る @ JAWS-UG Yokohama
SimSta
January 13, 2024
More Decks by SimSta
See All by SimSta
緊急地震速報を受信したら配信を制御する仕組みを作ってみた @Media-JAWS x JAWS-UG千葉
shimagaji
1
120
セキュリティ運用エージェントGuardDuty-Operatorを作って社内に配ってみた @ JAWS-UG SRE支部
shimagaji
2
260
祝日にも対応なコスト節約ツール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
330
AWS Media Servicesを使ってAmazon IVSとYouTubeへの同時配信を試してみた @ JAWS-UG千葉支部 x Media-JAWS
shimagaji
1
160
AWSアップデートまとめ #しむそく をFun Done Learnで振り返る @ JAWS-UG Tokyo
shimagaji
2
330
Amazon Q DeveloperでMCP Serverを使ってKnowledge Baseを呼び出してみた @ JAWS-UG 彩の国埼玉支部#1
shimagaji
1
540
KAG社内のPlatform Engineeringをちょっとだけ紹介します @ Sapporo Engineer Base
shimagaji
0
66
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
Leo the Paperboy
mayatellez
7
1.9k
Evolving SEO for Evolving Search Engines
ryanjones
0
220
Joys of Absence: A Defence of Solitary Play
codingconduct
1
400
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Crafting Experiences
bethany
1
190
Bash Introduction
62gerente
615
220k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
400
AI Search: Where Are We & What Can We Do About It?
aleyda
0
7.6k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
240
Transcript
4FSWFSMFTTSF$BQ͠ͳ͕Β -*/&$IBUCPUΛ΄΅ϊʔίʔυͰ࡞Δ 4JN4UB !TIJNBHBKJ +"846(:PLPIBNB ˡϗϫΠτγϚϦεͷΞϧλ
ࣗݾհ ΈࠐΈ։ൃӉػ੍ޚܥઃܭௐୡʢʣ ʙࡳຈʹҠॅʙ ੑೳࢼݧ($ΦϯϓϨ"84ʢʣ Ϋϥυߏஙӡ༻"84(PPHMF"1/.41ʢͱϲ݄ʣ Ϋϥυߏஙӡ༻Ҡߦ"84٬ઌৗறʢΠϚίίɺͱϲ݄ʣ BOENPSFʜʜʁ 4JN4UBʢΦϯϥΠϯͷ͕ͨ͢ʣ !TIJNBHBKJ 5XJUUFS
"84ೝఆˠ ͖ͳ"84αʔϏεɿ4UFQ'VODUJPOT ಘҙʹͳΓ͍ͨ"84αʔϏεɿ4BHF.BLFS #FESPDL "QQ3VOOFS $%, "NQMJGZ
ϗϫΠτγϚϦεͱ Β͍ͯ͠·͢🐿 ˢେνϧλϦε 5XJUUFSΞΧϯτ͋ΔΑ !BMUB@XIJUFDIJQ
աڈͷొஃࢿྉΞοϓͯ͠·͢ʢࠓͷࢿྉʂʣ IUUQTTQFBLFSEFDLDPNTIJNBHBKJ
ݸਓϒϩάΛӡ༻͍ͯ͠·͢ SF*OWFOUظؒΛؚΉ "84ΞοϓσʔτΛ ຖिߋ৽ʂ ʙ ͦͷଞ ΨδΣοτ γϚϦεͷͳͲ
"HFOEB • ͡Ίʹɿ4FSWFSMFTTϛχSF$BQબ • -*/&$IBUCPUΛ࡞ͯ͠Έͨ • "QQMJDBUJPO$PNQPTFSJO74$PEF • $MPVE'PSNBUJPOͷ(JUಉظ •
-*/&ͱ"84ؒͷଓ • 4UFQ'VODUJPOTͷઃఆ • ࣮͢Δ্Ͱͷҙ • ·ͱΊ
4FSWFSMFTTϛχSF$BQબ
ϛχSF$BQᶃ -BNCEBͳ͠Ͱ ֎෦4BB4Λ ୟ͚Δʂ ςετ͕ ָʹͳΔʂ
ϛχSF$BQᶄ -BNCEBͳ͠Ͱ #FESPDLΛ ݺΔʂ "HFOU Αݺͼ͍ͨ
ϛχSF$BQᶅ $PNQPTFSͷ ("͔࣌Β ͬͯͨػೳʂ
ϛχSF$BQᶆ ϩʔΧϧͰ ͑Δͷ ΊͬͪΌ͍͍
4UFQ'VODUJPOT8PSLGMPX4UVEJP74$PEFͰ͑·͢ʂ #FESPDLΞΫγϣϯͱ)5514ΤϯυϙΠϯτݺͼग़͠ʢޙͷΞϓσͰʣ͑ΔΑ͏ʹͳͬͨ
ϛχSF$BQᶇ 1VTI͚ͩͰ Ϧιʔε͕ ߋ৽Ͱ͖Δʂ $*$%͕ ΊͬͪΌ؆୯ʹ ͳΜͱ4". ͍͚·͢
ϛχSF$BQᶈ ("ޙʹ 4VNNJUͰ ཁग़ͨͭ͠
ϛχSF$BQᶉ $-*͕ ΊͬͪΌָʹ γΣϧ ࡞ͬͯ͘ΕΔ
-*/&$IBUCPUΛ࡞ͯ͠Έͨ
ࢀߟʹ͍ͤͯͨ͞هࣄ ͋Γ͕ͱ͏͍͟͝·͢ ͋Γ͕ͱ͏͍͟͝·͢ IUUQTRJJUBDPN5PEBUFJUFNTCDGCGBDDC IUUQTRJJUBDPNIPPQKQUJUFNTBCDBGC هࣄΑΓൈਮ
-*/&$IBUCPUͷߏXSF$BQ ϛχSF$BQͰհͨ͠ཁૉ͕ʢ΄΅ʣશ෦ΘΕ͍ͯ·͢ Push AWS Cloud Developer Pull API Gateway Step
Functions Bedrock EventBridge API Destination LINE GitHub Webhook CloudFormation Invoke Execute Call HTTPS Endpoint Secrets Manager API Key Application Composer User
-*/&$IBUCPUͷߏXSF$BQ Push AWS Cloud Developer Pull API Gateway Step Functions
Bedrock EventBridge API Destination LINE GitHub Webhook CloudFormation Invoke Execute Secrets Manager API Key Application Composer User ᶄ4'OͰ#FESPDLΛݺͿ ᶃ4'OͰ)5514ΤϯυϙΠϯτΛݺͿ ᶇ$'Oͱ(JUΛಉظ ᶅ"QQMJDBUJPO$PNQPTFSͰ4'Oߏங ᶆ74$PEFͰ"QQMJDBUJPO$PNQPTFS Call HTTPS Endpoint
࡞ͷϙΠϯτൈਮ
࡞ͷϙΠϯτ Push AWS Cloud Developer Pull API Gateway Step Functions
Bedrock EventBridge API Destination LINE GitHub Webhook CloudFormation Invoke Execute Secrets Manager API Key Application Composer User 4'OͷϫʔΫϑϩʔΛ 74$PEFͰߏங -*/&ͱ"84Λ࿈ܞ͢ΔͨΊͷઃఆ $'Oͱ(JUΛ $PEF4UBSଓͰಉظ 74$PEFͷ"QQMJDBUJPO$PNQPTFSͰ "84ϦιʔεΛߏங Call HTTPS Endpoint
"QQMJDBUJPO$PNQPTFSJO74$PEF
"845PPMLJUΛೖΕͯ UFNQMBUFZBNMΛ࡞ͬͯ ʢ্ͷZBNMޙͰʣ "QQMJDBUJPO$PNQPTFSͰ։͚ͩ͘ʂ 74$PEFͰ"QQMJDBUJPO$PNQPTFSΛ։͘ ʢᶉ$PEF8IJTQFSFS$-*ศརʣ
ͱΓ͋͑ͣͭͷϦιʔεΛஔ͘ 4UFQ'VODUJPOTదʹ1BTT͚ͩͰҰ୴࡞ ϦιʔεؒͷϩʔϧϩάτϨʔεউखʹZBNMʹهड़ͯ͘͠ΕΔ ͋Δఔϥοϐϯάͯ͘͠ΕΔͱ͍͏Ͱ$%,5FSSBGPSNͷΑ͏ͳײ֮
͍͢͝ʂԿίʔυॻ͍ͯͳ͍ͷʹZBNM͕Ͱ͖ͯΔʂ
$MPVE'PSNBUJPOͷ(JUಉظ
(JU)VCʹϦϙδτϦΛ༻ҙ ͖ͬ͞࡞ͬͨZBNMΛDPNNJU͠ɺQVTI͓ͯ͘͠
"84ͱ(JU)VCͱͷ$PEF4UBSଓΛ࡞ $PEFγϦʔζͷίϯιʔϧ͔Β࡞Ͱ͖·͢
ʮ(JU͔ΒಉظʯͰ$MPVE'PSNBUJPOελοΫΛ࡞
ςϯϓϨʔτϑΝΠϧʢࠓճUFNQMBUFZBNMʣͷଞʹ ύϥϝʔλΛهड़͢ΔσϓϩΠϑΝΠϧͷ໊લʢࠓճEFQMPZNFOUGJMFZBNMʣΛೖྗ
$MPVE'PSNBUJPO͕ࣗಈͰσϓϩΠ͢ΔͨΊͷ*".ϩʔϧ͕ผ్ඞཁ
ελοΫΛ࡞͢ΔͱϓϧϦΫ͕དྷΔ ঝೝ͢ΕσϓϩΠϑΝΠϧΛউखʹ࡞ͬͯ͘ΕΔͷͰઌʹࣗͰ࡞Βͳͯ͘0, ύϥϝʔλΛࢦఆ͍ͨ͠߹͜͜ʹهड़͢Δ
͋ͱϒϥϯν͕ߋ৽͞ΕΔͨͼʹࣗಈͰมߋηοτ࡞ˠσϓϩΠΛͬͯ͘ΕΔʂ
-*/&ͱ"84ؒͷଓ
-*/&ެࣜΞΧϯτΛ࡞
.FTTBHJOH"1*Λઃఆ 8FCIPPL63-ʹ"1*(BUFXBZͷ63-Λೖྗ -*/&ˠ"1*(BUFXBZͷ࿈ܞ͕Ͱ͖Δ
νϟωϧΞΫηετʔΫϯΛ"1*Ωʔͱͯ͠4FDSFUT.BOBHFSʹอ &WFOU#SJEHF"1*EFTUJOBUJPOΛઃఆ
4UFQ'VODUJPOTͷઃఆ
4UFQ'VODUJPOTͷϫʔΫϑϩʔΛߏஙJO74$PEF #FESPDLʹ͛Δલʹ ૹ৴ݩͷ؆қνΣοΫͱ ϝοηʔδͷଘࡏνΣοΫΛ௨͢ ʢຊ൪༻్ͷ߹ͬͱ͔ͬ͠Γ࡞Δʣ 2JJUBهࣄΛࢀߟʹ+40/Ͱ ύϥϝʔλΛఆٛͨ͠Ҏ֎ ϊʔίʔυͰ࡞ΕͪΌ͍·ͨ͠
4UFQ'VODUJPOTͷ࣮ߦϩʔϧ উखʹݖݶՃͯ͘͠Εͳ͍ͷͰ ZBNMʹॻ͖͢ඞཁ͋Γ ˡ͋·Γྑ͘ͳ͍ྫͰ͢🙅 3FTPVSDFՄೳͳݶΓߜΖ͏ʂ
͋ͱQVTIͨ͠Βʂ
ϓϩϯϓτͱτʔΫը໘ γϚϦεαϧͷؒ͡Όͳ͍Ͱ͢ ᄡೕྨ·ͰḪΕ͔͚ؒͩͲʜ
Ԡ࣌ؒʢ93BZτϨʔεʣ Ԡ·Ͱ͓Αͦඵɺ͏ͪඵ͕#FESPDLʹΑΔੜ ౦ژϦʔδϣϯͷ$MBVEFΛ༻
࣮͢Δ্Ͱͷҙ • ຊ൪༻్Ͱ"1*(BUFXBZʹηΩϡϦςΟڧԽ͕ඞਢ • -BNCEB"VUIPSJ[FSʹΑΔॺ໊ݕূ • "848"'ʹΑΔ߈ܸ͔Βͷอޢ • ࠓճZBNMݸͰ4".ςϯϓϨʔτΛσϓϩΠͰ͖͕ͨ
-BNCEBΛ͢ͳͲ͢Δ߹4".$-*ͰTBNJOJU͢Δ QVTI͢ΔલʹϩʔΧϧςετΛͰ͖ΔΑ͏ʹ͍ͨ͠ • &WFOU#SJEHFͱ4FDSFUT.BOBHFSςϯϓϨʔτʹೖΕΒΕΔ͕ "1*Ωʔͷѻ͍͕໘ͩͬͨͷͰࠓճলུ • ձཤྺΛ౿·͑ͨνϟοτ !IPPQKQO͞Μ͕ࢼͯ͠ΔͬΆ͍Ͱ͢
·ͱΊ • SF*OWFOUͷΞοϓσʔτΛϑϧ׆༻ͯ͠΄΅ϊʔίʔυͰ ੜܥ"*Λͬͨ-*/&$IBUCPUΛ࡞ • ZBNMϑΝΠϧݸ͔Β74$PEFΛͬͯ(6*Ͱߏங͠ɺ Ͱ͖ͨͷΛQVTI͢Δ͚ͩͰ"84ʹϦιʔε͕Ͱ͖Δ •
ηΩϡϦςΟΛߟྀ͢ΔͳΒ-BNCEBʢͱ4".$-*ʣ͕ඞཁ ϓϩμΫγϣϯ༻్ͳΒ͏গ͠࡞Γࠐ͏ • "HFOU,OPXMFEHF#BTF4UFQ'VODUJPOT͚ͩͰݺͼ͍ͨ
ͪΐͬͱ͚ͩએ
"84ೝఆશףʹؔ͢Δʢ෩ͨΓ͕ڧͦ͏ͳʣͰ-5͠·͢
"*ฤ-5͠·͢ʂʢωλߟ͑தʣ
5IBOLZPVʂ