SOAネットワークとコンテンツ配信
あるメディア企業はCloudFrontでWebサイトを配信しています。各記事ページのURLには、アクセス解析用に`utm_source`や`utm_campaign`などのクエリ文字列が付与されますが、これらは表示内容に影響しません。現在キャッシュヒット率が低下しており、オリジンのALBへのリクエストが増加してコストとレイテンシが悪化しています。表示内容に影響しないパラメータでキャッシュが分割されないようにし、ヒット率を最大化する設定はどれですか。
Aキャッシュポリシーで「クエリ文字列を含めない」を選択し、オリジンリクエストポリシーで全クエリ文字列をオリジンへ転送する
✓ 正解
キャッシュキーからUTM等のクエリ文字列を除外することで同一記事の異なるURLが1オブジェクトに集約されヒット率が最大化し、かつオリジンリクエストポリシーで全クエリ文字列を転送するため解析用パラメータも保持される。要件を同時に満たす唯一の構成。
Bキャッシュポリシーで全クエリ文字列をキャッシュキーに含め、TTLの最小値を大きくしてオブジェクトの保持期間を延ばす
全クエリ文字列をキャッシュキーに含めるとUTMの組み合わせごとに別オブジェクトとしてキャッシュが分割され続け、ヒット率は低いまま。TTL最小値を延ばしても分割そのものは解消されず要件を満たさない。
Cオリジンリクエストポリシーで`utm_source`のみをオリジンへ転送し、キャッシュポリシーで全クエリ文字列をキャッシュキーに含める
キャッシュポリシーで全クエリ文字列をキャッシュキーに含めている時点で、UTMの違いごとにキャッシュが分割される。オリジン転送を一部に絞ってもキャッシュキーが細分化されたままなのでヒット率は改善しない。
DビューワーリクエストにCloudFront Functionsを関連付け、各リクエストのクエリ文字列を削除してからオリジンへ転送する
CloudFront Functionsでクエリ文字列を削除するとオリジンへパラメータが一切届かず、UTMを用いたアクセス解析が機能しなくなる。キャッシュヒット率は上がるが解析要件を満たせないため不適切。
解説
CloudFrontではキャッシュキー(オブジェクトの一意性を決める要素)とオリジンへ転送する要素を、キャッシュポリシーとオリジンリクエストポリシーで分離して制御できます。
表示内容に影響しないクエリ文字列をキャッシュキーから除外すると、同一記事への異なるUTM付きURLが1つのキャッシュオブジェクトに集約され、ヒット率が最大化します。一方でアクセス解析にはパラメータが必要なため、オリジンリクエストポリシーで全クエリ文字列をオリジンへ転送し、解析の情報は保持します。
選択肢Bの設定はクエリ文字列ごとにキャッシュキーが分割され続けるため、ヒット率は改善しない。TTL延長は分割問題を解決しない。
選択肢Cはキャッシュキーに全クエリ文字列を含めるため、UTMの違いでキャッシュが分割され続け、ヒット率が改善しない。
選択肢DはCloudFront Functionsでクエリ文字列を削除するとオリジンにパラメータが届かず、アクセス解析が機能しなくなる。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →