こんにちは。ロジカル・アーツの岡田です。
Sandboxについて触れる機会があったので、内容をまとめていきます。
はじめに
Sandboxは、Salesforceの本番環境をコピーして作成できるものです。
「新しい機能を実装したいが、きちんと動作することを確認してから本番環境に導入したい」といった場合に使用します。
Sandboxで変更した内容は、変更セットを使用しない限り本番環境に反映されません。
そのため、権限設定の変更や、データを上書きする処理などを試すにはうってつけのものになります。
Sandboxの種類
では実際にSandboxを作成してみると、Sandboxには主に4つの種類があることに気付きます。
ここからはSandboxの種類について解説します。
Sandboxは主に以下の4種類を使用します。
- Developer Sandbox
- Developer Pro Sandbox
- Partial Copy Sandbox
- Full Sandbox
違いは様々ありますが、大きな違いとしては、更新期間とデータ容量制限が挙げられます。
種類/更新期間/データ容量制限としてまとめると、以下のようになります。
種類 | 更新期間 | データ容量制限 |
---|---|---|
Developer Sandbox | 1日 | 200MB |
Developer Pro Sandbox | 1日 | 1GB |
Partial Copy Sandbox | 5日 | 5GB |
Full Sandbox | 29日 | 本番環境と同じ |
ここからは更新期間とデータ容量制限について、解説していきます。
Sandboxの更新
更新期間の説明の前に、そもそもSandboxの更新とはどういったものかを解説します。
Sandboxの更新とは、本番環境の状態をSandboxに反映させる処理を指します。 Sandboxで変更した内容は変更セットを使用しないと反映できないとお伝えしましたが、本番環境で変更があった内容をSandboxに反映させるのが更新処理になります。
更新期間とは、一度更新をした後に再度更新をする際のインターバル期間になります。 Developerであれば一日おき、Full Sandboxであれば約一ヶ月おきでしか更新ができないということになります。
ここで更新処理についてもう少し詳細をお伝えします。 Sandboxの更新処理は、本番環境で変更した内容を反映させるとお伝えしましたが、Sandboxを一度まっさらにして、一から本番環境のコピーを構築していくイメージです。
すなわち、Sandbox上に作成した項目などは、更新処理をすると消えてしまうことになります。 対策としては、変更セットを使用して作成物を本番環境に移送するか、Sandboxを更新するのではなく、新しくSandboxを作成するなどがあります。
Sandboxのデータ容量
次に、データ容量制限についての内容となります。
まず前提として、Sandboxには本番環境のデータを引き継げるものと引き継げないものがあります。 Developer、Developer Proはデータを引き継げないSandboxですが、Partial Copy、Full Sandboxはデータを引き継ぐことができます。
Partial Copyですが、5GBの容量制限があります。これにより、引き継げるデータ量に制限があります。 具体的には、各オブジェクトに対して10000件までのレコードしかコピーをすることができません。
特定のオブジェクトのみレコード数が多い場合は、Sandbox全体としての容量に余裕があるものの、10000件の制限によりうまく本番環境の状況が再現できない場合があります。
そういった場合には、データローダなどを用いて別途Sandboxにデータを取り込む必要があります。
Sandboxの使い分け
最後に、それぞれのSandboxの使い分けについてご紹介します。
使用するSandboxとしてはDeveloperとPartial Copyが主になるため、今回はこの2つに絞った内容になります。
Partial Copyは本番環境のデータを引き継ぐことのできる便利なSandboxですが、1組織につき1つまでしか作成できない制限があります。
一方、Developerはデータの引き継ぎができませんが、複数作成することができます。
そのため、機能開発はDeveloper、本番環境と似た状況で検証をしたい場合にPartial Copyを使用するといった使い分けをするケースがあります。
おわりに
Sandboxの種類やその特徴について紹介させていただきました。
運用が回っている環境に直接新しい機能を構築しようとすると、思わぬエラーにより実際の業務に影響を及ぼすケースもあります。
Sandboxの特性を把握し、うまく使いこなすことで、環境構築に大きく役立つ機能になります。