Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AmazonConnectで作るサーバレス電話確認システム
Search
inamuu
July 12, 2019
Technology
1
1.2k
AmazonConnectで作るサーバレス電話確認システム
社内LTで発表した資料です。
inamuu
July 12, 2019
Tweet
Share
More Decks by inamuu
See All by inamuu
TechBullLT_気軽にはじめる自宅サーバーを支える技術
kzm0211
4
570
メインサービスのDBを1年でAurora1から段階的にAurora3へアップグレードした話
kzm0211
1
240
エンジニアの副業のすゝめ / engineer-sidejob-20200130
kzm0211
0
920
ランサーズのSendGrid活用事例
kzm0211
0
1.5k
元ドラッグストア店員の転職LT
kzm0211
0
1.7k
さよならBIND
kzm0211
3
290
Other Decks in Technology
See All in Technology
re:Inventで気になったサービスを10分でいけるところまでお話しします
yama3133
1
120
新 Security HubがついにGA!仕組みや料金を深堀り #AWSreInvent #regrowth / AWS Security Hub Advanced GA
masahirokawahara
1
1.3k
著者と読み解くAIエージェント現場導入の勘所 Lancers TechBook#2
smiyawaki0820
12
5.8k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
11
390k
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
1
240
日本Rubyの会の構造と実行とあと何か / hokurikurk01
takahashim
4
910
多様なデジタルアイデンティティを攻撃からどうやって守るのか / 20251212
ayokura
0
170
AI時代におけるアジャイル開発について
polyscape_inc
0
130
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
650
寫了幾年 Code,然後呢?軟體工程師必須重新認識的 DevOps
cheng_wei_chen
1
550
eBPFとwaruiBPF
sat
PRO
4
2.5k
Uncertainty in the LLM era - Science, more than scale
gaelvaroquaux
0
800
Featured
See All Featured
How to Ace a Technical Interview
jacobian
280
24k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.8k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building an army of robots
kneath
306
46k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
710
[RailsConf 2023] Rails as a piece of cake
palkan
58
6.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.8k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
92
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
7.8k
Transcript
Amazon Connect で作る サーバーレス電話確認システム ランサーズSREチーム 稲村 2019.7.12(金) \#dev_tech_friday LT vol.1/
ランサーズSREチーム 稲村一真 https://inamuu.com @kzm0211
ランサーズの電話確認システムを 刷新した話をします!✋
電話確認システムとは クライアント様とランサー様それぞれの存在証明の 一つとして電話確認の実施を推奨 プロフィール画面で番号登録した電話から、 弊社指定の番号へ電話をかけていただくことで 電話確認が行われるシステム
移行前の構成 &$͕ 1ZUIPOίʔυαʔόʔʹ͔͠ͳ ͍͔͠Πϯελϯεߏ ཧ͞Εͯͳ͍
移行することになった背景 電話確認を行うサーバーが1台のSPOFだった インフラと一部アプリケーションソースが構成管理されていなかっ た 検証環境が無かった 構築時のドキュメントが古くなり、新規での構築が容易では 無かった
\同じ環境を構築するのたいへん/ LambdaとAmazon Connect連携できるのでは どうやらぜんぶサーバーレスで できるらしいので ぜんぶ作り直ししよう!!
Amazon Connect
AmazonConnectとは マネージドのコールセンターサービス Webベースで電話の受電、架電がおこなえる上 に、東京リージョンに対応 日本語で書いた漢字を含むテキストをそのまま読 み上げてくれる 問い合わせフローを作成できる専用のエディターが ある Lambda連携ができる!
問い合わせフローエディタ
デモ
移行後の構成
移行後の構成 Amazon Connectでフローを作成 Lambda(in VPC)でDBへメールアドレスの確認&更 新&メール送信を実施 Lambdaの返り値に、メールアドレスの確認結果から 判断したアナウンスの文字列を渡す Amazon Connectでは渡された文字列を動的にテキス
ト読み上げさせる メールの配信はSendGridのAPIを使って行う
ちょっと工夫した所 VPCに配置したLambdaは起動に時間がかかる 定期的に実行していれば停止せずに再利用されるが、 しばらくすると停止してしまう Lambdaが起動するまでの間、電話の確認処理で止 まってしまう ClowdWatch Ruleで10分おきにただLambdaを実 行するだけのCronを追加
Lambda Functionのmain関数 def lambda_handler(event, context): '''cloudwatch rulesで引数なしに定期実行することでLambdaを停止し ないための処理を最初に追加''' if 'Details'
not in event: print('keys does not exist') return else: result = phoneCheck(event) return { 'data' : result }
10分おきに実行するCloudWatchRule ただし何も処理しない
まとめ
検証から本番移行まで 短期間でできた \AWSすごい!/
SPOFでレガシーだった環境を サーバーレスな今風な環境に 移行できた \だいぶイケてるのでは/
Amazon ConnectやLambda, SendGridへの理解が深まった \理解できるとぜんぶたのしい!/
マネージドにまかせられるところは どんどんやってきましょう
おしまい☘