SAA高性能なアーキテクチャの設計
あるグローバルなECサイトがAmazon CloudFrontで静的コンテンツを配信しています。キャッシュヒット率を改善するため、ビューワーからのリクエストURLに対して以下の軽量な変換をエッジで実施したいと考えています。
・URLパスを小文字に正規化(例:/Product/Detail → /product/detail)
・クエリパラメータをアルファベット順にソート
この処理には外部リソースへのアクセスや認証は不要です。要件として「サブミリ秒の処理レイテンシ」と「最小コスト」が求められます。最も適切なソリューションはどれですか?
ALambda@Edge をビューワーリクエストトリガーに設定し、Node.js でURL正規化を実装する
Lambda@Edgeビューワーリクエストはエッジで実行されますが、コンテナ起動のオーバーヘッドによりミリ秒単位のレイテンシが発生し、CloudFront Functionsより大幅にコストが高くなります。外部API呼び出しや複雑な処理が不要な軽量変換にはオーバースペックです。
BLambda@Edge をオリジンリクエストトリガーに設定し、Node.js でURL正規化を実装する
Lambda@Edgeオリジンリクエストはオリジンリクエストトリガーがキャッシュミス時のみ実行されます。キャッシュヒット時にはURL正規化が行われないため、キャッシュヒット率改善という本来の目的を達成できません。
CCloudFront Functions をビューワーリクエストトリガーに設定し、JavaScript でURL正規化を実装する
✓ 正解
CloudFront Functionsは、ビューワーリクエスト/レスポンスに特化した超軽量JavaScript実行環境です。サブミリ秒未満で実行され、Lambda@Edgeと比較してコストは約6分の1以下です。URL正規化・ヘッダー操作・単純なリダイレクトなど、外部ネットワーク呼び出しが不要な軽量処理に最適であり、今回の要件(サブミリ秒・最小コスト・外部リソース不要)に完全に合致します。
DAWS WAF のカスタムルールとリクエスト変換を使用してURLを正規化する
AWS WAFはWebアプリケーションへのセキュリティフィルタリングを目的とするサービスであり、URLの正規化によるキャッシュ最適化機能は提供していません。
解説
CloudFront Functionsは、ビューワーリクエスト/レスポンスに特化した超軽量JavaScript実行環境です。サブミリ秒未満で実行され、Lambda@Edgeと比較してコストは約6分の1以下です。URL正規化・ヘッダー操作・単純なリダイレクトなど、外部ネットワーク呼び出しが不要な軽量処理に最適であり、今回の要件(サブミリ秒・最小コスト・外部リソース不要)に完全に合致します。
選択肢AのLambda@Edgeビューワーリクエストはエッジで実行されますが、コンテナ起動のオーバーヘッドによりミリ秒単位のレイテンシが発生し、CloudFront Functionsより大幅にコストが高くなります。外部API呼び出しや複雑な処理が不要な軽量変換にはオーバースペックです。
選択肢BのLambda@Edgeオリジンリクエストはオリジンリクエストトリガーがキャッシュミス時のみ実行されます。キャッシュヒット時にはURL正規化が行われないため、キャッシュヒット率改善という本来の目的を達成できません。
選択肢DのAWS WAFはWebアプリケーションへのセキュリティフィルタリングを目的とするサービスであり、URLの正規化によるキャッシュ最適化機能は提供していません。
ドメイン別正答率・予想スコアでリアルタイムに実力把握
無限ノックでSAAを徹底対策。全問AI生成のオリジナル問題。
無料で演習を始める →