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
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
860
自己紹介
iwamot
PRO
1
160
パワポ作るマンをMCP Apps化してみた
iwamot
PRO
0
1.2k
8万デプロイ
iwamot
PRO
2
480
AIエージェント・マイクロサービス時代。AWSでの手軽な構築法を考えて試してみた
iwamot
PRO
1
160
これがLambdaレス時代のChatOpsだ!実例で学ぶAmazon Q Developerカスタムアクション活用法
iwamot
PRO
10
3.1k
Developer Certificate of Origin、よさそう
iwamot
PRO
0
130
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた CODT 2025 クロージングイベント版
iwamot
PRO
1
240
復号できなくなると怖いので、AWS KMSキーの削除を「面倒」にしてみた
iwamot
PRO
3
240
Other Decks in Technology
See All in Technology
バイブコーディングの特徴と「コケて直す」ループ
happysamurai294
0
140
Maestro MCPとClaude Code Skillsによる自律的なE2Eテスト支援
asmz
0
400
FinOpsを導入してマルチプロダクトのコスト最適化を実現する
kworkdev
PRO
0
110
AIで選択肢が広がった組織設計の理想と現実
konifar
16
7.5k
構造で守らせる データ・法務・セキュリティ・開発チームとつくる AI時代のデータガバナンスとデータ基盤のリアル
legalontechnologies
PRO
3
720
ドメインエキスパートは いかにして AI を使って プロダクト開発をするか
tatsuyashiraishi
1
250
自律的なチームを作るためにTechPMがやらないこと
ny7760
0
450
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
210
AIコーディングエージェント開発_全体像
happysamurai294
0
150
AI Search (Foundry IQ) におけるRAGデータの準備と配置
ryomaru0825
1
130
"計画的無茶振り"を通してAIネイティブ世代の新人を育てる
subroh0508
1
140
リアクションエンジニア ― 小さなリアクションから、話しかけやすい組織をつくる ―
ryuguyana
1
100
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1k
Designing Experiences People Love
moore
143
24k
The Pragmatic Product Professional
lauravandoore
37
7.5k
The Cost Of JavaScript in 2023
addyosmani
55
10k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.2k
Code Reviewing Like a Champion
maltzj
529
40k
sira's awesome portfolio website redesign presentation
elsirapls
0
480
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
22k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
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移行で工夫したこと コンテナイメージの最適化 「プロビジョニングされた同時実行」の設定 可用性とレイテンシの監視 リトライ実装の依頼