メニュー
Amazon CloudFront
開発者ガイド (API Version 2016-09-29)

Lambda@Edge のユースケース

Lambda@Edge を使用して、HTTP ヘッダー値にアクセス、処理、変更できます。以下のセクションでは、一般的ユースケースについて説明します。

A/B テスト

2 つの異なるバージョンのホームページをユーザーに対してテストする際、URL のリダイレクトの作成または URL の変更は行いたくない場合について説明します。ページの両方のバージョンである「A」と「B」は、CloudFront キャッシュに存在します。Lambda@Edge を使用して、エッジロケーションに Cookie を設定する関数を記述し、ユーザーをランダムにバージョン A または B に割り当てて、正しいバージョンのページをユーザーに返すことができます。これにより、ユーザーに対するレスポンスを高速化し、オリジンの負荷を軽減できます。

顧客のユーザーエージェントの検出とグループ化

user-agent ヘッダーに基づいて、サイトにアクセスするユーザーに異なるオブジェクトを返すことができます。エッジでオブジェクトの複数のバージョン (たとえば、異なる解像度のイメージ) を持ち、user-agent 文字列における独自のカスタムパターン一致に基づいて、適切なバージョンのイメージを選択できます。追加の条件を考慮することもあります。たとえば、Cookie を検査して、配信するイメージのバージョンを決定できます。また、リファラーのタイプも考慮できます。たとえば、ボットには最も低い解像度のイメージを常に配信できます。このロジックは、ビジネスニーズに応じてエッジでカスタマイズできます。

その他の例

URL をリライトし、アプリケーションコードのレガシーバージョンをサポートして、URL をよりわかりやすくしたり、URL を変更してカスタムエラーページを指したり、ヘッダーを追加または削除したりできます。たとえば、ユーザーがモバイルデバイスを使用しているかどうかに応じて Content-Disposition ヘッダーを追加したり、特定の Cookie 値を確認したときに HSTS ヘッダーを挿入したりでき、各リクエストがバックエンドオリジンのインフラストラクチャに戻る必要がありません。Node.js は、ヘッダーをループして特定のパターンを数えたり、見つけたりすることもできます。