段階的なヘッドレスロールアウト用の CDN API
段階的なヘッドレスロールアウトは、Storefront Reference Architecture (SFRA) やコンポーザブルストアフロントなどの複数のストアフロントの技術を使用して、単一の買い物体験を提供する手法です。
埋め込み CDN (eCDN) ゾーンは、トラフィックを SFRA と Managed Runtime の両方に同時にルーティングできるため、コンポーザブルストアフロントを段階的にロールアウトできます。
このガイドでは、Commerce API CDN ゾーンを使用してトラフィックを Managed Runtime にルーティングする方法について説明します。
このページの一部のリンクにアクセスできるのは、既存のお客様のみです。Commerce Cloud リポジトリにアクセスする方法については Salesforce Commerce Cloud GitHub リポジトリとアクセスを参照してください。
- Admin API の認可についてよく理解しておきます。
- スコープ
sfcc.cdn-zones.rw
をもつ Account Manager API クライアントが必要です。 - Managed Runtime で使用する eCDN ゾーンのゾーン ID を把握しておく必要があります。この情報を取得するには、CDN Zones API の getZonesInfo のエンドポイントを使用します。
- updateSecuritySettings を使用して、ゾーンで
alwaysUseHttps
を有効にします。Managed Runtime は HTTPS 経由のトラフィックのみをサポートします。 - SLAS API クライアントの
redirect_uri
をゾーンを含めるように設定します。 - Managed Runtime 環境へのアクセスを許可する IP のセットを制限している場合は、eCDN によって使用される CloudFlare IP を、許可される IP のセットに追加します。
createMrtRules エンドポイントを使用すると、トラフィックを Managed Runtime 環境にルーティングするルールを作成できます。
リクエストボディで提供されたデータを調べてみましょう。
mrtHostname
の値は、トラフィックルーティング用の Managed Runtime 環境のドメインです。これは、mobify-storefront.com
のドメインでホストされている Managed Runtime 環境を参照する必要があります。指定された値が既存のルールで使用されている場合、リクエストは失敗します。
サポートされるルーティング先は Managed Runtime のみです。
expressions
の値は、どのリクエストが Managed Runtime にルーティングされるかを制御する Cloudflare ルール式の配列です。ほとんどの実装において、単一のルーティング式で十分です。
提供された式に加え、次のデフォルトのルーティングルールが使用されます。
ルーティングの変更はすぐに適用され、式に一致する URL に移動すると、 Managed Runtime から取得したコンテンツが返されます。
式は次の基準に基づいて検証されます。
http.host
は 1 回のみ出現し、その後にeq
演算子が続く必要があります。ゾーンに一致する値を指定してください。- 以下のフィールドがサポートされます。
http.host
http.request.uri.path
http.request.uri
http.cookie
- 式の長さは最大 3072 文字です。
- 最大 100 の式を 1 つのゾーンに関連付けることができます。
段階的なロールアウトを続行すると、より多くのリクエストを Managed Runtime にルーティングできます。
ルーティング式を変更するには、getMrtRule を使用して、更新する式に関連付けられたルールセットとルールの ID を取得します。
次に、updateMrtRule を使用して式を更新します。
ルーティングを無効にするには、getMrtRule を使用してルールセット ID を取得します。
次に、deleteMrtRuleset
を使用して、そのルールセットの Managed Runtime のルーティングを削除します。
段階的ロールアウトを完了する場合、または新しいサイトを立ち上げる場合は、単一の式を使用してゾーンのすべてのトラフィックを Managed Runtime にルーティングすることを選択できます。
eCDN を利用できない環境では、composable-hybrid-dev-server
を使用して eCDN ルーティングをシミュレートします。
createMrtRules を使用すると、1 つのホスト名から複数の Managed Runtime 環境にトラフィックをルーティングするルールを作成できますが、このユースケースは現在サポートされていません。