API GatewayのステージキャッシュはGETレスポンスをキャッシュしバックエンド呼び出しを削減する。{id}をキャッシュキーに含めることで商品ごとに正しいレスポンスが返り、TTL内はLambda/DynamoDBにアクセスしない。追加インフラ不要でコストとp99レイテンシを削減でき要件に合致する。
API Gatewayのステージレベルのキャッシュを有効化すると、メソッドのレスポンスをキャッシュし、TTL内の同一リクエストはバックエンド(Lambda/DynamoDB)を呼ばずに応答する。
GET /products/{id}のようにパスパラメータで対象が変わるエンドポイントでは、{id}をキャッシュキーに含める必要がある。これにより商品ごとに独立したキャッシュエントリが作られ、正しいレスポンスを返しつつバックエンドアクセスとレイテンシ、DynamoDBの読み取りコストを削減できる。追加インフラも不要。
選択肢Bはキャッシュキー未設定のため、異なるidに同じキャッシュ応答を返す誤動作が起きる。
選択肢Cのオーソライザーキャッシュは認可結果のキャッシュでありレスポンス本体は対象外。
選択肢DのCloudFront追加は要件の「API Gatewayの設定のみ」に反する。