Managed Runtime の管理
Managed Runtime を使用すると、PWA Kit ストアフロントに関連付けられた組織やプロジェクト、環境、バンドルを簡単に管理できます。このガイドでは、Web ベースの Runtime Admin ツールで実行可能な管理タスクのリストをご紹介します。このリストにはタスクが随時追加されています。(このガイドに説明されているすべての管理タスク、およびその他のタスクは、Managed Runtime API を使用して実行することもできます。)
作業を続ける前に、Managed Runtime と Runtime Admin にアクセスできることを確認してください。Managed Runtime のプロビジョニングについては、Success Manager にお問い合わせください。Runtime Admin については、Commerce Cloud の管理者に連絡し、Account Manager を使用して Managed Runtime User または Managed Runtime Admin の役割のいずれかをアカウントに追加するよう依頼してください。
プロジェクトを使用すると、組織内で複数の環境を管理できます。ストアフロントコードを Salesforce のパブリッククラウドインフラストラクチャでデプロイおよびホストするには、各 PWA Kit プロジェクトにおいて、Managed Runtime 内に対応するプロジェクトが必要です。
Runtime Admin でプロジェクトを作成するには:
- Runtime Admin にログインします。
- New Project (新規プロジェクト) をクリックします。
- プロジェクトの名前を入力します。
- Create Project (プロジェクトの作成) をクリックします。
最初にプロジェクトを作成する場合、必要なクラウドインフラストラクチャをデプロイするまでは、サイトに Web でアクセスすることはできません。このデプロイプロセスには最大 40 分かかることがあります。
このガイドの残りのすべての管理タスクの説明では、Runtime Admin のプロジェクトの Overview (概要) ページから開始することを前提としています。
既存のプロジェクトを検索して、その Overview (概要) ページを開くには:
- Runtime Admin にログインします。
- 必要であれば、左上にある組織メニューから組織を選択します。
- プロジェクトの名前をクリックします。(プロジェクトを表示するには、前述したプロジェクトの役割のいずれかが割り当てられていることが必要です。)
プロジェクト間をすばやく切り替えるには、ページの上部にあるプロジェクトメニューを使用します。
Project Settings (プロジェクト設定) ページでは、次のタスクを実行できます:
- プロジェクト ID の検索と、プロジェクト ID が PWA Kit 構成と一致することの確認。
- プロジェクト ID の編集。
- プロジェクトの名前と URL の表示と編集。
- プロジェクトの削除。
- デプロイ通知の管理。(次のセクションを参照。)
Project Settings (プロジェクト設定) ページにアクセスするには:
- プロジェクトの Overview (概要) ページを開きます。
- 左のナビゲーションで Project Settings (プロジェクト設定) をクリックします。
設定を編集するには、Edit (編集) をクリックしてから編集を行い、Update (更新) をクリックします。編集を破棄するには、Cancel (キャンセル) をクリックします。
プロジェクトを削除するには、Delete (削除) をクリックし、プロジェクト名を入力して確認します。次に、Yes, Delete (はい、削除します) をクリックします。プロジェクトを残すには、No, Keep (いいえ、キープします) をクリックします。
以下のデプロイイベントが発生した場合に、Eメールによって通知を受けることを選択できます:
- デプロイの開始
- デプロイの成功
- デプロイの失敗
通知を追加するには:
- プロジェクトの Overview (概要) ページを開きます。
- 左のナビゲーションで Project Settings (プロジェクト設定) をクリックします。
- Add Notification (通知の追加) をクリックします。
- 通知の対象となる環境を 1 つまたは複数選択します。
- 1 つまたは複数のデプロイイベントを選択します。
- 通知受信者の Eメールアドレスを入力します。
- Add Notification (通知の追加) をクリックします。
通知を編集するには:
- プロジェクトの Overview (概要) ページを開きます。
- 左のナビゲーションで Project Settings (プロジェクト設定) をクリックします。
- 通知の横にある ... ボタンをクリックします。
- Edit (編集) をクリックします。
- 通知設定を変更します。
- Update Notification (通知の更新) をクリックします。
通知を削除するには:
- プロジェクトの Overview (概要) ページを開きます。
- 左のナビゲーションで Project Settings (プロジェクト設定) をクリックします。
- 通知の横にある ... ボタンをクリックします。
- Remove (削除) をクリックします。
- Yes, Remove (はい、削除します) をクリックします。
環境は、Production (本番) のストアフロントを、開発やテストなどのその他の目的でデプロイされたストアフロントから分離するために使用します。環境とその他の関連する概念の詳細については、Managed Runtime の概要を参照してください。
Runtime Admin で環境を作成するには:
-
プロジェクトの Overview (概要) ページを開きます。
-
New Environment (新規環境) をクリックします。
-
環境の名前を入力します。
-
Salesforce のパブリッククラウドインフラストラクチャへのデプロイのための地域を選択します。
-
環境が Production (本番) 環境の場合:
- Production (本番) としてマークします。Production (本番) 環境の上限に達している場合は、サポートに連絡してください。詳細については、Production (本番) 環境を参照してください。
- 環境に関連付ける 1 つ以上のサイト ID を追加します。
-
環境に接続する Commerce Cloud インスタンスを選択します。
-
Complete Setup (セットアップの完了) をクリックします。
- 新規環境のデフォルトの地域は、On-Demand Sandbox にもっとも近い US East (N. Virginia) (米国東部 (北バージニア)) です。On-Demand Sandbox は、一般的に開発とテストの環境に関連付けられています。
- 以前に環境を作成したことがある場合は、環境設定の編集を使用して、その環境を Commerce Cloud インスタンスと 1 つまたは複数のサイト ID に接続できます。
- 本番環境と非本番環境に提供されるリソースに違いはありません。すべての環境は、トラフィックを同じ方法で処理するように自動的にスケーリングされます。詳細については、Production (本番) 環境を参照してください。
PWA Kit と Managed Runtime を使用するすべてのサイトでは、各環境にデプロイされたものとして指定できるバンドルは一度に 1 つのみです。
- プロジェクトの Overview (概要) ページを開きます。
- デプロイ先の環境の名前をクリックします。例: production。
- Bundles (バンドル) という見出しの下で、デプロイするバンドルの横にある Deploy (デプロイ) ボタンをクリックします。
- Confirm Deploy (デプロイの確認) をクリックします。
- デプロイが完了するまで待ちます。
デプロイが正常に完了すると、バンドルは Deployed Bundle (デプロイ済みのバンドル) という見出しの下に表示されます。(新しい環境に初めてデプロイする場合、このプロセスは最大で 1 時間かかる場合があります。)
Environment Settings (環境設定) ページでは、次のように多くの管理タスクを 1 か所で実行できます。
- 環境の名前または環境 ID を変更する。
- デプロイの地域を変更する。
- サーバー側の Cookie を有効または無効にする。Cookie によるパーソナライズを参照してください。
- ソースマップを有効または無効にする。
- 特定の IP アドレスまたは信頼できるアクセス制御ヘッダーをもつトラフィックが環境にアクセスすることを許可する。アクセス制御ヘッダーを参照してください。
- 環境のプロキシを構成する。詳細については、リクエストのプロキシを参照してください。
- 環境を、Production (本番) としてマークする。
- 環境に関連付けられているサイト ID を追加、編集、または削除する。
- Commerce Cloud インスタンスへの環境の接続を追加または編集する。
- 環境を削除する。
Environment Settings (環境設定) ページにアクセスするには、以下の手順に従います。
- プロジェクトの Overview (概要) ページを開きます。
- 設定を編集する環境の名前をクリックします。
- 左のナビゲーションで Environment Settings (環境設定) をクリックします。
編集を行うには、General (全般) 設定または Advanced (詳細) 設定の横にある Edit (編集) ボタンをクリックします。編集が完了したら、変更を保存するには Update (更新) を、変更を破棄するには Cancel (キャンセル) をクリックします。
環境変数を参照してください。
アクセス制御ヘッダーを使用すると、コンテンツ配信ネットワーク (CDN) または開発チームからの信頼できるトラフィックのみが許可されるように、環境へのアクセスを制限できます。アクセスの制限は、ボットが CDN 境界のセキュリティ設定を迂回しないようにし、検索クローラーが間違ったドメインや環境からのコンテンツにインデックスを付けないようにするために重要です。
また、「許可された IP アドレス」も設定されている場合は、有効な IP アドレスまたはアクセス制御ヘッダーのいずれかをもつリクエストが通過できます。
環境の詳細設定 または projects_target_access_control_header_create API を使用して、アクセス制御ヘッダーを設定します。
受信リクエストは、有効な値をもつx-sfdc-access-control
リクエストヘッダーが存在する場合にのみ許可されます。
各ヘッダー値の制約は以下のとおりです。
- 半角 9 文字以上で指定する必要があります
- 最大 128 文字まで入力できます
- 英数字と - および _ 文字の組み合わせを指定できます
アクセス制御ヘッダー値が安全に保存され、信頼できる個人とのみ共有されるようにする必要があります。アクセス制御ヘッダーは定期的にローテーションすることを強くお勧めします。
アクセス制御ヘッダーをローテーションするには、以下の手順に従います。
- 環境の詳細設定 または projects_target_access_control_header_create API を使用して、Managed Runtime 環境にアクセス制御ヘッダー値を追加します。
- 環境の再デプロイが正常に完了するのを待ちます。新しいヘッダー値をもつ環境へのリクエストが成功したことを確認するには、次のようなコマンドを使用します。
- CDN またはブラウザーを更新して、更新された値で
x-sfdc-access-control
リクエストヘッダーを送信します。 - トラフィックが期待どおりに通過していることをテストします。
- 環境の詳細設定 または projects_target_access_control_header_create API を使用して、元のアクセス制御ヘッダー値を削除します。
その他の参照項目
リダイレクトを使用すると、リクエストされた URL から別の URL にリクエストを転送できます。これにより、ストアフロントに変更を加えたことで引き起こされるユーザー体験の中断を防ぐことができます。たとえば、春物シーズンのキャンペーンを考えてみましょう。春のキャンペーンが終わり、サマーキャンペーンに移行する場合に、春の URL を夏の URL にリダイレクトできます。
リダイレクトは、悪意のある URL やアセットへのリダイレクトなど、ストアフロントのセキュリティに重大な影響を与える可能性がある強力な機能です。リダイレクトアクセスを許可する役割をユーザーに割り当てる場合は注意してください。
Production (本番) 環境でリダイレクトを作成する前に、まず Staging (ステージング) 環境で作成することをお勧めします。
リダイレクトを作成するには:
- プロジェクトの Overview (概要) ページを開きます。
- リダイレクトを作成する環境の名前をクリックします。
- 左のナビゲーションで URL Redirects (URL リダイレクト) をクリックします。
- Create Redirect (リダイレクトの作成) をクリックします。
- Redirect From (リダイレクト元) フィールドに相対 URL パスを入力します。たとえば、訪問者を
www.example.com/winter
という URL からリダイレクトするには、/winter
と入力します。 - Redirect To (リダイレクト先) フィールドに相対 URL パスを入力します。
- 必要であれば、クエリパラメーターとワイルドカードパスの転送を有効にします。(転送設定の詳細については後述します。)
- Redirect Type (リダイレクトタイプ) ドロップダウンメニューから、HTTP ステータスコードに基づくリダイレクトタイプを選択します。(ステータスコードの詳細については後述します。)
- Create Redirect (リダイレクトの作成) をクリックします。
リダイレクトを作成する際のオプションについて、詳しく見てみましょう。
Redirect From (リダイレクト元) フィールドに入力する値は、常に 相対 パスであることが必要です。Redirect To (リダイレクト先) フィールドには、相対パスまたは完全な URL のいずれかを使用できます。たとえば、www.example.com/spring
から www.example.com/summer
に訪問者をリダイレクトしたいとします。Redirect From フィールドは /spring
でなければなりません。Redirect To フィールドには、/summer
または www.example.com/summer
のいずれかを使用できます。
Redirect From (リダイレクト元) の URL の末尾にアスタリスク文字 (*
) を追加して、ワイルドカードを使用できます。ワイルドカードは、URL 内の 0 文字以上の任意の文字と一致します。たとえば、/a/*
からのリダイレクトは、/a/
、/a/b
、および /a/b/c
と一致します。
ワイルドカードを使用できるのは、Redirect From の URL の末尾のみです。
標準のリダイレクトは、まず Managed Runtime で処理され、続いてワイルドカードを使用したリダイレクトで処理されます。
ほとんどのリダイレクトでは永続的 301 ステータスコードが使用されますが、一時的 302 を選択することもできます。どの HTTP ステータスコードを使用すればいいかわからない場合は、MOZ.com のこのステータスコードの説明を参照してください。
一部のリクエストにはクエリ文字列パラメーターが含まれており、これをリダイレクトされるリクエストに含めたい場合があります。たとえば、アナリティクス用の追跡のために、相対パス /spring-landing-page
の後にクエリ文字列を追加できます (例: /spring-landing-page?gclid=123
)。
クエリパラメーターの転送を有効にするには、フォームの Forward (転送) セクションで Query Parameters (クエリパラメーター) を選択します。選択しないと、ソース URL からのクエリ文字列パラメーターはリダイレクト URL に含められません。
それでは、Redirect From (リダイレクト元) と Redirect To (リダイレクト先) の URL の両方にクエリ文字列があり、転送が有効になっている場合はどうなるでしょう。この場合、リダイレクト URL には 2 つのクエリ文字列を組み合わせたものが含められます。つまり、Redirect To の URL からのクエリパラメーターが、リクエスト内のクエリ文字列の後に追加されます。たとえば、アプリケーションで相対パス /spring?year=2019
のリクエストが受信されたとします。/spring
を /summer?year=2020
にリダイレクトするように選択したとすると、転送が有効な場合、リダイレクト URL は /summer?year=2019&year=2020
になります。
Redirect From (リダイレクト元) の URL のワイルドカード部分の後にある任意のパスを、Redirect To (リダイレクト先) の URL に自動的に含めることができます。たとえば、Redirect From の URL で /a/*
が /a/b/c
に一致し、Redirect To の URL が /z/
の場合、リダイレクト URL は /z/b/c
となります。
ワイルドカードパスの転送を有効にするには、フォームの Forward (転送) セクションで Wildcard Path (ワイルドカードパス) を選択します。
リダイレクトは常に Staging (ステージング) 環境で作成し、テストを行った後に Production (本番) 環境にクローンすることをお勧めします。
リダイレクトのクローン機能を使用すると、1 つの環境から別の環境にすべてのリダイレクトをコピーできます。
リダイレクトをクローンするには:
- プロジェクトの Overview (概要) ページを開きます。
- クローンしたいリダイレクトを含む環境の名前をクリックします。
- 左のナビゲーションで URL Redirects (URL リダイレクト) をクリックします。
- Clone Redirects (リダイレクトのクローン) をクリックします。Clone Redirects (リダイレクトのクローン) フォームが表示されます。現在の環境は、From Environment (クローン元の環境) (ソース) にリストされています。
- To Environment (クローン先の環境) で、リダイレクトのクローン先の環境を選択します。
- Clone n Redirects (n 件のリダイレクトのクローン) をクリックします。(ここで n は、クローンするリダイレクトの数です。)
リダイレクトをクローンすると、クローン先環境の すべての リダイレクトが、クローン元環境からの すべての リダイレクトで置換されます。
既存のリダイレクトの設定を編集するには:
- プロジェクトの Overview (概要) ページを開きます。
- 編集したいリダイレクトを含む環境の名前をクリックします。
- 左のナビゲーションで URL Redirects (URL リダイレクト) をクリックします。
- リダイレクトの横にある省略記号ボタン (...) をクリックします。
- Edit (編集) をクリックします。
- 設定を更新します。
- Update Redirect (リダイレクトの更新) をクリックします。
リダイレクトを削除するには:
- プロジェクトの Overview (概要) ページを開きます。
- 削除したいリダイレクトを含む環境の名前をクリックします。
- 左のナビゲーションで URL Redirects (URL リダイレクト) をクリックします。
- リダイレクトの横にある省略記号ボタン (...) をクリックします。
- Delete (削除) をクリックします。
- Yes, Delete Redirect (はい、リダイレクトを削除します) をクリックします。
リダイレクトが予想通りに機能しない場合は、以下のトラブルシューティングのステップを試してみてください:
- リダイレクトはキャッシュされているので、ブラウザーのキャッシュをクリアします。
- 正しい環境の設定を表示していることを確認します。
- リダイレクトを編集し、Redirect From (リダイレクト元) と Redirect To (リダイレクト先) のフィールドに正しい値が入力されていることを確認します。
リダイレクトには以下の技術的な制限事項があります:
- 各環境におけるリダイレクトの最大数は 10,000 件です。
- 各環境には独自のリダイレクトのセットがあります。クローンを使用してすべての環境を同期する作業は、ユーザーが行います。
- リダイレクト機能は、あるパスから別のパスへの単純なリダイレクトをサポートします。条件付きで複雑なリダイレクトを行うには、Express.js の
ssr.js
にあるリダイレクトサポートを使用します。 - Runtime Admin ツールまたは Managed Runtime API を使用して作成したリダイレクトは、ローカルの開発環境では実行されません。
- リダイレクトは PWA Kit アプリケーションのページの移行ではトリガーされません。HTTP リクエストでのみトリガーできます。
ユーザーを管理する方法は以下をご確認ください。
ユーザーをプロジェクトに追加するには:
- プロジェクトの Overview (概要) ページを開きます。
- 左のナビゲーションで Users & Permissions (ユーザー & 許可) をクリックします。
- New User (新規ユーザー) をクリックします。
- ユーザーの Eメールアドレスを入力します。(ユーザーが組織の一員であり、Account Manager で Managed Runtime User または Managed Runtime Admin の役割のいずれかをもっていることを確認します。)
- 役割を選択します。
- Add User (ユーザーの追加) をクリックします。
ユーザーの役割を変更するには:
- プロジェクトの Overview (概要) ページを開きます。
- 左のナビゲーションで Users & Permissions (ユーザー & 許可) をクリックします。
- ユーザー名の横にある ... ボタンをクリックします。
- Edit (編集) をクリックします。
- 役割を選択します。
- 表示されるポップアップメニューをクリックします。
- 新しい役割を選択します。
- Save (保存) をクリックします。
ユーザーの各役割に関連付けられている機能のリストについては、Managed Runtime の概要を参照してください。
プロジェクトからユーザーを削除するには:
- プロジェクトの Overview (概要) ページを開きます。
- 左のナビゲーションで Users & Permissions (ユーザー & 許可) をクリックします。
- ユーザー名の横にある ... ボタンをクリックします。
- Remove (削除) をクリックします。
- Yes, Remove User (はい、ユーザーを削除します) をクリックします。