Skip to main content

データのレプリケーションの構成

学習の目的

この単元を完了すると、次のことができるようになります。
  • レプリケーションで処理する 2 種類のデータについて説明する。
  • データの部分的レプリケーションが役立つ 3 つの状況を挙げる。
  • データのレプリケーション処理のタイプについて説明する。
  • データのレプリケーション処理のアクティブ化の手法について説明する。
  • データのレプリケーションの手動処理の 3 つの手順を挙げる。

はじめに

Cloud Kicks の新任管理者である Linda Rosenberg が、データのレプリケーションを実施しようとしています。この機能は、データ、メタデータ、ファイルを Salesforce B2C Commerce の Staging (ステージング) インスタンスから Development (開発) または Production (本番) インスタンスにコピーする場合に使用します。

Linda は、Business Manager で各インスタンス内に 1 つ以上のサイトを設定できることを知っています。特定のインスタンス上のサイトをまとめたものが組織になります。たとえば、Linda が設定を行う場合、サイト固有 (1 つのサイト) のインスタンスとして設定することも、全サイト共通 (組織) のインスタンスとして設定することもできます。

また、データのレプリケーションは次の 2 つのレベルで機能します。

  • グローバルレプリケーション: 組織全体に適用される設定情報とデータが対象です。
  • サイトレプリケーション: 指定した 1 つ以上のサイトに属するデータが対象です (商品やカタログデータ、XML ベースのコンテンツコンポーネント、画像ファイルなど)

Cloud Kicks で先日、新規のストアフロントが立ち上げられ、その実装に使用する新しいプライマリインスタンスグループ (PIG) が作成されました。同社では、各ターゲットインスタンスに完全なグローバルレプリケーションを実行したうえで、それぞれにサイトレプリケーションを実行しました。Cloud Kicks のストアフロントはすでにライブになっているため、Linda は新しいデータに専念できます。

ToDo

Linda はデータを構成するときに、特定のレプリケーションタスクを細かく選択できます。また、グローバルレベルとサイトレベルのデータを 1 つの処理にまとめることもできます。データとその用途に対する理解が深まるほど、そのデータを必要とされる場所に移動できるようになります。

Business Manager では、実行可能なレプリケーションタスクを確認し、階層やデータの細分化の重要性を理解できます。たとえば、1 つのカタログをレプリケートすることは可能ですが、特定の商品をレプリケートすることはできません。他方、キャンペーンデータについては、ストアフロントのプロモーションやクーポンなど、大まかな分類でレプリケートすることが可能です。これをデータの部分的レプリケーションといいます。

データの部分的レプリケーションは次のような場面で役立ちます。

  • 新しいプロモーションの定義、テキスト、グラフィック、クーポンをストアフロント全体にロールアウトする場合
  • ストアフロントのホームページのデザインを更新して、季節のメッセージを追加する場合
  • 商品価格の変更を更新する場合

Linda がデータをレプリケートすると、ターゲットインスタンス上の対応するデータが選択したデータに置換されます。たとえば、PIG のインスタンス (Staging (ステージング)、Development (開発)、Production (本番)) にカタログ A、B、C があるとします。

Staging (ステージング)、Development (開発)、Production (本番) のすべてのインスタンスにカタログ A、B、C が存在します。

Linda が Staging (ステージング) インスタンスで、カタログ B を更新し、カタログ C を削除して、カタログ D を追加しました。これらのカタログを Staging (ステージング) から Development (開発) にレプリケートすると、Development (開発) インスタンスでは、カタログ A はそのままですが、カタログ B が更新され、カタログ C が削除され、カタログ D が追加されます。

Staging (ステージング) から Development (開発) へのレプリケーション後、カタログ A はそのままですが、カタログ B が更新され、カタログ C が削除され、カタログ D が追加されています。

メモ

前述のとおり、ストアフロントの変更を Production (本番) インスタンスにプッシュする前に、すべての変更を Development (開発) インスタンスでテストする必要があります。

B2C Commerce は、ターゲットインスタンスでレプリケーションの対象として選択されたデータのみを上書きします。他のデータには (上記の例で、カタログ A がそのままであったように) 影響ありません。

対象のデータ

