SOAモニタリング、ロギング、分析、修復、およびパフォーマンスの最適化
ある企業はAmazon CloudFrontを使用してWebアプリケーションを配信しています。CloudWatchメトリクスでCacheHitRateが25%前後と低い状態が続いています。調査の結果、多数のHTTPリクエストヘッダーがCloudFrontのキャッシュキーに含まれており、ヘッダーの組み合わせごとに個別のキャッシュオブジェクトが作成されキャッシュが断片化していることが判明しました。キャッシュヒット率を改善する最も効果的な方法はどれですか?
ACloudFront Origin Shieldを有効化し、エッジロケーションとオリジン間に中間キャッシュレイヤーを追加してオリジンへのリクエストを削減する
CloudFront Origin Shieldはエッジとオリジン間に追加キャッシュレイヤーを設けるが、キャッシュキーの断片化問題は解決しない。ヘッダーが多いままでは中間レイヤーでもヒット率の改善は限定的で、Origin Shield利用料も発生する。
BCloudFrontのデフォルトTTLを最大値(31536000秒)に変更して、コンテンツのキャッシュ保持期間を最大化する
CloudFrontのTTLを最大化してもキャッシュキーの組み合わせ数は変わらないため、ヘッダーの組み合わせごとに個別のキャッシュオブジェクトが作成される断片化問題は解消されない。長期キャッシュはコンテンツの鮮度にも影響する。
CCloudFrontとRoute 53レイテンシールーティングを組み合わせ、ユーザーを最も低レイテンシーのオリジンにルーティングする
Route 53レイテンシールーティングはユーザーを最も低レイテンシーのオリジンにルーティングする機能で、オリジンへのアクセス速度は改善するがCloudFrontのキャッシュ効率とは無関係。キャッシュヒット率の問題は解決しない。
DCloudFrontのCache Policyを更新し、キャッシュキーに含めるHTTPヘッダーを最小限に絞って不要なヘッダーを除外する
✓ 正解
Cache PolicyでキャッシュキーのHTTPヘッダーを最小化することが、ヘッダー断片化によるキャッシュヒット率低下の直接的な解決策。不要なヘッダーを除外することで同一キャッシュを共有するリクエストが増加し、CacheHitRateが向上する。
解説
CloudFrontのキャッシュキーはHTTPヘッダー・クエリ文字列・Cookieの組み合わせによって決まります。不要なヘッダーがキャッシュキーに含まれると、同じコンテンツへのリクエストでもヘッダーの組み合わせが異なるだけで別々のキャッシュオブジェクトが作成されます(キャッシュ断片化)。Cache Policyを更新してキャッシュキーに含めるヘッダーを最小限に絞ることで、同一キャッシュオブジェクトを共有できるリクエストが増加し、キャッシュヒット率が直接的に改善します。
選択肢AのCloudFront Origin Shieldはリージョナルエッジとオリジン間に中間キャッシュを追加しますが、キャッシュキーの断片化という根本原因を解決しないため、ヘッダーが多いままでは中間キャッシュでもヒット率の改善は限定的で、追加コストも発生します。
選択肢BのCloudFrontのデフォルトTTL変更はキャッシュ保持期間を延長しますが、キャッシュキーの多様性は変わらないため、ヘッダーの組み合わせごとに別々のオブジェクトが作成される断片化問題は解消されません。
選択肢CのRoute 53レイテンシールーティングはユーザーを最も近いオリジンに誘導する機能で、オリジン到達レイテンシーを改善しますが、CloudFrontのキャッシュヒット率とは直接関係ありません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSOAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →