SOAネットワークとコンテンツ配信

Amazon S3に保存した静的アセットをAmazon CloudFrontで配信するWebアプリケーションで、JavaScriptファイルを更新したがファイル名は変更しなかった。CloudFrontのデフォルトTTLは24時間に設定されており、デプロイ後もユーザーが旧バージョンのファイルを参照し続けている。全エッジロケーションで5分以内に新しいファイルを配信させるための最も効率的な方法はどれか。

A
CloudFront ディストリビューションで対象パスのキャッシュ無効化リクエストを発行し、すべてのエッジロケーションの古いキャッシュを即時削除する
✓ 正解
CloudFront のキャッシュ無効化リクエストは全エッジの既存キャッシュを即時削除し、次のアクセス時に最新ファイルがオリジンから取得される。
B
CloudFront のデフォルト TTL を 0 秒に変更してビヘイビアを更新し、次のリクエスト時に各エッジがオリジンから最新ファイルを取得するよう設定する
CloudFront の TTL 変更は既存のキャッシュオブジェクトには影響せず、期限が切れるまでエッジに古いファイルが残り続ける。
C
S3 バケット上のオブジェクトに Cache-Control: max-age=0 ヘッダーを付与して上書きアップロードし、CloudFront エッジが次回アクセス時に再検証するよう促す
S3 オブジェクトへの Cache-Control ヘッダー付与は新規キャッシュの挙動にのみ影響し、すでにエッジにある古いキャッシュは期限前に削除されない。
D
CloudFront ディストリビューションをコンソールから Disabled 状態に変更して数分後に再度 Enabled にすることで全エッジロケーションのキャッシュをリセットし、最新ファイルの配信を開始させる
CloudFront ディストリビューションを Disabled にしてもエッジキャッシュはすぐに削除されず、再有効化後も既存キャッシュが残る可能性がある。

解説

CloudFront のキャッシュ無効化リクエストは全エッジロケーションに即時伝播し、指定パスの既存キャッシュを削除することで次のリクエストからオリジンの最新ファイルが配信される。

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

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

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