背景
あるプロジェクトでAWS Lambdaの月額コストが想定以上に膨らんでいました。調査と最適化を行い、最終的に約70%のコスト削減に成功しました。
主な施策
1. メモリ設定の最適化
Lambdaはメモリに比例してCPUパワーも割り当てられます。AWS Lambda Power Tuningを使って、コストパフォーマンスが最も良いメモリ設定を見つけました。
| メモリ | 実行時間 | コスト/回 |
|---|---|---|
| 128MB | 3200ms | $0.0000067 |
| 256MB | 1500ms | $0.0000063 |
| 512MB | 800ms | $0.0000067 |
256MBが最もコスト効率が良いことがわかりました。
2. コールドスタートの削減
Provisioned Concurrencyを必要最小限に設定し、頻繁に呼ばれる関数のコールドスタートを回避しました。
3. 不要な呼び出しの排除
CloudWatch Logsを分析し、不要なリトライや重複呼び出しを特定。SQSのデッドレターキューを適切に設定し、無駄な再実行を防ぎました。
結果
月額約$800だったLambdaコストが$240程度まで削減できました。
学び
- 定期的にコストを可視化して監視することが重要
- Power Tuningは手軽で効果が大きい
- ログ分析で意外な無駄が見つかることがある