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 でプロジェクトを作成するには:

  1. Runtime Admin にログインします。
  2. New Project (新規プロジェクト) をクリックします。
  3. プロジェクトの名前を入力します。
  4. Create Project (プロジェクトの作成) をクリックします。

最初にプロジェクトを作成する場合、必要なクラウドインフラストラクチャをデプロイするまでは、サイトに Web でアクセスすることはできません。このデプロイプロセスには最大 40 分かかることがあります。

このガイドの残りのすべての管理タスクの説明では、Runtime Admin のプロジェクトの Overview (概要) ページから開始することを前提としています。

既存のプロジェクトを検索して、その Overview (概要) ページを開くには:

  1. Runtime Admin にログインします。
  2. 必要であれば、左上にある組織メニューから組織を選択します。
  3. プロジェクトの名前をクリックします。(プロジェクトを表示するには、前述したプロジェクトの役割のいずれかが割り当てられていることが必要です。)

関連スクリーンショット

プロジェクト間をすばやく切り替えるには、ページの上部にあるプロジェクトメニューを使用します。

Project Settings (プロジェクト設定) ページでは、次のタスクを実行できます:

  • プロジェクト ID の検索と、プロジェクト ID が PWA Kit 構成と一致することの確認。
  • プロジェクト ID の編集。
  • プロジェクトの名前と URL の表示と編集。
  • プロジェクトの削除。
  • デプロイ通知の管理。(次のセクションを参照。)

Project Settings (プロジェクト設定) ページにアクセスするには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. 左のナビゲーションで Project Settings (プロジェクト設定) をクリックします。

設定を編集するには、Edit (編集) をクリックしてから編集を行い、Update (更新) をクリックします。編集を破棄するには、Cancel (キャンセル) をクリックします。

プロジェクトを削除するには、Delete (削除) をクリックし、プロジェクト名を入力して確認します。次に、Yes, Delete (はい、削除します) をクリックします。プロジェクトを残すには、No, Keep (いいえ、キープします) をクリックします。

以下のデプロイイベントが発生した場合に、E メールによって通知を受けることを選択できます:

  • デプロイの開始
  • デプロイの成功
  • デプロイの失敗

通知を追加するには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. 左のナビゲーションで Project Settings (プロジェクト設定) をクリックします。
  3. Add Notification (通知の追加) をクリックします。
  4. 通知の対象となる環境を 1 つまたは複数選択します。
  5. 1 つまたは複数のデプロイイベントを選択します。
  6. 通知受信者の E メールアドレスを入力します。
  7. Add Notification (通知の追加) をクリックします。

関連スクリーンショット

通知を編集するには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. 左のナビゲーションで Project Settings (プロジェクト設定) をクリックします。
  3. 通知の横にある ... ボタンをクリックします。
  4. Edit (編集) をクリックします。
  5. 通知設定を変更します。
  6. Update Notification (通知の更新) をクリックします。

関連スクリーンショット

通知を削除するには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. 左のナビゲーションで Project Settings (プロジェクト設定) をクリックします。
  3. 通知の横にある ... ボタンをクリックします。
  4. Remove (削除) をクリックします。
  5. Yes, Remove (はい、削除します) をクリックします。

関連スクリーンショット

環境は、Production (本番) のストアフロントを、開発やテストなどのその他の目的でデプロイされたストアフロントから分離するために使用します。環境とその他の関連する概念の詳細については、Managed Runtime の概要を参照してください。

Runtime Admin で環境を作成するには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. New Environment (新規環境) をクリックします。
  3. 環境の名前を入力します。
  4. Salesforce のパブリッククラウドインフラストラクチャへのデプロイのための地域を選択します。
  5. Production (本番) 環境の場合は、Production としてマークします。Production (本番) 環境の上限に達している場合は、サポートに連絡してください。
  6. Create Environment (環境の作成) をクリックして作成します。

新規環境のデフォルトの地域は、On-Demand Sandbox にもっとも近い US East (N. Virginia) (米国東部 (北バージニア)) です。On-Demand Sandbox は、一般的に開発とテストの環境に関連付けられています。

PWA Kit と Managed Runtime を使用するすべてのサイトでは、各環境にデプロイされたものとして指定できるバンドルは一度に 1 つのみです。

  1. プロジェクトの Overview (概要) ページを開きます。
  2. デプロイ先の環境の名前をクリックします。例: production
  3. Bundles (バンドル) という見出しの下で、デプロイするバンドルの横にある Deploy (デプロイ) ボタンをクリックします。
  4. Confirm Deploy (デプロイの確認) をクリックします。
  5. デプロイが完了するまで待ちます。

