環境の複製 duplicating-environments
はじめに introduction
概要 overview
Adobe Campaignを使用するには、開発、テスト、実稼動前、実稼動など、1 つ以上の環境をインストールして設定する必要があります。
各環境には 1 つのAdobe Campaignインスタンスが含まれ、各Adobe Campaignインスタンスは 1 つ以上のデータベースにリンクされています。 アプリケーションサーバーは 1 つ以上のプロセスを実行できます。ほとんどすべてのプロセスが、インスタンスデータベースに直接アクセスできます。
この節では、Adobe Campaign環境の複製に適用するプロセス(ソース環境をターゲット環境に復元する場合など)について詳しく説明します。その結果、2 つの同じ作業環境が作成されます。
それには、次の手順に従います。
-
ソース環境内のすべてのインスタンス上に、データベースのコピーを作成します。
-
ターゲット環境のすべてのインスタンスに対して、これらのコピーを復元します。
-
を実行します。 nms:freezeInstance.js 起動前のターゲット環境の警告スクリプト。
このプロセスは、サーバーとその設定には影響しません。
note note NOTE Adobe Campaignの場合、 焼灼 はアクションを組み合わせて使用し、ログ、トラッキング、配信、キャンペーンワークフローなど、外部とやり取りするすべてのプロセスを停止できます。
この手順は、(1 回は呼び出し環境から、もう 1 回は複製環境から)メッセージを複数回配信しないようにするために必要です。note important IMPORTANT 1 つの環境に複数のインスタンスを含めることができます。 各Adobe Campaignインスタンスには、ライセンス契約が適用されます。 使用許諾契約を調べて、使用できる環境の数を確認してください。
以下の手順を実行すると、インストールした環境やインスタンスの数に影響を与えることなく、環境を転送できます。
事前準備 before-you-start
このプロセスを機能させるには、ソース環境とターゲット環境で同じ数のインスタンス、同じ目的(マーケティングインスタンス、配信インスタンス)、類似した設定が必要です。 技術的な設定は、ソフトウェアの前提条件に従う必要があります。 両方の環境に同じコンポーネントをインストールする必要があります。
実装 implementation
転送手順 transfer-procedure
この節では、ケーススタディを通じて、ソース環境をターゲット環境に移行する際に必要な手順を理解するのに役立ちます。ここでは、実稼動環境 (prod インスタンス ) を開発環境 (dev インスタンス ) が、「ライブ」プラットフォームにできる限り近いコンテキストで動作するようにする必要があります。
次の手順は慎重に実行する必要があります。ソース環境データベースをコピーする際に、一部のプロセスが進行中の可能性があります。 注意機能を使用すると(次の手順 3 で説明)、メッセージが 2 回送信されるのを防ぎ、データの一貫性を維持できます。
- 次の手順は PostgreSQL 言語で有効です。 SQL 言語が異なる場合 (Oracleなど ) は、SQL クエリを適応させる必要があります。
- 以下のコマンドは、 prod インスタンスと dev PostgreSQL のインスタンス。
手順 1 — ソース環境(実稼動)データのバックアップを作成する step-1---make-a-backup-of-the-source-environment--prod--data
データベースをコピーする
まず、すべてのソース環境データベースをコピーします。 操作はデータベースエンジンに依存し、データベース管理者がおこないます。
PostgreSQL では、コマンドは次のようになります。
pg_dump mydatabase > mydatabase.sql
手順 2 — ターゲット環境設定(開発)を書き出す step-2---export-the-target-environment-configuration--dev-
ほとんどの設定要素は、環境ごとに異なります。外部アカウント(ミッドソーシング、ルーティングなど)、技術的なオプション(プラットフォーム名、データベース ID、E メールアドレス、デフォルト URL など)。
ソースデータベースをターゲットデータベースに保存する前に、ターゲット環境(開発)の設定を書き出す必要があります。 これをおこなうには、次の 2 つのテーブルのコンテンツをエクスポートします。 xtkoption および nmsexaccount.
この書き出しを使用すると、開発設定を保持し、開発データ(ワークフロー、テンプレート、Web アプリケーション、受信者など)のみを更新できます。
これをおこなうには、次の 2 つの要素に対してパッケージのエクスポートを実行します。
- を書き出します。 xtk:option テーブルを「options_dev.xml」ファイルに追加し、内部名が「WdbcTimeZone」、「NmsServer_LastPostUpgrade」および「NmsBroadcast_RegexRules」のレコードを除きます。
- 「extaccount_dev.xml」ファイルで、 nms:extAccount ID が 0(@id <> 0) でないすべてのレコードのテーブル。
エクスポートするオプション/アカウントの数が、各ファイルでエクスポートするライン数と等しいことを確認します。
手順 3 — ターゲット環境(開発)の停止 step-3---stop-the-target-environment--dev-
すべてのターゲット環境サーバーでAdobe Campaignプロセスを停止する必要があります。 この操作は、オペレーティングシステムによって異なります。
すべてのプロセスを停止するか、データベースに書き込むプロセスのみを停止できます。
すべてのプロセスを停止するには、次のコマンドを使用します。
-
Windows の場合:
code language-none net stop nlserver6
-
Linux の場合:
code language-none /etc/init.d/nlserver6 stop
次のコマンドを使用して、すべてのプロセスが停止したことを確認します。
nlserver pdump
また、実行中のシステムプロセスがないことも確認できます。
それには、次の手順に従います。
- Windows の場合: タスクマネージャー そして、 nlserver.exe プロセス。
- Linux の場合: ps aux | grep nlserver コマンドを実行して、 nlserver プロセス。
手順 4 — ターゲット環境(開発環境)でのデータベースの復元 step-4---restore-the-databases-in-the-target-environment--dev-
ターゲット環境でソース・データベースをリストアするには、次のコマンドを使用します。
psql mydatabase < mydatabase.sql
手順 5 — ターゲット環境(開発)の注意 step-5---cauterize-the-target-environment--dev-
誤作動を避けるために、配信の送信とワークフローの実行に関連するプロセスは、ターゲット環境がアクティブ化されたときに自動的に実行されないようにする必要があります。
これをおこなうには、次のコマンドを実行します。
nlserver javascript nms:freezeInstance.js -instance:<dev> -arg:run
手順 6 — 注意点を確認する step-6---check-cauterization
-
ID が 0 に設定されているのが唯一の配信部分であることを確認します。
code language-none SELECT * FROM neolane.nmsdeliverypart;
-
配信ステータスが正しく更新されていることを確認します。
code language-none SELECT iState, count(*) FROM neolane.nmsdelivery GROUP BY iState;
-
ワークフローのステータスが正しく更新されていることを確認します。
code language-none SELECT iState, count(*) FROM neolane.xtkworkflow GROUP BY iState; SELECT iStatus, count(*) FROM neolane.xtkworkflow GROUP BY iStatus;
手順 7 — ターゲット環境の Web プロセス(開発)を再起動する step-7---restart-the-target-environment-web-process--dev-
ターゲット環境で、すべてのサーバーのAdobe Campaignプロセスを再起動します。
次のコマンドを実行して、Web プロセスを開始します。
nlserver start web
次のコマンドを使用して、Web プロセスのみが開始したことを確認します。
nlserver pdump
クライアントコンソールが機能することを確認します。
手順 8 — ターゲット環境(開発)へのオプションと外部アカウントの読み込み step-8---import-options-and-external-accounts-into-the-target-environment--dev-
何よりも、インポートする前に、複数行のファイルの値を確認してください(例:オプションテーブルの場合は「NmsTracking_Pointer」、外部アカウントテーブルの場合は配信またはミッドソーシングアカウント)。
ターゲット環境データベース(開発環境)から設定を読み込むには、次の手順に従います。
-
データベースの管理コンソールを開き、ID が 0(@id <> 0) でない外部アカウント(テーブル nms:extAccount)をパージします。
-
Adobe Campaignコンソールで、パッケージのインポート機能で以前に作成した options_dev.xml パッケージをインポートします。
でオプションが実際に更新されていることを確認します。 管理/プラットフォーム/オプション ノード。
-
Adobe Campaignコンソールで、パッケージのインポート機能を使用して作成した extaccount_dev.xml をインポートします。
外部データベースが実際に 管理/プラットフォーム/外部アカウント .
手順 9 — すべてのプロセスを再起動し、ユーザーを変更する(開発) step-9---restart-all-processes-and-change-users--dev-
Adobe Campaignプロセスを開始するには、次のコマンドを使用します。
-
Windows の場合:
code language-none net start nlserver6
-
Linux の場合:
code language-none /etc/init.d/nlserver6 start
次のコマンドを使用して、プロセスが開始されていることを確認します。
nlserver pdump
ユーザーを変更して、開発プラットフォームに既に存在するユーザーを検索します。