[オンプレミス/ハイブリッドのみ]{class="badge yellow" title="オンプレミスデプロイメントとハイブリッドデプロイメントにのみ適用されます"}
環境の複製 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 クエリを適応させる必要があります。
- 以下のコマンドは、PostgreSQL の下の prod インスタンスと dev インスタンスのコンテキスト内で適用されます。
手順 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、メールアドレス、デフォルト URL など)。
ターゲット・データベースにソース・データベースを保存する前に、ターゲット環境(開発)構成をエクスポートする必要があります。 それには、xtkoption と nmsextaccount の 2 つのテーブルの内容を書き出します。
この書き出しを使用すると、開発環境を保持し、開発データ(ワークフロー、テンプレート、web アプリケーション、受信者など)のみを更新できます。
それには、次の 2 つの要素に対してパッケージのエクスポートを実行します。
- xtk:option テーブルを「options_dev.xml」ファイルにエクスポートします。内部名は「WdbcTimeZone」、「NmsServer_LastPostUpgrade」および「NmsBroadcast_RegexRules」のレコードはエクスポートしません。
- 「extaccount_dev.xml」ファイルで、ID が 0 でないすべてのレコード(@id <> 0)の nms:extAccount テーブルをエクスポートします。
書き出されたオプション/アカウントの数が、各ファイルで書き出すラインの数と等しいことを確認します。
手順 3 - ターゲット環境を停止(開発) step-3---stop-the-target-environment--dev-
すべての Target Environment Server で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 に設定されている deliverypart のみが存在することを確認します。
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」、外部アカウントテーブルの場合は配信または中間ソーシングアカウント)
ターゲット環境データベース(dev)から設定を読み込むには:
-
データベースの Admin Console を開き、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
users を変更して、開発プラットフォームに既に存在するユーザーを検索します。