狠狠撸

狠狠撸Share a Scribd company logo
AWSサーハ?ーレスをつかってみて
ハマったところ
Masaru Kawabata
??紹介
? Masaru	Kawabata
? 株式会社リンクバル
? インフラエンジニア
togetherについて
まずはじめに
リアルタイム飲み会マッチングアプリ「together」リリース
togetherについて
togetherの仕組み
togetherについて
togetherシステム構成
Amazon	 API	
Gateway
Lambda	
function
Amazon
DynamoDB
mobile client
IoT button
togetherについて
togetherシステム構成
Amazon	 API	
Gateway
Lambda	
function
Amazon
DynamoDB
mobile client
IoT button
※このあたりでハマったこと
AWSサーバーレスアーキテクチャ
API Gateway
発生した問題
何回かリクエストを投げるとhttpリクエストコード200だったのが、
429(Too	many	requests)に変わった
原因
API	Gatewayが受け付けることができる、リクエスト数の制限を超えた
AWSサーバーレスアーキテクチャ
API Gateway
解決方法
リクエスト数の上限を調整する。(※設定箇所2箇所あるので注意)
? Stage
? Usage	Plan
AWSサーバーレスアーキテクチャ
Lambda
発生した問題
突然Push通知が繰り返し通知されるようになった
原因
Push通知を実行するLambdaスクリプトでタイムアウトが発生
リトライを繰り返していた
AWSサーバーレスアーキテクチャ
Lambda
解決方法
タイムアウトの時間を延ばす(※デフォルト「0.3秒」)
? PUSH配信処理なので、最大の「5分」に設定
AWSサーバーレスアーキテクチャ
DynamoDB
発生した問題
指定したアトリビュートを条件指定して、データ検索できない
原因
DynamoDBは特定のアトリビュートを指定して、データ検索する場合、
インデックスを作成しなければならない
AWSサーバーレスアーキテクチャ
DynamoDB
解決方法
インデックスを作成する
? DynamoDBではRDBのように、任意のカラムをWHERE句に指定して
データ検索することができないので、インデックス設計は重要
AWSサーバーレスアーキテクチャ
まとめ
サービス 発生した問題 解決方法
API	Gateway
何回かリクエストを投げると
httpリクエストコード200だった
のが、429(Too	many	
requests)に変わった
リクエスト数の上限を調整する
? Stage
? Usage	Plan
Lambda
突然Push通知が繰り返し通知
されるようになった
タイムアウトの時間を延ばす
(※デフォルト「0.3秒」)
DynamoDB
指定したアトリビュートを条件
指定して、データ検索できない
インデックスを作成する
最後に
together最新情報
「渋谷肉横丁」 「東京六本木横丁」でtogetherボタンの設定開始しました!
これを機会にぜひ、togetherを体験してみてください!
ご清聴ありがとうございました

More Related Content

础奥厂サーバーレスをつかってハマったところ