Linda はデータをレプリケートするときに、影響を受けるグローバルデータとサイトデータの両方のファイルを慎重に検討します。対象となるデータは、コンテンツアセット、商品、価格表や、設定 (環境設定、許可など) です。以下は、Linda がレプリケーションの対象として選択可能なグローバルとサイト固有のストアフロントデータです。


ストアフロント 設定
グローバル (組織)
  • カタログコンテンツ
  • 顧客リストとその設定
  • 地理位置データ
  • 価格表
  • 共有ライブラリコンテンツ
  • グローバル静的コンテンツ
  • システムオブジェクトタイプ拡張とカスタムオブジェクトタイプ
  • 特定の組織範囲のカスタムオブジェクト
  • CSRF 許可リストパイプラインと開始ノード
  • Customer Service Center (CSC) 設定
  • Global Open Commerce API (OCAPI) 設定
  • システム環境設定とカスタム環境設定
  • サイトの定義
  • グローバル WebDAV クライアント許可
  • OAuth プロバイダー
サイト
  • A/B テストと体験
  • アクティブなデータフィード
  • キャンペーンとプロモーション
  • クーポン
  • 顧客グループ
  • コンテンツスロット
  • 非公開ライブラリコンテンツ
  • 動的コンテンツ
  • カスタムオブジェクト
  • 検索インデックスと辞書
  • SEO と静的マッピング
  • 並べ替えルールとオプション
  • ソースコード
  • ストア
  • 課税
  • キャッシュ設定
  • OCAPI 設定
  • サイト固有のシステム環境設定とカスタム環境設定
  • 支払プロセッサーと支払方法
  • 出荷と発送方法

Linda は Business Manager で、レプリケートするデータ種別に対応するタスクを 1 つ以上選択します。タスクの全リストについては、B2C Commerce でのデータレプリケーションタスク を参照してください。
グローバルレプリケーションタスク

対象外のデータ

次のタイプのデータはレプリケートできません。そのため、これらのデータは Development (開発) インスタンスと Production (本番) インスタンスで作成するかインポートする必要があります。

  • アクティブなデータ
  • バッチ処理
  • カタログやコンテンツのインポートフィード
  • カスタムエラーページ
  • 顧客や顧客グループの割り当て
  • アップロードされているがインポートされていないファイル
  • ギフト券
  • 在庫データ
  • ジョブのスケジュールと履歴
  • 組織プロフィール
  • 支払情報
  • 注文情報 (税額や発送など)
  • サイトマップ
  • ソースコードの適用
  • ユーザー、役割、許可

レプリケートできないもう 1 つのタイプのデータが動的推奨です。これは、Commerce Cloud Einstein によって Production (本番) インスタンスで動的に生成されるためです。

処理のタイプ

データのレプリケーションは、データを次のとおり処理する 2 段階の置換プロセスです。

  1. Staging (ステージング) からターゲットインスタンスに転送する。
  2. ターゲットインスタンスで公開する。

Linda は両方のステップを 1 つのレプリケーション処理として実行することも、別々に実行することもできます。別々に実行した場合は、失敗が生じたときにその原因を特定しやすくなります。レプリケーション処理は、公開や元に戻す処理を含め、すべて Staging (ステージング) インスタンス上で実行され、ターゲットインスタンスにのみ影響します。

データのレプリケーション処理には次のタイプがあります。

  • 転送: B2C Commerce がソースインスタンスのデータをターゲットインスタンスに転送しますが、置換しません。さらに公開処理を実行して、ターゲットを更新する必要があります。
  • 転送 & 公開: B2C Commerce がソースインスタンスのデータをターゲットインスタンスに転送し、ただちに既存のデータを置換します。
  • 公開: この処理は、転送処理が成功した後にのみ使用できます。ターゲットインスタンスの既存のデータを、転送されてきたデータに置換します。レプリケーションのタスクが、転送プロセスのタスクと一致している必要があります。データを転送してから、その一部のみを公開することはできません。一致しない場合はレプリケーションに失敗します。
  • 元に戻す: このプロセスは、転送 & 公開処理または公開処理が成功した後にのみ使用できます。ターゲットインスタンスを、最後のレプリケーション処理の前に存在していたデータに戻します。
メモ

公開レプリケーション処理を実行するときは、増分インデックスを無効にする必要があります。

アクティブ化の手法

Linda はレプリケーション処理の実行方法を指定できます。選択肢は次のとおりです。

  • 手動: Linda が処理をトリガーしたときに実行されます。
  • 自動: 処理を実行する日時を Linda がスケジュールします。
  • 繰り返し: 処理を定期的に実行する時間を Linda がスケジュールします。
  • ジョブステップ: 処理をジョブの一部として実行できます。ジョブについては、「Salesforce B2C Commerce のスケジュール済みジョブ」モジュールで説明します。

前述のとおり、B2C Commerce はデータを、処理を定義した時点ではなく、処理の実行時の状態でレプリケートします。

データのレプリケーション処理の作成

Linda は、データの種別やその変更頻度に基づいて、さまざまな方法のレプリケーション処理を作成しようと考えています。まずは、いくつかの新価格を更新する簡単な手動処理を実行することにします。

手動のレプリケーションタスクを作成する手順は、次のとおりです。

  1. Business Manager を開きます。
  2. [管理] > [レプリケーション] > [データのレプリケーション] を選択します。Business Manager の [Data Replication Processes (データレプリケーション処理)]
  3. [新規] をクリックします。(このボタンを表示するためには、Staging (ステージング) インスタンスを開いている必要があります)。

  4. B2C Commerce で自動的に処理 ID が生成されますが、任意のテキストを入力することもできます。
  5. [Development (開発)] ターゲットインスタンスを選択します。
  6. 説明を入力します (省略可能)。説明があると、後々インスタンスを見つけやすくなります。
  7. [無効にする] を選択して、レプリケーション処理の終了時にターゲットインスタンス上のページキャッシュが更新されるようにします。[無効にする] はデフォルトでオンになっています。キャッシュをクリアするとサイトのパフォーマンスが一時的に低下しますが、キャッシュを更新しなければ、ストアフロントの新しいデータが買い物客に表示されません。
  8. アクティブ化のタイプに、[手動] を選択します。([手動]、[自動]、[繰り返し]、[Job Step (ジョブステップ)] のいずれか)。
    [繰り返し] の場合は [毎日]、[毎週]、[毎月] のいずれかと開始日時を指定します。
  9. 通知メールのトリガーに [When Process Ends (処理終了時)] を選択します。
    ([When Process Fails (処理失敗時)]、[Periodically (定期的)] のいずれか)
  10. 複数の送信先メールアドレスをカンマで区切って入力します。メールには、処理の開始時刻と終了時刻、ターゲットシステム、レプリケーションタイプ、レプリケーションタスクが記載されます。処理に失敗すると、メールによる通知にエラーコードが示されます。定期的に実施する場合は、プロセスごとに通知がトリガーされます。
  11. 次のイベントの発生時の処理を指定します。
    • 処理終了時: 処理が終了すると、成功か失敗かに関係なく、B2C Commerce がアドレスにメールを送信します。ハングした場合は、メールが送信されません。
    • 処理失敗時: 処理に失敗すると、B2C Commerce がアドレスにメールを送信します。プロセスが成功またはハングした場合は、メールが送信されません。
  12. [次へ] をクリックします。
  13. レプリケーションタイプに、[転送 & 公開] を選択します。
  14. [価格表] タスクを選択します。タスクは、レプリケートするデータに基づきます。
  15. [次へ] をクリックして、詳細を確認します。
    [開始] をクリックして、レプリケーション処理を開始します。
  16. [開始] をクリックすると、処理がすぐに開始されます。

Linda が Development (開発) インスタンスのデータをテストします。特に問題がなさそうなため、この同じデータを Staging (ステージング) インスタンスから Production (本番) にレプリケートします。

次のステップ

この単元で Linda は、データのレプリケーションで、グローバルデータまたはサイトデータ、あるいはその両方を処理できることを学習しました。また、レプリケーション処理のタスク、処理のタイプ、アクティブ化の手法についても学びました。新しい価格データをプッシュする手動のレプリケーション処理を実行しました。次の単元では、コードのレプリケーションを実行する方法を学習します。

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる