無限ノック › DVA 練習問題一覧 › 問題
DVAトラブルシューティングと最適化

開発者が Lambda 関数のコールドスタート問題を解消するため、特定の公開バージョン(例: バージョン 3)に対してプロビジョニングされた同時実行数(Provisioned Concurrency)を 10 に設定しました。設定完了後、ステータスが「Ready」になったことを確認しました。しかし、その後も CloudWatch メトリクスの `InitDuration` が引き続き記録されており、コールドスタートが発生し続けています。最も可能性の高い原因はどれですか?

A
API Gateway の Lambda 統合で関数の `$LATEST` バージョンを直接呼び出しており、Provisioned Concurrency が設定されたバージョン/エイリアスが使用されていない。
✓ 正解
Provisioned Concurrency は $LATEST バージョンには設定できず、特定の公開バージョン番号またはエイリアスにのみ設定できます。API Gateway が $LATEST を呼び出している場合、Provisioned Concurrency で初期化済みのインスタンスはバイパスされコールドスタートが発生します。API Gateway の Lambda 統合エンドポイントをバージョン ARN(例: arn:aws:lambda:...:function:myFunc:3)またはエイリアス ARN に変更する必要があります。
B
Provisioned Concurrency は設定した同時実行数を超えるリクエストに対してのみ有効であり、最初の 10 リクエストはコールドスタートが発生する仕様である。
Provisioned Concurrency の仕様では、あらかじめ設定数分の初期化済みインスタンスを用意するものであり、設定数以内のリクエストはコールドスタートなしで処理されます(逆です)。
C
Provisioned Concurrency の設定後に Lambda 関数を再デプロイして `$LATEST` が更新されると、既存のバージョンの Provisioned Concurrency 設定が自動的に解除される。
Provisioned Concurrency 設定後の $LATEST 更新(新デプロイ)は既存の公開バージョンの Provisioned Concurrency 設定に影響しません。設定は引き続き有効です。
D
Provisioned Concurrency はリージョンあたり最大 1 つの Lambda 関数にしか同時に設定できないリソース制限があり、別の関数が優先されている。
Provisioned Concurrency リソース制限では、そのような制限は存在しません。Provisioned Concurrency は複数の関数・複数のバージョンに対して独立して設定できます。

解説

Provisioned Concurrency は $LATEST バージョンには設定できず、特定の公開バージョン番号またはエイリアスにのみ設定できます。API Gateway が $LATEST を呼び出している場合、Provisioned Concurrency で初期化済みのインスタンスはバイパスされコールドスタートが発生します。API Gateway の Lambda 統合エンドポイントをバージョン ARN(例: arn:aws:lambda:...:function:myFunc:3)またはエイリアス ARN に変更する必要があります。 選択肢BのProvisioned Concurrency の仕様では、あらかじめ設定数分の初期化済みインスタンスを用意するものであり、設定数以内のリクエストはコールドスタートなしで処理されます(逆です)。 選択肢CのProvisioned Concurrency 設定後の $LATEST 更新(新デプロイ)は既存の公開バージョンの Provisioned Concurrency 設定に影響しません。設定は引き続き有効です。 選択肢DのProvisioned Concurrency リソース制限では、そのような制限は存在しません。Provisioned Concurrency は複数の関数・複数のバージョンに対して独立して設定できます。

ドメイン別正答率・予想スコアでリアルタイムに実力把握

無限ノックでDVAを徹底対策。全問AI生成のオリジナル問題。

無料で演習を始める →
← DVA の問題一覧に戻る