DVAAWSのサービスを使用した開発

開発者はAmazon API GatewayとAWS Lambdaを使用してバックエンドAPIを構築しており、パフォーマンス向上のためにAPI Gatewayのキャッシュ機能を有効にしました。開発中のテストでクライアントアプリケーションから意図的にキャッシュをバイパスし、最新のデータを強制的にバックエンドから取得したいと考えています。最も適切な方法はどれですか。

A
API Gatewayのコンソールにログインし、「キャッシュのフラッシュ (Flush Cache)」を手動で実行する。
コンソールからの手動フラッシュはキャッシュ全体を消去するため、アプリケーションのテストとして個別のリクエスト単位でバイパスする方法としては非効率的です。
B
クライアントからのHTTPリクエストヘッダーに `Cache-Control: max-age=0` を含めてリクエストを送信する。
✓ 正解
HTTPヘッダーに `Cache-Control: max-age=0` を付与するのが、クライアント側から意図的にキャッシュを無効化して最新データを要求する標準的な手法です。
C
Lambda関数の環境変数に `DISABLE_CACHE=true` を設定し、API Gateway側でそれを読み取らせる。
Lambda関数の環境変数はバックエンド内部の設定であり、API Gatewayの前段で動作するキャッシュ機能の制御には利用できません。
D
API Gatewayのステージ変数でキャッシュのTTLを一時的に0秒に設定し、再デプロイを行う。
テストのたびにステージ変数を変更してAPIを再デプロイするのは運用上のオーバーヘッドが大きすぎます。

解説

API Gatewayでキャッシュを有効にしている場合、クライアントはリクエストヘッダーに `Cache-Control: max-age=0` を含めることで、既存のキャッシュをバイパス(無効化)し、バックエンドの統合ポイント(Lambdaなど)から直接最新のデータを取得できます。ただし、これを許可するにはAPI Gateway側でクライアントにキャッシュの無効化権限を付与する設定(Require authorizationの設定など)が必要です。

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

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

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