デプロイが正常に完了すると、バンドルは Deployed Bundle (デプロイ済みのバンドル) という見出しの下に表示されます。(新しい環境に初めてデプロイする場合、このプロセスは最大で 1 時間かかる場合があります。)

Environment Settings (環境設定) ページでは、次のように多くの管理タスクを 1 か所で実行できます。

  • 環境の名前または環境 ID の変更。
  • デプロイの地域の変更。
  • 特定の IP アドレスに環境へのアクセスを許可。
  • 環境のプロキシの構成。詳細については、リクエストのプロキシを参照してください。
  • 環境を、Production (本番) としてマークします。
  • 環境の削除。

Environment Settings (環境設定) ページにアクセスするには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. 設定を編集する環境の名前をクリックします。
  3. 左のナビゲーションで Environment Settings (環境設定) をクリックします。

編集を行うには、General (全般) 設定または Advanced (詳細) 設定の横にある Edit (編集) ボタンをクリックします。編集が完了したら、変更を保存するには Update (更新) を、変更を破棄するには Cancel (キャンセル) をクリックします。

環境変数を使用すると、コードを変更せずに環境内で実行されているアプリケーションプロセスに変数を追加できます。環境変数は安全に保存され、次のようなユースケースに最適です。

  • サードパーティ統合用の API キー
  • アプリケーションロジックの機能フラグ
  • 環境ごとに異なる構成

環境変数は、Managed Runtime API を使用して管理でき、process.env を使用して Node.js でアクセスできます。

環境変数を設定、更新、設定解除するには、projects_target_env_var_partial_update を使用します。

アプリにとって意味のある環境変数名を選択してください。環境変数の値は、ブール値、整数、または文字列です。複雑な値を設定するには、JSON を文字列にエンコードします。

既存の環境変数の設定を解除するには、その値を null に設定します。

環境変数を変更すると、環境の現在のバンドルが再デプロイされます。

環境に設定されているすべての環境変数を取得するには、projects_target_env_var_list を使用します。

環境変数の使用には、次のような制約があります。

  • 各環境には 100 までの環境変数の制限があります。
  • 環境に設定される環境変数の値の最大サイズは 32 KB です。
  • 環境変数名は 512 文字以下である必要があり、予約済みの接頭辞 (AWSMRTX_MRTMOBIFYX_MOBIFYSSR_PROXY) で始めることはできません。
  • 環境変数名に予約された名前 (BUNDLE_IDDEPLOY_IDDEPLOY_TARGETEXTERNAL_DOMAIN_NAMEHANDLERLAMBDA_RUNTIME_DIRLAMBDA_TASK_ROOTNODE_ENVREDIRECT_BUCKETREDIRECT_KEYREDIRECT_UPDATEREMOTEX_AMZN_TRACE_ID) は使用できません。

リダイレクトを使用すると、リクエストされた URL から別の URL にリクエストを転送できます。これにより、ストアフロントに変更を加えたことで引き起こされるユーザー体験の中断を防ぐことができます。たとえば、春物シーズンのキャンペーンを考えてみましょう。春のキャンペーンが終わり、サマーキャンペーンに移行する場合に、春の URL を夏の URL にリダイレクトできます。

リダイレクトは、悪意のある URL やアセットへのリダイレクトなど、ストアフロントのセキュリティに重大な影響を与える可能性がある強力な機能です。リダイレクトアクセスを許可する役割をユーザーに割り当てる場合は注意してください。

Production (本番) 環境でリダイレクトを作成する前に、まず Staging (ステージング) 環境で作成することをお勧めします。

リダイレクトを作成するには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. リダイレクトを作成する環境の名前をクリックします。
  3. 左のナビゲーションで URL Redirects (URL リダイレクト) をクリックします。
  4. Create Redirect (リダイレクトの作成) をクリックします。
  5. Redirect From (リダイレクト元) フィールドに相対 URL パスを入力します。たとえば、訪問者を www.example.com/winter という URL からリダイレクトするには、/winter と入力します。
  6. Redirect To (リダイレクト先) フィールドに相対 URL パスを入力します。
  7. 必要であれば、クエリパラメーターとワイルドカードパスの転送を有効にします。(転送設定の詳細については後述します。)
  8. Redirect Type (リダイレクトタイプ) ドロップダウンメニューから、HTTP ステータスコードに基づくリダイレクトタイプを選択します。(ステータスコードの詳細については後述します。)
  9. 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 つの環境から別の環境にすべてのリダイレクトをコピーできます。

