ストリームから起動するLambda変換が急増し、下流のRDS接続数とAPIレート制限を超え始めた。
一定の同時実行数に抑えつつ、1回の処理時間も短縮して、遅延を観測できるようにする。
最も適切なLambda設定と運用はどれか。
Reserved ConcurrencyでLambdaの同時実行上限を設定し、メモリ(CPU性能)とイベントバッチサイズを処理時間・エラー・IteratorAgeなどのメトリクスで調整する。
詳細解説
下流の接続枯渇やレート制限を悪化させ、遅延と重複処理を増やす。
関数ごとの同時実行上限で下流への負荷を制御し、メモリ設定やバッチサイズをメトリクスと処理時間で調整できる。
CPU性能も下がり、タイムアウト・滞留・再試行が増える可能性がある。実測で調整する必要がある。
CPU性能も下がり、タイムアウト・滞留・再試行が増える可能性がある。実測で調整する必要がある。
監査ログの保持設定は関数の実行数や処理性能を制御しない。
公式資料で確認する
以下の項目を公式資料の記述と照合して確認します。
AWS LambdaのReserved Concurrency、メモリとCPU、イベントソースのバッチサイズ、CloudWatchメトリクスの公式説明を確認する。
参考にした公式資料
確認できる内容
同時実行上限、リソース設定、下流のスロットリング、監査ログ保持の役割を区別できる。
理解のポイント
- Reserved Concurrency
- メモリとCPU
- バッチサイズ
- 下流スロットリング
確認時の注意
- 確認環境: AWS公式DEA-C01試験ガイドと各サービスの公式ドキュメントの確認
- AWS公式DEA-C01の該当Skillと各サービスの現行ドキュメントを確認する。
基礎のおさらい
Reserved Concurrency
関数に割り当てる同時実行数を予約・上限設定し、下流サービスへの負荷を制御するLambda設定。
メモリとCPU
Lambdaのメモリ設定に応じて割り当てられるCPU性能が変わり、処理時間とコストに影響する。
バッチサイズ
イベントソースから1回のLambda呼び出しへ渡すレコード数。スループット、遅延、失敗単位に影響する。