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
サーバーレスアーキテクチャで Twilioを安全に運用しよう!
Search
Kiminari Homma
December 08, 2015
Technology
0
110
サーバーレスアーキテクチャで Twilioを安全に運用しよう!
https://twiliojp-ug.doorkeeper.jp/events/35301
での登壇資料です。
Kiminari Homma
December 08, 2015
Tweet
Share
More Decks by Kiminari Homma
See All by Kiminari Homma
Twilio Meetup 東京 2022/11/11
honkimi
0
58
Twilio iOS 徹底攻略
honkimi
1
1.2k
2021年 Twilio Voice 報告
honkimi
0
310
WebRTC ビジネスの失敗と成功
honkimi
2
1.8k
最近の Twilio トレンド報告
honkimi
0
400
Twilio Meet Up
honkimi
0
76
利用ユーザーからみた Twilio の紹介
honkimi
0
91
Zendesk App を Heroku で作ってみた話
honkimi
0
140
国内における Twilio x Alexa
honkimi
0
750
Other Decks in Technology
See All in Technology
スタートアップにおけるこれからの「データ整備」
shomaekawa
2
470
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
140
CoRL 2025 Survey
harukiabe
0
180
プロダクトのコードから見るGoによるデザインパターンの実践 #go_night_talk
bengo4com
1
2.5k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
3k
BI ツールはもういらない?Amazon RedShift & MCP Server で試みる新しいデータ分析アプローチ
cdataj
0
150
AWS Top Engineer、浮いてませんか? / As an AWS Top Engineer, Are You Out of Place?
yuj1osm
2
210
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
6
1k
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
560
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
930
『OCI で学ぶクラウドネイティブ 実践 × 理論ガイド』 書籍概要
oracle4engineer
PRO
3
220
Featured
See All Featured
Automating Front-end Workflow
addyosmani
1371
200k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Documentation Writing (for coders)
carmenintech
75
5.1k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
353
21k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Six Lessons from altMBA
skipperchong
29
4k
Making Projects Easy
brettharned
120
6.4k
Designing for humans not robots
tammielis
254
26k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
Transcript
5XJMJP"1*ษڧձ7PM αʔόʔϨεΞʔΩςΫνϟ Ͱ5XJMJPΛ҆શʹӡ༻͠Α͏ʂ TFMGSFF MMD ,JNJOBSJ)PNNB
ࣗݾհ
ຊؒ ߖ @kimihom ϘΫίί ӡӦऀ http://www.bokukoko.info/ CTO at selfree,llc Ruby
on Rails, AWS, Heroku, Android, iOS TwilioJP-UG ϝϯόʔ
ίʔϧίωΫτ as a Service ސ٬ใͱ࿈ಈͨ͠ίʔϧηϯλʔΛߏங Webϒϥβ͕ిΘΓ ֨҆ɾຊ֨ػೳɾଈಋೖ ̎िؒແྉτϥΠΞϧ࣮ࢪத αʔϏεհ https://www.callconnect.jp/
$POUFOUT w 5XJMJPͷ෮श w ϑΥʔϧόοΫ63- w αʔόʔϨεΞʔΩςΫνϟ w ٳܜ w
ϋϯζΦϯ
ͷ෮श
Voice Client ిͷड৴ ԻϑΝΠϧ࠶ੜ௨Ի μΠϠϧૢ࡞ʹԠͨ͡ಈ࡞ସ ௨தͷిͷ੍ޚ ిͷൃ৴ ϒϥβɾεϚϗͰి Voice ͱ࿈ಈͯ͋͠ΒΏΔ௨Λૢ࡞
and More.. →ࣗ༝ʹΈ߹ΘͤՄʂ
TwiML Twilio ͰిΛड৴ɾൃ৴͢Δͱ͖ͳͲɺ Twilio ಈ࡞໋ྩΛग़ͨ͢ΊͷXML Ͳ͏͢Ε͍͍ʁ ͜͏͠Ζ(TwiML) Webαʔόʔ <?xml version="1.0"
encoding="UTF-8"?> <Response> <Gather action=“https://www.myapp.com/action”> <Play loop=“5”>https://www.myasset.com/voice.wav</Play> </Gather> </Response> αϯϓϧ
REST API HTTP ௨৴Ͱ Twilio ͷใͷऔಘɾ࡞ɾߋ৽ɾআͳͲΛߦ͏ ֤ݴޠʹରԠ (PHP, Ruby, Python,
Node.js etc) Webαʔόʔ ͜Εͬͯ ͜͏ͳΓ·ͨ͠ ྫ͑ ɾి൪߸ͷऔಘɺߪೖɺআ ɾిΛ͔͚Δɺ௨ͷߋ৽ ɾSMS ૹ৴ ɾͦͷଞɺTwilio ϚΠϖʔδʹ͋Δૢ࡞ΛࣗલͰ࣮
ϑΥʔϧόοΫ63-
ϦΫΤετURL ͱ ϑΥʔϧόοΫURL ి͕͔͔͖ͬͯͨͱ͖ʹɺ࠷ॳʹ Twilo ͕ฉ͖ʹߦ͘ URL Ͳ͏͢Ε͍͍ʁ Error! Webαʔόʔ
ϦΫΤετURL ϦΫΤετ URL ͰTwiMLΛղੳͰ͖ͳ͔ͬͨ߹ʹฉ͖ʹߦ͘URL ϑΥʔϧόοΫ URL ϦΫΤετ URL Ͳ͏͢Ε͍͍ʁ ϑΥʔϧόοΫ URL ͜͏͠Ζ(TwiML)
ʮΞϓϦέʔγϣϯͷΤϥʔ͕ൃੜ͠·ͨ͠ɻʯ 4BZ
1SPCMFN w ిΛ͔͚ͨਓ͔͕͙͢͠ʹΘ͔Βͳ͍ w ΞϥʔττϦΨʔ࠷ͯ͘ w 5XJMJPμογϡϘʔυͷϩάΛຖճݟΔͷେม w ΞϓϦέʔγϣϯͷ͍ͤʹͳͬͯ͠·͏ ͦͷ௨Γ͕ͩ
ϦΫΤετURL ͱ ϑΥʔϧόοΫURL ి͕͔͔͖ͬͯͨͱ͖ʹɺ࠷ॳʹ Twilo ͕ฉ͖ʹߦ͘ URL Ͳ͏͢Ε͍͍ʁ Error! Webαʔόʔ
ϦΫΤετURL ϦΫΤετ URL ͰTwiMLΛղੳͰ͖ͳ͔ͬͨ߹ʹฉ͖ʹߦ͘URL ϑΥʔϧόοΫ URL ϦΫΤετ URL Ͳ͏͢Ε͍͍ʁ ϑΥʔϧόοΫ URL ͜͏͠Ζ(TwiML) ?
ϑΥʔϧόοΫ63-ઌͷ݅ w ϦΫΤετ63-ͱҧ͏αʔόʔͰ͋Δ w ·ͣམͪΔ͜ͱ͕ͳ͍ w ΤϥʔΛݕͰ͖ΔΑ͏ʹ͢ΔͨΊɺ੩తͳϑΝΠ ϧͰͳ͘ɺϓϩάϥϜΛಈ͔͍ͨ͠
ͦ͜Ͱ lαʔόʔϨεΞʔΩςΫνϟz 1)1ͳͲͷαʔόʔΛ͜ͷͨΊʹΘ͟Θ ͟ݐͯΔͷ࡞Δͷཧ͢Δͷ໘ɻ ͓͔͔ͦͯۚ͠Δɻ
"84-BNCEB "NB[PO"1*(BUFXBZ lαʔόʔϨεΞʔΩςΫνϟz
ɾ"84ͷΠϕϯτΛτϦΨʹɺҙͷ ίʔυΛ࣮ߦ ɾ/PEFKT+BWB1ZUIPO ɾ-JOVYڥʹ"844%, *NBHF.BHJDL ͕ଂ ɾOPEF@NPEVMFTͳͲΛ;JQʹݻΊͯΞοϓ ϩʔυՄ ɾ͔݄ʹສ݅ͷϦΫΤετ͓Αͼ
(#ඵͷίϯϐϡʔςΟϯά࣌ؒ ͕ແྉ ɾϩά$MPVE8BUDIͰӾཡ "84-BNCEB
w "NB[PO4ʹը૾͕Ξοϓϩʔυ͞ΕͨλΠϛϯά Ͱɺը૾ΛϦαΠζ w "NB[PO%ZOBNP%#ʹσʔλ͕ೖ͞ΕͨλΠϛϯά ͰɺσʔλΛܗ w $SPOͷΑ͏ʹҰճͷλΠϛϯάͰɺόονॲཧΛ ࣮ߦ w
όοΫάϥϯυδϣϒΛ"84-BNCEBԽ &YBNQMFTPG"84-BNCEB
"NB[PO"1*(BUFXBZ ɾ֎෦"1*Λެ։͢Δͷʹཱͭ ɾ"84-BNCEBΛΤϯυϙΠϯτͱ ͯ͠ࢦఆՄೳ ɾಠࣗ63-ͷൃߦ ɾ"1*ͷόʔδϣϯཧɾ࣮ߦ੍ݶ ɾJ04"OESPJE͚4%,ൃߦ ɾ4XBHHFSରԠ ࠓͷ݄ϦϦʔεʂ ݄ʹ౦ژϦʔδϣϯ։ઃ
ͣͬͱಈ͍͍ͯΔzαʔόʔzͷ֓೦͕ͳ͘ͳΓɺ ඞཁʹͳͬͨͱ͖ʹىಈͯ͠αʔόʔͷΑ͏ʹৼΔ͏ ίετɺߴՄ༻ੑΛ࣮ݱ
:PVS 4FSWFS Ϧ Ϋ Τ ε τ 6 3- Τ
ϥ ʔ ʂ ి ᶃ ᶄ ᶅ "1* (BUFXBZ -BNCEB ϑ Υ ʔ ϧ ό ο Ϋ 6 3 - 5X J. -
5XJMJPϦΫΤετ63-Λ αʔόʔϨεΞʔΩςΫνϟԽʁ ͦΕ (PPE4PMVUJPO
ࠓճͷϋϯζΦϯ w "84-BNCEBͷίʔυ࡞ w "NB[PO"1*(BUFXBZͷઃఆͱσϓϩΠ w ϑΥʔϧόοΫ63-Λ"NB[PO"1*(BUFXBZ w 5XJMJPͷϦΫΤετ63-Λଘࡏ͠ͳ͍63- w
ಈ࡞֬ೝ
ϋϯζΦϯखॱ݄ͷ 5XJMJP"EWFOU$BMFOEBSʹͯ