Azure正面玄関(BYOCDN)
この設定では、エージェントトラフィック(AI ボットおよび LLM ユーザーエージェントからのリクエスト)を Edge での最適化バックエンドサービス(live.edgeoptimize.net)にルーティングします。 人間の訪問者と SEO ボットは、通常どおりオリジンから引き続き提供されます。 設定をテストするには、設定が完了したら、応答のヘッダー x-edgeoptimize-request-id を探します。
Azure Front Doorでは、エッジでカスタムコードを実行しません。 ルーティングは、ルールセットと専用の オリジングループ を使用してEdge Optimize用に設定されます。 フェールオーバーは、Azure Front Doorの優先度ベースのオリジングループ ヘルスプローブによって処理されます。
前提条件
Azure フロントドアのルーティングルールを設定する前に、次のことを確認してください。
- Azure Front Doorのプロフィールにアクセスします。
- LLM Optimizer UI から取得された Edge Optimize API キー。 手順について詳しくは、API キーの取得を参照してください。
- (オプション)ステージングルーティングをテストするには、Staging API キーを参照してください。
手順1:Edge Optimizeのオリジンのグループを作成する
Azure Front Door プロファイルには、既に、オリジンを指すデフォルトのオリジン グループがあります。 Edge Optimize用にnew オリジン グループを作成します。
-
名前:
edge-optimize-origin-group -
発信元(優先ベースのフェールオーバー):
- 優先度1 —
live.edgeoptimize.net(オリジン ホスト ヘッダー:live.edgeoptimize.net) - 優先度2 — ドメイン エンドポイント (例:
www.example.com)。 これはフェールオーバー用です。Edge Optimizeが正常でない場合、リクエストはドメインにルーティングされ、Azure フロントドアに再エントリし、デフォルトのオリジンから提供されます。
- 優先度1 —
-
正常性プローブ: 有効
- パス:
/health/<your-domain>(例:/health/www.example.com) - プロトコル:HTTPS
- 間隔:225秒
- パス:
-
セッションの親和性: 無効
-
証明書の件名の検証: 有効
edge-optimize-origin-groupの発信元グループに、ポータルに**「関連付けられていません」**の警告が表示されます。 これは想定されています。ルートから直接ではなく、ルールセットのルートオーバーライドを使用して参照されます。手順2:ルートの設定
デフォルトのルートは、通常、Azureのフロントドアのプロファイルで作成されます。 ルールセット(ステップ 3)は、エージェント型トラフィックのオリジングループを上書きするため、Edge Optimizeに個別のルートは必要ありません。
手順3:ルールセットの作成
ルールセット > ルールセットに移動し、EORoutingという名前を付けます。 この順序で3つのルールを追加します。
ヘッダーストリッピングとボットルーティングのルールを示す
ルール 1: StripIncomingEOHeaders01
Edge Optimizeの受信ヘッダーを削除して、スプーフィングを防止します。 条件なし – すべてのリクエストに適用されます。 評価を停止:オフ。
アクション – 各件のリクエストヘッダーを削除:
x-edgeoptimize-urlx-edgeoptimize-configx-edgeoptimize-api-keyx-edgeoptimize-fetcher-key
ルール 2: EOGPTBotRootGET03
HTML ページパスのボットリクエストをEdge Optimizeにルーティングします。 評価を停止:上。
条件 (すべて一致する必要があります):
- リクエストメソッド:次と等しい
GET - リクエストパス:RegEx
(^$|^.*/$|(^|.*/)[^./]+$|^.*\.html$)(サイトルート、/で終わるパス、拡張機能のないページパス、.html個のパスに一致) - User-Agent: いずれかの
chatgpt-user、gptbot、oai-searchbot、adobeedgeoptimize-ai、perplexitybot、perplexity-user、claudebot、claude-user、claude-searchbotが含まれます。 文字列変換を 小文字 に設定します。 x-edgeoptimize-monitor: 含まれていません1x-edgeoptimize-request: failover、1のいずれも含まれていません
アクション:
- リクエストヘッダーの上書き
x-edgeoptimize-url=/{url_path}?{query_string} - リクエストヘッダーの上書き
x-edgeoptimize-config=LLMCLIENT=TRUE; - リクエストヘッダーの上書き
x-edgeoptimize-api-key=YOUR_API_KEY - リクエストヘッダーの上書き
x-edgeoptimize-monitor=1 - ルート設定の上書き:発信元グループ →
edge-optimize-origin-group、転送プロトコル →着信要求の一致、キャッシュ → 無効
ルール 3: HealthProbeRewrite03
Azure Front Door ヘルスプローブのリクエストを書き換えて、/health/<domain>ではなく/としてオリジンに到達させます。 これにより、Azure Front Doorは、オリジンに専用のヘルスエンドポイントを必要とせずに、Edge Optimizeの可用性を監視できます。 評価を停止:上。
条件 (すべて一致する必要があります):
- リクエスト URL パス:が
/health/で始まります x-fd-healthprobe: 次を含む1
アクション:
- URL書き換え – Source パターン:
/health/、宛先:/ - 応答ヘッダーの上書き
custom-origin-health=routed(診断 – 検証後に削除できます) - Request header append
user-agent=AdobeEdgeOptimize/1.0(先頭のスペースを追加 – Azure Front Doorは値をそのまま追加します) - ルート設定の上書き:発信元グループ →
default-origin-group、転送プロトコル →着信要求の一致、キャッシュ → 無効
手順4:ルールセットをルートに関連付ける
ルートを開き、下部の「ルール」セクションまでスクロールし、ドロップダウンから「EORouting」ルールセットを選択します。 既存のルールセットがある場合は、上に移動を使用して、EORoutingを #1 に配置します。 Edgeでの最適化ルールでは、エージェント型トラフィックとEdge Optimizeのループバックリクエストのみが処理されます。他のトラフィックは、他のルールに影響を与えずに通過します。 保存して反映を待ちます(約20分)。
ファイアウォールルールによるEdgeでの最適化を許可する(オプション)
CDNでWAFまたはBot Managerを使用している場合:
-
WAFまたはBot Managerで
*AdobeEdgeOptimize/1.0*ユーザーエージェントを許可リストに加えるして、Optimize at Edge サービスがオリジンコンテンツを取得できるようにします。 -
ファイアウォールでユーザーエージェント以外の追加の検証が必要な場合は、秘密鍵(例:
openssl rand -hex 32)を生成し、次の操作を行います。- ルーティングルールのシークレットを他の
x-edgeoptimize-*ヘッダーと共にx-edgeoptimize-fetcher-keyを追加します。 - WAFまたはBot Manager ルールを追加して、
x-edgeoptimize-fetcher-keyが同じシークレットと一致するリクエストを許可します。
- ルーティングルールのシークレットを他の
-
Edgeで最適化すれば、このヘッダーをそのまま転送できます。ユーザーは鍵のライフサイクル全体を所有しています。
設定の検証
設定が完了したら、ボットトラフィックが Edge での最適化にルーティングされていることと、人間のトラフィックに影響がないことを確認します。
1. ボットトラフィックをテスト(最適化する必要があります)
エージェント型ユーザーエージェントを使用して、AI ボットリクエストをシミュレートします。
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: chatgpt-user"
正常な応答には、リクエストが Edge での最適化を経由してルーティングされたことを確認する x-edgeoptimize-request-id ヘッダーが含まれます。
< HTTP/2 200
< x-edgeoptimize-request-id: 50fce12d-0519-4fc6-af78-d928785c1b85
2. 人間のトラフィックをテスト(影響を受けません)
通常の人間によるブラウザーリクエストをシミュレートします。
curl -svo /dev/null https://www.example.com/page.html \
--header "user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36"
応答には、x-edgeoptimize-request-id ヘッダーを含め ない でください。 ページのコンテンツと応答時間は、Edge での最適化を有効にする前と同じ状態を維持する必要があります。
3. 2 つのシナリオを区別する方法
x-edgeoptimize-request-idトラフィックルーティングのステータスは、LLM Optimizer UIでも確認できます。 顧客設定に移動し、CDN設定 タブを選択します。
利用可能なオポチュニティ、自動最適化ワークフロー、FAQなど、Edgeでの最適化について詳しくは、Edgeでの最適化の概要に戻ります。