Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Lambdaでサーバレス化した時に考慮し忘れちゃったこと
Search
Yasuhiro Matsuda
November 21, 2021
Technology
640
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lambdaでサーバレス化した時に考慮し忘れちゃったこと
JAWS PANKRATION 2021
の登壇資料の日本語版です。
Yasuhiro Matsuda
November 21, 2021
More Decks by Yasuhiro Matsuda
See All by Yasuhiro Matsuda
明日から業務に使える 生成AI活用ワークショップ
matyuda
0
210
生成AI活用セミナー
matyuda
0
66
中小企業だからこそ狙われる現実を知る
matyuda
0
310
現場で活かす生成AI実践セミナー「広報×AI活用」編
matyuda
0
640
いしかわ暮らしセミナー~知って安心!移住とお金講座~
matyuda
0
340
AI活用ワークショップ
matyuda
0
470
AIを活用した広報と事業計画を一気に学ぶワークショップ
matyuda
0
430
AWSを活用したAIサービス開発(フルバージョン)
matyuda
0
140
AWSを活用したAIサービス開発
matyuda
0
320
Other Decks in Technology
See All in Technology
特殊変数大全
dak2
0
150
【Findyテック文化祭ワークショップ】新卒エンジニア&採用担当と作る、 なりたい姿と今やるべき一歩
dip_tech
PRO
0
130
C#未経験の僕がAIに読めるコードを書かせるまで
maguroalternative
0
330
Snowflake Horizon Catalog と Apache Iceberg で作る オープンなデータ基盤
kitagawaz
0
270
【データ横丁主催】AI Agentがコンテキストを使って仕事をした後、何が残るのか― 組織の経験を次の判断に引き継ぐ「Agent Memory」
shisyu_gaku
2
130
Lambda MicroVMsは常駐サーバーの代わりに なるか? Kiro Crew を動かして検証してみた / Kiro Crew on Lambda MicroVMs
k_adachi_01
2
300
Vibe Coding で作ったプロダクトをどう安全に動かすか / How to Safely Run Products Built with Vibe Coding
glidenote
0
810
3人で1000GPU超を統合運用する?マルチクラウド&オンプレを跨ぐ、構築と運用のリアル!
kazukun0716
2
630
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
1
1k
spanner-autoscalerに学ぶ CRD設計パターン 〜自動化と緊急時対応を両立する Kubernetesコントローラーの作り方〜
tkuchiki
0
200
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
300
Databricksメトリクスビューはじめてのもくもく会
taka_aki
0
110
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
510
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
420
Designing for Performance
lara
611
70k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
580
KATA
mclloyd
PRO
35
16k
Being A Developer After 40
akosma
91
590k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
250
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
Believing is Seeing
oripsolob
1
230
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
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金沢 松田 康宏