あるニュースメディア企業が Amazon CloudFront を使用して 1 日あたり 3 億リクエストのコンテンツを世界中に配信しています。エッジ層で以下の処理を追加したいと考えています。 ・URL の正規化(末尾スラッシュ削除・小文字変換) ・Cookie に基づく A/B テスト用のオリジン振り分け ・カスタムキャッシュキーの操作 これらの処理はすべてステートレスで 1 ms 未満の実行時間が要件です。最もレイテンシが低くコスト効率も高いソリューションはどれですか?
CloudFront Functions は CloudFront の全 300 以上のエッジロケーションで実行される軽量な JavaScript 関数で、ビューワーリクエスト/レスポンスイベントを最大 1 ms 以内に処理できる。Lambda@Edge と比較して実行コストが約 1/6 と低く、URL 正規化・Cookie ベースのルーティング・キャッシュキー操作などのステートレスな処理に最適である。3 億リクエスト/日という大規模トラフィックでも低コストを維持できる。 選択肢B の Lambda@Edge は最大実行時間 5 秒の高機能なエッジ関数だが、実行オーバーヘッドが大きく 1 ms 未満の要件を保証できない。外部 API 呼び出しなど複雑な処理向けであり、本ユースケースでは過剰仕様かつ高コストとなる。 選択肢C の Amazon API Gateway はオリジンリージョンに配置されるサービスでエッジ処理は行わない。すべてのリクエストがオリジンへのラウンドトリップを伴い、グローバルな低レイテンシ要件を満たせない。 選択肢D の AWS WAF は不正リクエストのフィルタリングやレート制限に特化したセキュリティサービスで、A/B テスト用オリジン振り分けやキャッシュキー操作などのカスタムルーティングロジックの実装には対応していない。