リダイレクトをクローンするには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. クローンしたいリダイレクトを含む環境の名前をクリックします。
  3. 左のナビゲーションで URL Redirects (URL リダイレクト) をクリックします。
  4. Clone Redirects (リダイレクトのクローン) をクリックします。Clone Redirects (リダイレクトのクローン) フォームが表示されます。現在の環境は、From Environment (クローン元の環境) (ソース) にリストされています。
  5. To Environment (クローン先の環境) で、リダイレクトのクローン先の環境を選択します。
  6. Clone n Redirects (n 件のリダイレクトのクローン) をクリックします。(ここで n は、クローンするリダイレクトの数です。)

リダイレクトをクローンすると、クローン先環境の すべての リダイレクトが、クローン元環境からの すべての リダイレクトで置換されます。

既存のリダイレクトの設定を編集するには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. 編集したいリダイレクトを含む環境の名前をクリックします。
  3. 左のナビゲーションで URL Redirects (URL リダイレクト) をクリックします。
  4. リダイレクトの横にある省略記号ボタン (...) をクリックします。
  5. Edit (編集) をクリックします。
  6. 設定を更新します。
  7. Update Redirect (リダイレクトの更新) をクリックします。

リダイレクトを削除するには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. 削除したいリダイレクトを含む環境の名前をクリックします。
  3. 左のナビゲーションで URL Redirects (URL リダイレクト) をクリックします。
  4. リダイレクトの横にある省略記号ボタン (...) をクリックします。
  5. Delete (削除) をクリックします。
  6. Yes, Delete Redirect (はい、リダイレクトを削除します) をクリックします。

リダイレクトが予想通りに機能しない場合は、以下のトラブルシューティングのステップを試してみてください:

  • リダイレクトはキャッシュされているので、ブラウザーのキャッシュをクリアします。
  • 正しい環境の設定を表示していることを確認します。
  • リダイレクトを編集し、Redirect From (リダイレクト元) と Redirect To (リダイレクト先) のフィールドに正しい値が入力されていることを確認します。

リダイレクトには以下の技術的な制限事項があります:

  • 各環境におけるリダイレクトの最大数は 10,000 件です。
  • 各環境には独自のリダイレクトのセットがあります。クローンを使用してすべての環境を同期する作業は、ユーザーが行います。
  • リダイレクト機能は、あるパスから別のパスへの単純なリダイレクトをサポートします。条件付きで複雑なリダイレクトを行うには、Express.js の ssr.js にあるリダイレクトサポートを使用します。
  • Runtime Admin ツールまたは Managed Runtime API を使用して作成したリダイレクトは、ローカルの開発環境では実行されません。
  • リダイレクトは PWA Kit アプリケーションのページの移行ではトリガーされません。HTTP リクエストでのみトリガーできます。

ユーザーを管理する方法は以下をご確認ください。

ユーザーをプロジェクトに追加するには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. 左のナビゲーションで Users & Permissions (ユーザー & 許可) をクリックします。
  3. New User (新規ユーザー) をクリックします。
  4. ユーザーの E メールアドレスを入力します。(ユーザーが組織の一員であり、Account Manager で Managed Runtime User または Managed Runtime Admin の役割のいずれかをもっていることを確認します。)
  5. 役割を選択します。
  6. Add User (ユーザーの追加) をクリックします。

関連スクリーンショット

ユーザーの役割を変更するには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. 左のナビゲーションで Users & Permissions (ユーザー & 許可) をクリックします。
  3. ユーザー名の横にある ... ボタンをクリックします。
  4. Edit (編集) をクリックします。
  5. 役割を選択します。
  6. 表示されるポップアップメニューをクリックします。
  7. 新しい役割を選択します。
  8. Save (保存) をクリックします。

関連スクリーンショット

ユーザーの各役割に関連付けられている機能のリストについては、Managed Runtime の概要を参照してください。

プロジェクトからユーザーを削除するには:

  1. プロジェクトの Overview (概要) ページを開きます。
  2. 左のナビゲーションで Users & Permissions (ユーザー & 許可) をクリックします。
  3. ユーザー名の横にある ... ボタンをクリックします。
  4. Remove (削除) をクリックします。
  5. Yes, Remove User (はい、ユーザーを削除します) をクリックします。

関連スクリーンショット