オンデマンド Sandbox のロールと設定を定義する
学習の目的
この単元を完了すると、次のことができるようになります。
- オンデマンド Sandbox のロールの違いを説明する。
- オンデマンド Sandbox クレジットシステムについて説明する。
- オンデマンド Sandbox の有効期間プロパティの目的を説明する。
- API クライアントとレルム ID の要件を要約する。
オンデマンド Sandbox のユーザーロールを設定する
Commerce for B2C Developer Sandbox REST API を使用して Commerce for B2C ODS を作成するには、Salesforce エコシステムでの特定のロールと権限が必要です。これらのロールと権限により、必要な API やリソースへの安全で承認されたアクセスが確保されます。主な要件は次のとおりです。
Role (ロール) |
説明 |
ペルソナ |
|---|---|---|
Sandbox API ユーザー |
オンデマンド Sandbox を作成、管理、運用します。Sandbox API ユーザーロールが割り当てられたユーザーは、オンデマンド Sandbox を作成でき、クレジットを消費してコストに影響を与える可能性があります。 |
システム管理者または開発者 (省略可能) |
Business Manager 管理者 |
オンデマンド Sandbox を作成、管理、運用します。Business Manager 管理者ロールが割り当てられたユーザーは、オンデマンド Sandbox を作成でき、クレジットを消費してコストに影響を与える可能性があります。 |
システム管理者または開発者 (省略可能) |
Log Center ユーザー |
Commerce for B2C Log Center でオンデマンド Sandbox のログファイルを表示します。 |
システム管理者または開発者 |
OCAPI Explorer デバッグユーザー |
オンデマンド Sandbox への OCAPI REST コールのデバッグ情報を表示します。 |
開発者 |
Commerce for B2C 管理者は、Account Manager を使用して、スコープ検索条件付きでロールを割り当てます。スコープ検索条件の設定は次のとおりです。
-
すべての Sandbox: この検索条件により、すべての Sandbox、レルムレベルの操作、Sandbox の作成または削除へのアクセス権が付与されます。
-
個別の Sandbox: この検索条件により、指定した Sandbox とその API へのアクセス権のみが付与されます。個別の Sandbox 検索条件では、レルムレベルのアクセス権や新しい Sandbox を作成する権限は付与されません。
新規ユーザーや既存ユーザーにロールを割り当てる方法の詳細は、「B2C Commerce でユーザーアカウントを作成する」または「B2C Commerce でユーザーアカウントを編集する」を参照してください。
オンデマンド Sandbox クレジットでコストを管理する
オンデマンド Sandbox はクレジットベースのシステムで運用されます。組織は Sandbox クレジットを購入して、Sandbox を作成および管理できるようにします。クレジットシステムには柔軟性があり、購入したクレジットを必要に応じて使用できます。
たとえば、ニーズに合わせて少数の Sandbox だけを長期間稼働させることも、多数の短期 Sandbox を作成することもできます。Sandbox を作成または起動すると、稼働時間に応じて分単位でクレジットの消費が始まります。Sandbox が 1 分あたりに消費するクレジット数は、その Sandbox で使用するリソースプロファイルオプションによって異なります。リソースプロファイルオプションは次のとおりです。
-
medium: (デフォルト) CPU 1 基、10 GB のストレージ。標準的な開発には、このレベルを使用します。
-
large: CPU 2 基、20 GB のストレージ。より大きなデータセットには、このレベルを使用します。
-
xlarge または xxlarge: 最大 CPU 8 基、100 GB のストレージ。高いパフォーマンスが求められるタスクには、これらのレベルを使用します。
開発者は、コードの互換性とパフォーマンスを確保するため、本番環境の仕様を反映した環境を必要とします。適切なリソースプロファイルを選択すれば、大規模な自動テストからシンプルな機能更新まで、ワークロードに見合った性能を Sandbox に確保でき、クレジットを無駄なく使用できます。
Sandbox API ユーザーロールが割り当てられたユーザーは、クレジットの消費を制御できます。Sandbox と Sandbox クレジットを管理するときは、次の点に注意してください。
- デフォルトでは、Sandbox は medium リソースプロファイルを使用します。medium リソースプロファイルの Sandbox は、1 分あたり 1 クレジットを消費し、1 分未満の稼働時間も 1 分として計算されます。large または extralarge リソースプロファイルの Sandbox は、稼働時間あたりのクレジット消費量がさらに多くなります。
- 停止中の Sandbox は、1 分あたりのクレジット消費が少なくなります。停止中は、使用しているリソースプロファイルに関係なく、すべての Sandbox が 1 分あたり 0.3 クレジットを消費し、1 分未満の停止時間も 1 分として計算されます。
- Sandbox を削除すると、クレジットの消費が止まります。
- Sandbox が技術的な問題で停止している間は、クレジットを消費しません。
停止中の Sandbox は消費クレジットを抑えられますが、削除するまで消費は続きます。そのため、Sandbox が不要になったら削除して、再び使用する準備ができたときに改めて作成してください。Sandbox を停止して再起動するのは、設定したデータをそのまま保持したい場合のみにしてください。
運用スケジューラーでクレジット消費を抑える
24 時間 365 日稼働している Sandbox は、クレジットを無駄に消費します。レルム内の Sandbox を効率的に管理するには、Sandbox の開始と停止を制御する運用スケジューラーを作成し、稼働時間を業務時間内に限定します。B2C Commerce Developer Sandbox REST API の Swagger UI 一覧ページでは、Sandbox API の PATCH/realms/{realm}/configuration sandbox コールを使用して、平日に毎日 Sandbox を開始および停止する運用スケジューラーを作成する例が示されています。
{
"emails": [
"email1@example.com",
"email2@example.com"
],
"sandbox": {
"sandboxTTL": {
"maximum": 240,
"defaultValue": 24
},
"startScheduler": {
"weekdays": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY"
],
"time": "08:00:00+03:00"
},
"stopScheduler": {
"weekdays": [
"MONDAY",
"TUESDAY",
"WEDNESDAY",
"THURSDAY",
"FRIDAY"
],
"time": "19:00:00Z"
}
}
}開始時刻と停止時刻を自動制御すると、クレジット消費量を管理しやすくなり、割り当てられたクレジットを超過せずに、重要な開発やテスト作業で Sandbox 環境を利用できます。
Time to live で ODS の有効期間を管理する
オンデマンド Sandbox を作成するときは、省略可能な有効期間 (TTL) 値を使用して、システムが Sandbox を自動的に削除するまでの時間を、時間単位で指定できます。
たとえば、TTL を 24 に設定すると、Sandbox は 24 時間存続します。その時間が経過すると、システムによって Sandbox とそのすべてのデータが削除されます。
レルムの TTL を設定する
レルム設定では、そのレルム内のすべての Sandbox に適用されるデフォルト TTL と最大 TTL を指定します。PATCH/realms/{realm}/configuration API コールを使用して、24 時間に設定されているデフォルト TTL や、最大 2,160 時間までの最大 TTL を変更できます。最大 TTL を 0 に設定すると、Sandbox は手動で削除されるまで有効なままになります。
Sandbox の TTL を設定する
特定の環境をカスタマイズするには、TTL 値を個別に設定して、レルムのデフォルト値を上書きします。レルムの最大値を超える値を設定することはできません。Sandbox の TTL を 0 に設定すると、レルムの最大 TTL が 0 に設定されている場合に限り、その Sandbox は手動で削除されるまで有効なままになります。
TTL のベストプラクティス
プロジェクトのニーズに合った TTL 戦略を選択します。
-
短期: 短時間のタスクでは、必要な時間だけをカバーする TTL を指定します。
-
不確定タイムライン: 期限が決まっていないプロジェクトでは、TTL を 0 に設定して、削除するまで存続するようにします。
-
安全策: 2,100 時間などの大きな TTL を使用し、完了したら手動で Sandbox を削除してクレジットを節約します。
API クライアント ID を追加する
Commerce for B2C Developer Sandbox REST API の認証プロセスには、API クライアント ID が必要です。クライアント ID は、次のことに役立ちます。
- 要求を行っているクライアントアプリケーションを識別する。
- 要求が承認されたソースから送信されていることを確認する。
- API の利用状況を追跡して管理する。
スクリプトを使用して API コールを自動化する場合、API クライアント ID には認証用のパスワードが必要です。
Sandbox API の API クライアント ID を追加するには、「B2C Commerce で API クライアントを追加する」の手順に従ってください。アカウント管理者または API 管理者の役割のユーザーは、API クライアント ID を管理できます。
レルム ID を取得する
レルムには、プライマリインスタンスグループ (PIG) とセカンダリインスタンスグループ (SIG) が含まれます。SIG には Sandbox が含まれます。各レルムには一意の 4 文字の ID があり、アカウントエグゼクティブ (AE) またはカスタマーサクセスマネージャー (CSM) から入手できます。
次のステップ
この単元では、ユーザーロールを割り当てる方法を学びます。Sandbox クレジットとクレジットの管理方法についても学習しました。次は、Commerce for B2C Developer Sandbox REST API Swagger UI を使用して Commerce for B2C オンデマンド Sandbox を作成する方法を確認します。
リソース
- Salesforce ヘルプ: B2C Commerce の Account Manager
- GitHub: Agentforce Commerce (GitHub ログイン情報が必要)
- Agentforce Commerce: Account Manager (Account Manager のログイン情報が必要)