Akamai(BYOCDN)

この設定では、エージェントトラフィック(AI ボットおよび LLM ユーザーエージェントからのリクエスト)を Edge での最適化バックエンドサービス(live.edgeoptimize.net)にルーティングします。 人間の訪問者と SEO ボットは、通常どおりオリジンから引き続き提供されます。 設定をテストするには、設定が完了したら、応答のヘッダー x-edgeoptimize-request-id を探します。

前提条件

Akamai プロパティマネージャールールを設定する前に、次のことを確認してください。

  • ドメインの Akamai Property Manager へのアクセス権。
  • LLM Optimizer UI から取得された Edge Optimize API キー。 手順について詳しくは、API キーの取得を参照してください。
  • (オプション)ステージングルーティングをテストするには、Staging API キーを参照してください。

設定

次の Akamai Property Manager ルールでは、エージェント型 HTML ページトラフィックを Edge での最適化にルーティングします。 設定には、次の手順が含まれます。

​1. ルーティング条件の設定(User-AgentとHTMLのトラフィックマッチング)

次のユーザーエージェントのルーティングを設定します。

 *AdobeEdgeOptimize-AI*
 *ChatGPT-User*
 *GPTBot*
 *OAI-SearchBot*
 *PerplexityBot*
 *Perplexity-User*
 *ClaudeBot*
 *Claude-User*
 *Claude-SearchBot*
NOTE
Edge での最適化ルーティングルールは、エージェント型 HTML ページトラフィックにのみ適用します。 一般的な設定としては、リクエスト側の条件として、html に一致する​ ファイル拡張子 ​や、拡張子のないページ URL に一致する EMPTY_STRING などを使用することがあります。 サイトが他の URL パターンから HTML を配信する場合や、API エンドポイントなどの拡張子のない非ページルートが含まれる場合は、パスベースの追加条件でルールを絞り込みます。

ルーティング条件を設定

​2. オリジンとSSL動作の設定

オリジンを live.edgeoptimize.net として設定し、SAN を *.edgeoptimize.net に一致させます。

NOTE
Edge での最適化ルールを追加した後にプロパティのアクティブ化が失敗する場合は、そのルールがデフォルトのルールとは異なるオリジンサーバーの SSL 検証モードを使用しているかどうかを確認します。 異なるモードを使用している場合は、Edge での最適化ルールをデフォルトのルールと一致するように更新します。 例えば、デフォルトのルールで​ プラットフォーム設定 ​を使用している場合は、ここでも​ プラットフォーム設定 ​を使用します。 必要な設定を使用できない場合は、Akamai サポートにお問い合わせください。

オリジンと SSL の動作を設定

​3. キャッシュキー変数の設定

キャッシュキー変数 PMUSER_EDGE_OPTIMIZE_CACHE_KEYLLMCLIENT=TRUE;X_FORWARDED_HOST={{builtin.AK_HOST}} に設定します。

キャッシュキー変数を設定

​4. キャッシングルール

キャッシュルール

​5. 受信リクエストヘッダーの変更

次の受信リクエストヘッダーを設定します。
x-edgeoptimize-api-key を LLMO から取得した API キーに
x-edgeoptimize-config コピー先: LLMCLIENT=TRUE;
x-edgeoptimize-url{{builtin.AK_URL}}

受信リクエストヘッダーを変更

ファイアウォールルールによる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で最適化すれば、このヘッダーをそのまま転送できます。ユーザーは鍵のライフサイクル全体を所有しています。

プロパティマネージャーで x-edgeoptimize-fetcher-key ヘッダーを設定

NOTE
また、Akamai Bot Manager で *AdobeEdgeOptimize/1.0* ユーザーエージェントと x-edgeoptimize-fetcher-key ヘッダーを許可リストに追加します。

​6. 受信レスポンスヘッダーの変更

受信応答ヘッダーを変更

​7. キャッシュ IDの変更

キャッシュ ID の変更

​8. 送信リクエストヘッダーの変更

x-forwarded-host ヘッダーを {{builtin.AK_HOST}} に設定します。

送信リクエストヘッダーを変更

​9. サイト フェールオーバー

サイト フェールオーバー設定には、メインのOptimize at Edge ルーティング ルール内のフェールオーバー動作と、フォールバックが発生したときにレスポンス ヘッダーを追加する兄弟ルールの2つの部分があります。

9a. サイト フェールオーバー動作の設定

Edgeのメインの最適化ルーティングルール内で、Site Failover Behavior​という名前の子ルールを作成します。 Match Any​に設定し、次の条件を追加します。

  • 応答ステータスコード​は400599の範囲にあります。
  • オリジン タイムアウト​はYesです。

サイトフェイルオーバー

​ サイト フェールオーバー動作の設定

9b. フェールオーバー応答ヘッダールールの設定

IMPORTANT
EdgeOptimize フェイルオーバー - テストヘッダー​ルールを、ルーティングルールの​ 兄弟 ​として(同じレベルで)作成します。ルーティングルールの内部にネスト​ しない ​でください。 Akamai Property Manager のルールツリーでは、階層は次のようになります。
code language-none
▼ Optimize at Edge                         ← parent rule group
      ▼ Optimize at Edge Routing               ← routing child
          Site Failover Behavior                 ← nested child
      EdgeOptimize Failover - Test Header      ← sibling of routing child
兄弟ルールは、Akamaiが元のホスト名に対して失敗したリクエストを再作成したときに評価されます。 ルーティングルールのAPI キー条件により、そのリクエストがEdge Optimizeに再度送信されるのを防ぐことができます。
また、Edge での最適化ルーティング​ルールが、同じリクエストのオリジン、キャッシュ動作、キャッシュ ID を変更する後続の一致ルールにより上書きされないことも確保されます。 別の一致ルールにより、これらの動作がリセットされた場合、Edge での最適化ルーティングまたはキャッシュが期待どおりに機能しないことがあります。

​ フェールオーバー応答ヘッダールールを設定

サイトフェールオーバーは、Edge Optimizeがエラーを返したりタイムアウトしたりした場合、訪問者がサイトの通常の応答を引き続き受け取るように、元のホスト名のリクエストをAkamaiが再作成します。

シナリオ
動作
Edge での最適化で 2XX または 3XX が返される
最適化された応答が提供されます。 x-edgeoptimize-request-idが存在します。
Edge Optimizeが4XX5XXを返すか、オリジンがタイムアウトします
リクエストは、元のホスト名に対して再作成されます。 応答にx-edgeoptimize-fo: trueが含まれています。

設定の検証

設定が完了したら、ボットトラフィックが 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
存在 - 一意のリクエスト ID が含まれます
不在
x-edgeoptimize-fo
フェイルオーバーが発生した場合のみ存在(値:true
不在

トラフィックルーティングのステータスは、LLM Optimizer UIでも確認できます。 顧客設定​に移動し、CDN設定 タブを選択します。

AI エージェントへの最適化のデプロイ – 完了

利用可能なオポチュニティ、自動最適化ワークフロー、FAQなど、Edgeでの最適化について詳しくは、Edgeでの最適化の概要に戻ります。

recommendation-more-help
llm-optimizer-help-main-toc