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
Web APIのAWS Lambda移行で工夫したこと
Search
iwamot
PRO
May 21, 2024
Technology
4.3k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Web APIのAWS Lambda移行で工夫したこと
2024-05-22
アーキテクチャを突き詰める Online Conference
https://findy.connpass.com/event/314782/
iwamot
PRO
May 21, 2024
More Decks by iwamot
See All by iwamot
MCP Appsを作ってみよう
iwamot
PRO
4
810
自己紹介
iwamot
PRO
1
120
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
950
8万デプロイ
iwamot
PRO
2
420
AIエージェント・マイクロサービス時代。AWSでの手軽な構築法を考えて試してみた
iwamot
PRO
1
130
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
10
2.9k
Developer Certificate of Origin、よさそう
iwamot
PRO
0
120
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた CODT 2025 クロージングイベント版
iwamot
PRO
1
220
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた
iwamot
PRO
3
200
Other Decks in Technology
See All in Technology
AI-DLCって実際どう? 〜聞きたいこと全部聞いてみる〜
news_it_enj
0
180
Bet AI Day 2026丨AIを「使う」から、AIが「働く」へ ― LayerXが進める「組織AI」の社会実装
layerx
PRO
2
1.6k
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
180
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
55k
[RSJ26] AnoleVLA: Lightweight Vision-Language-Action Model with Deep State Space Models for Mobile Manipulation
keio_smilab
PRO
0
120
Claude Codeの体系的な理解と知識のフック
oikon48
10
6.6k
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
9.2k
[DroidKaigi 2026] Making UI specifications visible: Android UI development in the AI agent era supported by Compose Screenshot Testing and galleries
syarihu
0
480
AIエージェントを雇う前に決める5つのこと
knishioka
1
140
全社に広がるMCPサーバーを、 どう安全に管理するか MCPass開発の舞台裏
mtpooh
3
260
こんなアーキテクチャ図は嫌だ BEYOND THE TIME: 半年後の自分へ贈る15のメッセージ / 15 of Anti-pattern in AWS Architecture Diagrams
naospon
2
170
When Token Pruning is Worse than Random: Understanding Visual Token Information in VLLMs
sansantech
PRO
0
240
Featured
See All Featured
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
Facilitating Awesome Meetings
lara
57
7.1k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
710
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
290
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
410
GraphQLとの向き合い方2022年版
quramy
50
15k
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
180
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
180
Transcript
Web APIのAWS Lambda移行で工夫したこと 2024-05-22 アーキテクチャを突き詰める Online Conference https://findy.connpass.com/event/314782/ ENECHANGE株式会社 VPoT兼CTO室マネージャー
岩本 隆史
岩本 隆史 (iwamot) 現職:ENECHANGE 全社的な技術施策の提案~実行 前職:AWS Japan クラウドサポートアソシエイト AWS Community
Builder (2024~) カテゴリ:Cloud Operations
移行の背景
電力使用量予測マイクロサービス https://enechange.jp/try/input
Elastic Beanstalk (Docker) で運用 https://aws.amazon.com/jp/elasticbeanstalk/
全社的なElastic Beanstalk卒業の気運 EOLになるプラットフォームから新しいバージョンへのアップグレードはメジャ ーバージョンアップになり、既存の環境とは別に新しい環境を作成する必要があ ります。 https://dev.classmethod.jp/articles/eb-platform-versionup-with-existing-config/
無駄なALBを発見
移行先の検討
EKS? ECS? Lambda?
EKSは学習コストがかかるので除外
APIはエンドポイント1つだけ POST /predict
Lambdaに決定
移行で工夫したこと
コンテナイメージの最適化 まず、可能な時はいつでもAWS が提供するベースイメージをコンテナイメージの 出発点として使用します。次に、マルチステージビルドを使用して、不要なレイ ヤやファイルを最終イメージに追加しないようにします。 https://aws.amazon.com/jp/blogs/news/optimizing-lambda-functions-packaged-as- container-images/ ベースイメージを python:slim から
public.ecr.aws/lambda/python に変更 最終イメージから機械学習モデルの訓練データを削除
「プロビジョニングされた同時実行」の設定 Lambda が呼び出しを実行するために新しい環境を初期化しなければならない状 況は、コールドスタートとして知られています。コールドスタートを緩和するた め、プロビジョニングされた同時実行を使用できます。 https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda- concurrency.html#reserved-and-provisioned
「プロビジョニングされた同時実行」の設定 使用率が50%を超えたらスケールするようApplication Auto Scalingを設定
可用性とレイテンシの監視 SLOを策定 期間:28日間 可用性:99.9%以上 レイテンシ:正常系レスポンスの95パーセンタイルが0.08秒以下 レイテンシ:正常系レスポンスの50パーセンタイルが0.06秒以下 エラーバジェットのバーンレート監視を内製ツールで開始
リトライ実装の依頼 Web API パターンのクライアントで行うべきエラーハンドリングの 1 つとしてリ トライがあります。 リクエスト頻度の制限 (=スロットリング) や、一時的な障害、ネットワーク起因
によるエラーなど一時的なエラーにはリトライで対応します。 https://aws.amazon.com/jp/builders-flash/202307/serverless-error-handling-2/ 開発チームにAPIエラー時のリトライ実装を依頼
移行後
ALBが半減
Lambdaの料金もEC2の半額 $110/月 → $55/月
NAT Gatewayはゼロに EC2削除によりインターネット通信が消滅 $45/月 * 6台のコスト削減
可用性やレイテンシも上々
まとめ
Web APIのAWS Lambda移行で工夫したこと コンテナイメージの最適化 「プロビジョニングされた同時実行」の設定 可用性とレイテンシの監視 リトライ実装の依頼