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
Lambdaでサーバレス化した時に考慮し忘れちゃったこと
Search
Yasuhiro Matsuda
November 21, 2021
Technology
1
380
Lambdaでサーバレス化した時に考慮し忘れちゃったこと
JAWS PANKRATION 2021
の登壇資料の日本語版です。
Yasuhiro Matsuda
November 21, 2021
Tweet
Share
More Decks by Yasuhiro Matsuda
See All by Yasuhiro Matsuda
マーケティング実践とデジタル活用
matyuda
0
18
カンタンAI活用術
matyuda
0
51
スタートアップ企業の支援のあり方
matyuda
0
34
利益を生まない情報セキュリティとバックアップに投資する重要性
matyuda
0
68
いしかわ暮らしセミナー~移住にまつわるお金の話~
matyuda
0
140
身近なセキュリティについて学びましょう!
matyuda
0
150
情報処理安全確保支援士の視点で考える中小企業におけるセキュリティ対策
matyuda
0
140
5年ぶりに自費で行ったre:Invent
matyuda
0
130
石川県のスタートアップ施策について
matyuda
0
120
Other Decks in Technology
See All in Technology
Amazon CloudWatch Network Monitor のススメ
yuki_ink
0
160
[FOSS4G 2024 Japan LT] LLMを使ってGISデータ解析を自動化したい!
nssv
1
190
dev 補講: プロダクトセキュリティ / Product security overview
wa6sn
0
1.8k
Microsoft MVPになる前、なってから/Fukuoka_Tech_Women_Community_1_baba
nina01
0
180
FOSS4G 2024 Japan コアデイ 一般発表25 PythonでPLATEAUのデータを手軽に扱ってみる
ra0kley
1
140
B2B SaaS × AI機能開発 〜テナント分離のパターン解説〜 / B2B SaaS x AI function development - Explanation of tenant separation pattern
oztick139
1
130
TanStack Routerに移行するのかい しないのかい、どっちなんだい! / Are you going to migrate to TanStack Router or not? Which one is it?
kaminashi
0
290
Lexical Analysis
shigashiyama
1
140
Team Dynamicsを目指すウイングアーク1stのQAチーム
sadonosake
1
290
3次元点群データ「VIRTUAL SHIZUOKA』のオープンデータ化による恩恵と協働の未来/FOSS4G Japan 2024
kazz24s
0
140
Deno+JSRでパッケージを作って公開する
askua
0
120
開発生産性を上げながらビジネスも30倍成長させてきたチームの姿
kamina_zzz
1
980
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
Designing for humans not robots
tammielis
250
25k
Speed Design
sergeychernyshev
24
610
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
109
49k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Agile that works and the tools we love
rasmusluckow
327
21k
Done Done
chrislema
181
16k
How STYLIGHT went responsive
nonsquared
95
5.2k
Building Applications with DynamoDB
mza
90
6.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Transcript
Lambdaでサーバレス化した時に 考慮し忘れちゃったこと JAWS-UG 金沢 松田 康宏
自己紹介 私は金沢市にある印刷会社のインフラエンジニア として2020年まで勤務し、AWSを利用したインフ ラの概念検証を担当 2021年1月よりイースト株式会社に転職 JAWS-UG金沢に2018年より参加し、コアメンバー として活動 ファイナンシャルプランナー (AFP) 趣味はランニング、ボウリング、家庭菜園
#jawsug_kanazawa
#jawsug_kanazawa
金沢支部の紹介 1ヶ月ごとに勉強会を行なっており、AWSに興味ある方、 より一層活用したい方、使っている仲間を見つけたい方 に是非とも参加いただきたいです #jawsug_kanazawa 2019年にAWS Community Day Kanazawaを開催し、120 名以上の方にお集まりいただきました
本日のゴール ・手軽にサーバレスを実現できるLambdaにお ける落とし穴と対応策を理解する ・Lambdaのコールドスタートとスロットリン グについて理解する
本日お話すること ・サーバレス化した概要についてです ・サーバレスに移行した際の落とし穴 ・どうすればよかったのか?
サービス内容の紹介 ・DONGRIという辞書アプリをイースト株式会社では提供して おり、各種辞典、用語集など幅広いラインナップから利用がで きます ・iOS, Android, Windows版を提供 し、複数のディバイスを通して辞 書が利用できることが特徴で、オ ンラインだけでなくオフラインで
も利用できます
システム面での特徴 ・主に学校と自宅で利用されることが多い ・平日日中時間帯と夜間に利用が多い ・特に日中時間帯は授業で一斉に利用されることが多く、瞬 間的なピークが発生しやすい
移行前のアーキテクチャ 複数のEC2をロ ードバランサ― に接続し負荷分 散を行うシンプ ルな構成
旧アーキテクチャが抱えていた課題 ・拡張性がなく、冗長構成を維持するためのコストが高止まり ・ap-northeast-1bのみにインスタンスが構築されており、アベ イラビリティーゾーン障害時にサービス停止となる可能性 ・Windows Serverをベースにしたシステムで保守コストが高 い ・EC2内にある独自データベースを保守することが困難
更新後のアーキテクチャ LambdaとDocumentDBを使った構成 スケーリングできるようにするとと もにマネージドサービスに移行する ことで保守コストを押さえられた 移行途中のため、DocumentDBに移 行されていない辞書については従来 のシステムにリクエストを転送し、 検索を行っている
何が起こったか? 負荷テストを行っていたところ、502エラーが発生 デフォルト1000となっている同時実行数を超えたことが原因
同時実行数の緩和申請 アカウントの同時実行 数を1000→5000に緩和 申請して問題を解決し たつもりでした
しかし… 再度負荷テストを実施したところ、異なるエラーが発生 辞書の検索アルゴリズムが原因でスロットリングが発生していたことがわかる
スロットリングについて
スロットリングについて
どうすればよかったのか? ・処理時間を減らす →コールドスタートを避けProvisioned Concurrrency Setteingsを使用 ex. serverless-provisioned-concurrency-autoscaling
コールドスタートとはなにか?
抜本的な対応策 ・スパイクにも耐えらえる構成を採用することが重 要 ・「ロマンシング サガ リ・ ユニバースの大規模負荷を 処理する Amazon ECS
& Docker運用知見」が非常に 参考になる
まとめ ・採用するアーキテクチャの特徴を良く理解す る ・概念実証時には負荷テストも考慮する ・ドキュメントをよく読もう ・他社の事例を見よう
ご清聴ありがとうございました JAWS-UG金沢 松田 康宏