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
390
Twilio Meet Up
honkimi
0
75
利用ユーザーからみた Twilio の紹介
honkimi
0
91
Zendesk App を Heroku で作ってみた話
honkimi
0
130
国内における Twilio x Alexa
honkimi
0
750
Other Decks in Technology
See All in Technology
RSCの時代にReactとフレームワークの境界を探る
uhyo
9
2.7k
Skrub: machine-learning with dataframes
gaelvaroquaux
0
110
Figma + Storybook + PlaywrightのMCPを使ったフロントエンド開発
yug1224
10
3.9k
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
120
iPhone Eye Tracking機能から学ぶやさしいアクセシビリティ
fujiyamaorange
0
490
「魔法少女まどか☆マギカ Magia Exedra」のグローバル展開を支える、開発チームと翻訳チームの「意識しない協創」を実現するローカライズシステム
gree_tech
PRO
0
480
kubellが考える戦略と実行を繋ぐ活用ファーストのデータ分析基盤
kubell_hr
0
130
【初心者向け】ローカルLLMの色々な動かし方まとめ
aratako
7
2.9k
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
recruitengineers
PRO
4
1.8k
退屈なことはDevinにやらせよう〜〜Devin APIを使ったVisual Regression Testの自動追加〜
kawamataryo
4
1.4k
モバイルアプリ研修
recruitengineers
PRO
5
1.7k
2025年にHCP Vaultを学び直して見えた景色 / Lessons and New Perspectives from Relearning HCP Vault in 2025
aeonpeople
0
140
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Making Projects Easy
brettharned
117
6.4k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
6.1k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.1k
Scaling GitHub
holman
463
140k
Into the Great Unknown - MozCon
thekraken
40
2k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Code Review Best Practice
trishagee
70
19k
We Have a Design System, Now What?
morganepeng
53
7.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
284
13k
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ʹͯ