Q41 — AWS SAA-C03 第10章

第 41/100 問 | ← 第10章

Q641. ある企業が、AWS Lambda を用いたイベント駆動型のプログラミングモデルを採用したいと考えています。同社は Java 11 で実行される Lambda 関数の起動遅延を低減したいと考えており、アプリケーションには厳格なレイテンシ要件はありません。また、関数のスケールアップ時にコールドスタートおよび異常なレイテンシを低減したいとしています。これらの要件を最もコスト効率よく満たす解決策はどれですか?

正解: D. Lambda SnapStart を設定する

解説

正解は D です。Lambda SnapStart を設定することです。Lambda SnapStart を設定すると、Java 11 で実行される Lambda 関数の起動遅延を最もコスト効率よく低減できます。SnapStart は、お客様の関数に特化した Lambda 実行環境を事前にウォームアップすることで、コールドスタートおよび異常なレイテンシを低減します。一方、選択肢 A(プロビジョニング済み同時実行数)および C(メモリ量の増加)は、この状況では最適な解決策ではありません。プロビジョニング済み同時実行数は起動遅延の低減に有効ですが、確保した容量が十分に活用されない場合、追加コストが発生するため、コスト効率が悪くなる可能性があります。また、メモリ量の増加はパフォーマンス向上に寄与する場合がありますが、起動遅延という特定の課題への対応には直接的に結びつきません。選択肢 B(タイムアウト値の増加)は、起動遅延の低減とは無関係であり、長時間実行される関数のタイムアウト回避には役立つものの、コールドスタート問題の解決にはなりません。したがって、Java 11 で実行される Lambda 関数の起動遅延を低減し、コストを最小限に抑えるには、Lambda SnapStart の設定が最も適しています。SnapStart とプロビジョニング済み同時実行数の両方とも、関数のスケールアップ時のコールドスタートおよび異常なレイテンシを低減できますが、SnapStart は最大で 10 倍の起動パフォーマンス向上を実現し、追加コストはかかりません。一方、プロビジョニング済み同時実行数は、関数を初期化された状態で常駐させ、2 桁ミリ秒単位での応答を可能にしますが、AWS アカウントに対して課金が発生します。アプリケーションに厳しいコールドスタート・レイテンシ要件がある場合にのみプロビジョニング済み同時実行数を検討してください。なお、同一の関数バージョンに対して SnapStart とプロビジョニング済み同時実行数を併用することはできません。