DVAトラブルシューティングと最適化複数選択
開発者は X-Ray でトレースした結果、Lambda 関数の実行時間のうち 80% が同じ外部 REST API への HTTP 呼び出し待機に費やされていることを発見しました。この外部 API のレスポンスは 5 分間有効であり、同一のリクエストパラメータで毎秒数十回呼び出されています。レイテンシーと Lambda 実行時間を削減するための最も適切な対策を 2 つ選んでください。
AElastiCache(Redis)を導入し、外部 API のレスポンスを TTL 付きでキャッシュする
✓ 正解
同一パラメータで繰り返し呼び出されるレスポンスをTTL付きキャッシュし、外部API呼び出しを大幅削減できます。
BLambda 関数のタイムアウトを 15 分に延長して待機時間を吸収する
タイムアウト上限延長はリソース消費を増やすだけで根本解決にならず、コスト増加につながります。
CLambda 関数ハンドラーの外側(グローバルスコープ)でキャッシュクライアントの接続を初期化し、実行環境の再利用時に接続を使い回す
✓ 正解
Lambda実行環境再利用時にRedisコネクション再利用され、接続確立のオーバーヘッドを排除できます。
DX-Ray のサンプリングレートを下げてトレースのオーバーヘッドを削減する
トレース収集量を調整する設定であり、Lambda関数の実行速度や応答時間には影響しません。
解説
同一パラメータで頻繁に呼び出され5分間有効なレスポンスは、ElastiCache(Redis)にTTL300秒でキャッシュすることで外部API呼び出しを大幅に削減できます。
さらに、Redisクライアントの初期化をハンドラーの外側(グローバルスコープ)に配置することで、Lambda実行環境の再利用時にコネクションが使い回され、接続確立のオーバーヘッドを排除できます。
タイムアウト延長は根本解決にならずコスト増加につながります。X-Rayサンプリング率の変更はトレース収集量の調整であり実行速度には影響しません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →