Q1. 決済処理を行うLambda関数と、社内レポート生成用のLambda関数が同一アカウント・同一リージョンに存在します。月末にレポート関数が大量に実行され、アカウントの同時実行数を消費し尽くした結果、決済関数が429エラーでスロットリングされました。決済関数の実行枠を確実に確保する、最も適切な設定はどれですか?
- A. 決済関数にプロビジョニングされた同時実行を設定する
- B. 決済関数に予約された同時実行を設定する
- C. レポート関数のタイムアウトを15分から1分に短縮し、実行時間を抑える
- D. 決済関数のメモリを3008MBに引き上げて処理を高速化する
答えと解説を見る
正解:B
A 初期化済みの実行環境を事前に用意してコールドスタートを短縮する機能であり、本来の目的はレイテンシ改善。確保した数を超えるバーストは結局アカウント枠を奪い合ううえ、待機中も課金され続ける
B(正解) 正解。予約された同時実行はその関数専用の枠を切り出し、他の関数から消費されないよう隔離する
C 同時実行数は「実行中の呼び出し数」で決まるため多少は緩和されるが、処理が途中で打ち切られてレポートが壊れる。決済関数を保証する仕組みにはならない
D 1実行あたりの時間は短くなるが、同時実行数の枠そのものは変わらない。バースト時のスロットリングは解消しない