あるグローバルメディア企業は Amazon CloudFront でコンテンツを配信しており、以下の処理を Lambda@Edge のビューワーリクエスト・レスポンス関数として実装しています。 ① URL パスの正規化(小文字変換・末尾スラッシュの削除) ② セキュリティレスポンスヘッダーの付与(HSTS・X-Frame-Options) ③ A/B テスト用カスタムヘッダーの注入 トラフィックは月間 20 億リクエストに達しており、Lambda@Edge のコストが課題です。運用の複雑さを増やさずにコストを削減するための最適な方法はどれですか?
Amazon CloudFront Functions は CloudFront のエッジロケーションで実行される超軽量な JavaScript 関数です。料金は $0.10 per 100 万リクエストで、Lambda@Edge($0.60 per 100 万リクエスト+実行時間課金)と比較して最大 1/6 以下のコストになります。URL 正規化・レスポンスヘッダー付与・A/B テストヘッダー注入はいずれも CloudFront Functions が対応するビューワーイベント(viewer request / viewer response)の典型的なユースケースです。月間 20 億リクエストでは非常に大きなコスト削減効果が期待できます。 選択肢Bの Lambda@Edge 関数の統合は、課金がリクエスト単位で発生するため、複数の関数を 1 つに統合しても呼び出しの総回数は変わらずコストはほとんど削減されません。 選択肢Cの AWS WAF はセキュリティフィルタリングを目的としており、URL パスの正規化やカスタムレスポンスヘッダーの柔軟な付与・注入には対応していません。 選択肢Dの Amazon API Gateway と Lambda オーソライザーは CloudFront のビューワーイベント処理とは異なるレイヤーで動作します。CloudFront のエッジ処理を API Gateway で代替することはできません。