[온-프레미스/하이브리드만]{class="badge yellow" title="온-프레미스 및 하이브리드 배포에만 적용"}
환경 복제 duplicating-environments
소개 introduction
개요 overview
Adobe Campaign을 사용하려면 개발, 테스트, 사전 프로덕션, 프로덕션 등 하나 이상의 환경을 설치하고 구성해야 합니다.
각 환경에는 Adobe Campaign 인스턴스가 포함되어 있으며 각 Adobe Campaign 인스턴스는 하나 이상의 데이터베이스에 연결되어 있습니다. 애플리케이션 서버는 하나 이상의 프로세스를 실행할 수 있습니다. 이러한 프로세스 대부분은 인스턴스 데이터베이스에 직접 액세스할 수 있습니다.
이 섹션에서는 Adobe Campaign 환경 복제에 적용할 프로세스, 즉 소스 환경을 타겟 환경으로 복원하여 두 개의 동일한 작업 환경을 만드는 프로세스에 대해 자세히 설명합니다.
그렇게 하려면 다음 단계를 적용합니다.
-
소스 환경의 모든 인스턴스에 데이터베이스 복사본을 만듭니다.
-
타겟 환경의 모든 인스턴스에서 이러한 복사본을 복원합니다.
-
시작하기 전에 대상 환경에서 nms:freezeInstance.js 소작 스크립트를 실행하십시오.
이 프로세스는 서버와 서버 구성에 영향을 주지 않습니다.
note note NOTE Adobe Campaign의 컨텍스트에서 설명 은(는) 로그, 추적, 게재, 캠페인 워크플로 등과 같이 외부와 상호 작용하는 모든 프로세스를 중지할 수 있는 작업을 결합합니다.
이 단계는 메시지를 여러 번(명목 환경에서 한 번, 중복 환경에서 한 번) 배달하지 않도록 하는 데 필요합니다.note important IMPORTANT 하나의 환경에 여러 인스턴스가 포함될 수 있습니다. 각 Adobe Campaign 인스턴스는 라이선스 계약의 적용을 받습니다. 사용 가능한 환경 수를 확인하려면 라이선스 계약을 확인하십시오.
아래 절차를 사용하면 설치한 환경 및 인스턴스 수에 영향을 주지 않고 환경을 전송할 수 있습니다.
시작하기 전에 before-you-start
이 프로세스가 작동하려면 소스 및 타겟 환경에 동일한 수의 인스턴스, 동일한 목적(마케팅 인스턴스, 게재 인스턴스) 및 유사한 구성이 있어야 합니다. 기술 구성은 소프트웨어 사전 요구 사항을 준수해야 합니다. 두 환경 모두에 동일한 구성 요소를 설치해야 합니다.
구현 implementation
전송 절차 transfer-procedure
이 섹션은 사례 연구를 통해 소스 환경을 대상 환경으로 전송하는 데 필요한 단계를 이해하는 데 도움이 됩니다. 여기서의 목표는 프로덕션 환경(prod 인스턴스)을 개발 환경(dev 인스턴스)으로 복원하여 '라이브' 플랫폼에 최대한 가까운 컨텍스트에서 작동하는 것입니다.
다음 단계는 주의해서 수행해야 합니다. 소스 환경 데이터베이스를 복사할 때 일부 프로세스가 계속 진행 중일 수 있습니다. 소작(아래 3단계)은 메시지가 두 번 전송되지 않도록 하고 데이터 일관성을 유지합니다.
- 다음 프로시저는 PostgreSQL 언어로 유효합니다. SQL 언어가 다른 경우(예: Oracle) SQL 쿼리를 조정해야 합니다.
- 아래 명령은 PostgreSQL 아래의 prod 인스턴스 및 dev 인스턴스의 컨텍스트에서 적용됩니다.
1단계 - 소스 환경(prod) 데이터 백업 step-1---make-a-backup-of-the-source-environment--prod--data
데이터베이스 복사
모든 소스 환경 데이터베이스를 복사하는 것부터 시작합니다. 작업은 데이터베이스 엔진에 따라 다르며 데이터베이스 관리자의 책임입니다.
PostgreSQL에서 명령은 다음과 같습니다.
pg_dump mydatabase > mydatabase.sql
2단계 - Target 환경 구성(개발) 내보내기 step-2---export-the-target-environment-configuration--dev-
대부분의 구성 요소는 외부 계정(중간 소싱, 라우팅 등), 기술 옵션(플랫폼 이름, DatabaseId, 이메일 주소 및 기본 URL 등)마다 다릅니다.
대상 데이터베이스에 소스 데이터베이스를 저장하기 전에 대상 환경(개발) 구성을 내보내야 합니다. 이렇게 하려면 xtkoption 및 nmsextaccount 테이블의 내용을 내보냅니다.
이 내보내기를 사용하면 개발 구성을 유지하고 개발 데이터(워크플로우, 템플릿, 웹 애플리케이션, 수신자 등)만 새로 고칠 수 있습니다.
이렇게 하려면 다음 두 요소에 대해 패키지 내보내기를 수행합니다.
- 내부 이름이 'WdbcTimeZone', 'NmsServer_LastPostUpgrade' 및 'NmsBroadcast_RegexRules'인 레코드 없이 xtk:option 테이블을 'options_dev.xml' 파일로 내보냅니다.
- 'extaccount_dev.xml' 파일에서 ID가 0이 아닌 모든 레코드(@id <> 0)에 대해 nms:extAccount 테이블을 내보냅니다.
내보낸 옵션/계정의 수가 각 파일에서 내보낼 라인 수와 같은지 확인합니다.
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 보조 실행 | 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단계 - 대상 환경 웹 프로세스(개발) 다시 시작 step-7---restart-the-target-environment-web-process--dev-
대상 환경에서 모든 서버에 대한 Adobe Campaign 프로세스를 다시 시작합니다.
다음 명령을 실행하여 웹 프로세스를 시작합니다.
nlserver start web
다음 명령을 사용하여 웹 프로세스만 시작되었는지 확인합니다.
nlserver pdump
클라이언트 콘솔 기능에 대한 액세스를 확인합니다.
8단계 - 대상 환경(개발)으로 옵션 및 외부 계정 가져오기 step-8---import-options-and-external-accounts-into-the-target-environment--dev-
무엇보다도 가져오기 전에 파일의 여러 라인의 값을 확인합니다(예: 옵션 테이블의 경우 'NmsTracking_Pointer', 외부 계정 테이블의 경우 게재 또는 중간 소싱 계정).
대상 환경 데이터베이스(개발)에서 구성을 가져오려면 다음을 수행합니다.
-
데이터베이스의 Admin Console을 열고 ID가 0이 아닌 외부 계정(테이블 nms:extAccount)을 제거합니다(@id <> 0).
-
Adobe Campaign 콘솔에서 패키지 가져오기 기능을 통해 이전에 만든 options_dev.xml 패키지를 가져옵니다.
Administration > Platform > Options 노드에서 옵션이 업데이트되었는지 확인합니다.
-
Adobe Campaign 콘솔에서 패키지 가져오기 기능을 통해 이전에 만든 extaccount_dev.xml을 가져옵니다
외부 데이터베이스를 Administration > Platform > External accounts 에서 가져왔는지 확인하십시오.
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
개발 플랫폼에 이미 존재하는 사용자를 찾으려면 사용자를 변경하십시오.