OCI Full Stack Disaster Recovery를 사용하여 PostgreSQL으로 OCI Database의 콜드 재해 복구 자동화하기
소개
Oracle Cloud Infrastructure Full Stack Disaster Recovery(OCI Full Stack DR)는 클릭 한 번으로 전 세계 OCI 리전 간 컴퓨트, 데이터베이스, 애플리케이션 전환을 통합관리합니다. 고객은 전문화된 관리 또는 변환 서버 없이도 기존 인프라, 데이터베이스 또는 애플리케이션을 재설계하거나 재설계하지 않고도 하나 이상의 비즈니스 시스템을 복구하는 데 필요한 단계를 자동화할 수 있습니다.
PostgreSQL를 갖춘 OCI 데이터베이스는 지능형 크기 조정, 튜닝 및 높은 내구성을 갖춘 완전 관리형 PostgreSQL 호환 서비스입니다. 데이터베이스 테이블이 생성 및 삭제될 때 이 서비스는 자동으로 스토리지를 확장하므로 관리가 더 쉬워지고 스토리지 지출이 최적화됩니다. 전송 중 및 유휴 상태 모두에서 데이터가 암호화됩니다. PostgreSQL를 사용하는 OCI 데이터베이스는 가용성 도메인(AD) 장애 시에도 내구성을 제공하여 고가용성을 위해 설계되었습니다.
이 자습서에서는 PostgreSQL를 사용하여 OCI 데이터베이스에 대한 콜드 재해 복구를 자동화하는 방법을 알아봅니다. OCI Full Stack DR 서비스를 활용하여 스위치오버 및 페일오버 프로세스를 관리하는 절차를 간략하게 설명합니다.
주: 이러한 유형의 DR(재해 복구) 전략은 백업 및 복원 방식에 의존하므로 RTO(복구 시간 목표) 및 RPO(복구 지점 목표)에 대한 비즈니스 요구 사항이 지나치게 까다롭지 않은 비중요 응용 프로그램에 가장 적합합니다.
아키텍처 설명
이 자습서에 나와 있는 아키텍처는 OCI 가상 머신(VM)에서 실행되는 일반적인 웹 애플리케이션을 PostgreSQL와 OCI 데이터베이스와 원활하게 통합한 모습을 보여줍니다.
OCI 로드 밸런서는 외부 사용자 연결을 효율적으로 관리하기 위해 두 리전의 공용 서브넷 내에 배포됩니다. 애플리케이션 사용자는 DNS 트래픽 조정을 통해 영역 X의 현재 활성 백엔드로 경로 지정됩니다.
그림 fsdr_psql_backup_restore_dr-Physical_Architecture.png에 대한 설명
재해 복구 아키텍처 설명
이 웹 응용 프로그램의 DR 전략에는 볼륨 그룹 복제를 사용하는 VM의 부트 볼륨에 대한 전체 복제를 포함하여 포괄적인 접근 방식이 포함됩니다.
PostgreSQL를 사용하는 OCI 데이터베이스의 경우 백업 복사본을 통해 자동 백업을 원격 지역으로 정기적으로 복사하여 데이터 보호 및 재해 복구 준비를 보장합니다.
그림 fsdr_psql_backup_restore_dr-Physical_DR_Architecture.png에 대한 설명
이 배포를 위한 복구 솔루션을 사용하려면 복구 작업(예: 페일오버 또는 스위치오버) 중에 일련의 사용자 지정 Python 스크립트를 실행하기 위해 OCI Full Stack DR이 필요합니다.
이 자습서에서 참조하는 스크립트는 EMEA 기술 엔지니어링 팀에서 제공하며 이 DR 솔루션에 맞게 특별히 조정된 전체 스택 재해 복구에서 사용할 수 있습니다.
이 자습서에서는 스크립트를 다운로드하는 방법과 이후 작업에서 스크립트를 사용하는 방법에 대해 설명합니다.
주: 일반적인 지침은 다음 스크립트를 제공합니다. 자체 스크립트를 사용하거나 회사 정책 및 보안 요구 사항에 따라 스크립트를 사용자 정의할 수 있습니다.
로드 밸런서는 원격 영역에 사전 프로비저닝되어 전환 또는 페일오버 중에 웹 애플리케이션 VM이 원격 영역으로 전환될 때 트래픽을 원활하게 처리할 수 있도록 합니다. 시나리오는 다음 다이어그램에서 볼 수 있듯이 로드 밸런서의 원활한 스위치오버는 현재 사용 가능한 로드 밸런서 백엔드 세트에 대한 건전성 검사가 연결된 경로 지정과 함께 DNS 조정 정책에 의해 보장됩니다. 자세한 내용은 OCI 트래픽 관리를 참조하십시오.
로드 밸런서 리스너는 포트 80
(프론트엔드) 및 8000
(API)에 설정되며, 각각 기본 구성의 포트 3000
및 8585
로 경로 지정됩니다.
그림 fsdr_psql_backup_restore_dr-Physical_Network_Architecture.png에 대한 설명
다음 다이어그램은 기본 영역에서 원격 영역으로 자동 백업 복사를 위한 워크플로우를 보여 줍니다.
그림 fsdr_psql_backup_restore_dr-Logical_Workflow_Auto_Copy_Backup_to_Remote.png에 대한 설명
이 경우 매일 실행되도록 백업을 예약한 다음 추가 중복성을 위해 원격 영역으로 복사하여 24시간의 RPO(복구 지점 목표)를 생성할 수 있습니다.
참고:
- 자동 백업을 사용으로 설정하고 원격 영역에 대한 백업 복사를 사용으로 설정해야 합니다. 이 단계가 없으면 보조 영역에서 백업을 사용할 수 없기 때문에 복원 프로세스가 실패할 수 있습니다.
- 이 사용지침서에서는 생성, 다른 영역으로 전송 및 백업에서 새 데이터베이스 시스템 생성 작업을 자동화하는 데 중점을 두지만 PostgreSQL 설명서와 함께 OCI 데이터베이스에 따라 동일한 단계를 수동으로 수행할 수 있습니다.
사용 사례에 더 짧은 RPO가 필요한 경우 해결 방법은 백업을 더 자주 예약하고 제공된 스크립트(psql_create_bkp.py
및 psql_copy_bkp.py
)를 사용하여 비즈니스 요구사항에 따라 수동으로 백업을 트리거하고 원격 영역에 복사하는 것입니다. 또한 psql_copy_config.py
를 사용하여 PostgreSQL 구성을 사용하는 OCI 데이터베이스를 데이터베이스 시스템 확장 및 매개변수를 복원하는 데 필요한 원격 영역으로 복사할 수 있습니다.
그림 fsdr_psql_backup_restore_dr-Logical_Workflow_Manual_Backup_Copy_to_Remote.png에 대한 설명
모든 스크립트는 GitHub에서 사용할 수 있으며 다음 절에 자세히 설명되어 있습니다.
주: 정기적으로 백업을 수행하고 원격 영역에 복사하려면 업무 요구 사항에 따라 이 스크립트(또는 이와 유사한 스크립트)의 일정을 잡아야 합니다. 이 단계가 없으면 보조 영역에서 백업을 사용할 수 없기 때문에 복원 프로세스가 실패할 수 있습니다.
복구 작동 방식
계획된 switchover가 실행되면 롤은 반대로 돌아가며, 기본 작업 로드는 리전 2에서 실행되고 standby는 리전 1에서 실행됩니다. 구조는 다음과 같이 나타납니다.
그림 fsdr_psql_backup_restore_dr-Physical_Switchover_Architecture.png에 대한 설명
현재 설정에서는 OCI 프라이빗 DNS 서비스를 활용하여 PostgreSQL 엔드포인트를 통해 활성 OCI 데이터베이스로 트래픽을 전달하는 DNS 레코드를 관리합니다. 복구 프로세스 중에 이 DNS 레코드는 PostgreSQL와 함께 새 OCI 데이터베이스를 반영하기 위해 사용자정의 스크립트(psql_update_dns.py
)를 통해 업데이트되므로 원활한 전환 또는 페일오버와 서비스 연속성이 보장됩니다.
다음 다이어그램은 대기 영역에서 PostgreSQL 백업을 사용하여 최신 OCI 데이터베이스를 복원하고 새 기본 영역이 되는 워크플로우를 보여줍니다.
그림 fsdr_psql_backup_restore_dr-Logical_Workflow_Switchover_to_Remote.png에 대한 설명
자습서 전체의 정의 및 가정
-
영역:
-
지역 1(두바이): 두바이가 초기에 주요 지역 역할을 합니다. 하지만 이 역할은 전환 프로세스 중 대기로 전환되며 재해 복구 계획의 일부로 이후 작업에서 수행됩니다.
-
Region 2(Abu Dhabi): Abu Dhabi는 초기에 대기 지역으로 기능할 것입니다. 이 역할은 나중에 재해 복구 절차의 일부로 후속 작업에서 수행될 전환 프로세스에 따라 기본 역할로 전환됩니다.
-
-
구획: 이 배포 및 OCI Full Stack DR을 IT 거버넌스에 대한 표준 내에서 작동하는 모든 구획 체계로 자유롭게 구성할 수 있습니다. 이 자습서에 대한 모든 OCI 리소스를 단일 컴파트먼트로 구성하도록 선택했습니다.
웹 애플리케이션 가상 머신
이 자습서의 웹 애플리케이션은 엔드투엔드 시나리오 아키텍처를 소개하기 위한 것이며, 단일 배포 스크립트(deploy_application_demo.sh
)가 웹 애플리케이션 VM에서 애플리케이션 스택을 구성하고 배포할 것입니다. 응용 프로그램 배치에 대한 추가 지침은 저장소(link-to-web-app-sample)에서 찾을 수 있습니다.
프론트엔드 미리보기: 보고서에 표시되는 행은 OCI Database(PostgreSQL)에서 직접 가져옵니다.
그림 webapp-frontend-preview.png에 대한 설명
목표
이 자습서에서는 다음 작업에 대해 다룹니다.
- 작업 1: Disaster Recovery를 위한 환경을 준비합니다.
- 작업 2: 두 영역에서 DRPG(DR 보호 그룹) 만들기
- 작업 3: DR 보호 그룹에 멤버를 추가합니다.
- 작업 4: 영역 2에서 기본 DR 계획 생성
- 작업 5: 영역 2의 Switchover Plan 커스터마이즈
- 작업 6: 영역 2의 Failover 계획 커스터마이즈
- 작업 7: 영역 2에서 DR 계획의 사전 검사를 실행합니다.
- 작업 8: 영역 2에서 switchover 계획을 실행합니다.
- 작업 9: 영역 1에서 DR 계획 만들기 및 사용자 정의
- 작업 10: 영역 1에서 Failover 계획 실행
작업 1: 재해 복구를 위한 환경 준비
작업 1.1: 볼륨 그룹 만들기 및 복제 사용
리전 1에서 샘플 웹 애플리케이션 VM에 대한 볼륨 그룹을 생성하고 리전 2에서 복제되었는지 확인합니다. 각 애플리케이션 VM에 대한 부트 볼륨(샘플 WebApp)이 볼륨 그룹의 멤버이고 볼륨 그룹이 영역 2로 복제되었는지 확인합니다.
복제가 영역 2로 성공적으로 사용으로 설정된 웹 애플리케이션 VM의 부트 볼륨을 포함하는 생성된 볼륨 그룹을 표시하는 다음 이미지입니다. 자세한 내용은 볼륨 그룹 만들기를 참조하십시오.
그림 psql-webapp-create-vol-grp.png에 대한 설명
그림 psql-webapp-create-vol-grp-2.png에 대한 설명
그림 psql-webapp-create-vol-grp-3.png에 대한 설명
영역 간 복제를 구성한 후 요약으로 이동한 후 생성을 누를 때까지 다음을 누릅니다.
작업 1.2: 자동 배치를 위해 웹 응용 프로그램 VM 준비
-
/home/opc
폴더에서 GitHub 저장소(oci-postgressql-colddr)를 다운로드/복제합니다. -
스크립트를 실행 가능한 상태로 만듭니다.
chmod +x deploy_application_demo.sh
-
두 리전에서
deploy_application_demo.sh
스크립트를 웹 애플리케이션 및 OCI 데이터베이스에 필요한 세부정보로 업데이트합니다(PostgreSQL 사용).WEBAPP_HOME
: 배치의 루트 위치입니다(스크립트를 실행할 위치). 예:/home/opc
.WEBAPP_URL
: APIhttp://webapi.yoururl.eu:8000
를 사용하여 컴퓨트를 가리키는 URL입니다.PRIMARY_REGION
: OCI 기본 리전입니다. 형식은eu-frankfurt-1
입니다.STANDBY_REGION
: OCI 대기 리전입니다.PRIMARY_SECRET_OCID
: 기본 영역(ocid1.vaultsecret.oc1.me-dubai-1.xxxxxx
)에서 PostgreSQL 비밀번호를 사용하는 OCI 저장소 암호 OCID입니다.STANDBY_SECRET_OCID
: 대기 영역(ocid1.vaultsecret.oc1.me-abudhabi-1.xxxxxx
)에서 PostgreSQL 비밀번호를 사용하는 OCI 저장소 암호 OCID입니다.PG_USER
: 샘플 데이터 로드에 사용되는 데이터베이스 사용자(postgresql_sample.sql
)입니다.PG_DB
: 샘플 데이터를 로드하는 데 사용되는 데이터베이스입니다. 기본값은postgres
입니다.PG_HOST
: 데이터베이스에 대한 개인 영역 항목의 FQDN입니다.
참고:
- 모든 값이 정확하게 업데이트되었는지 확인합니다.
- 기본 구성을 사용할 때는 다른 매개변수를 변경하지 않고 유지할 수 있습니다.
-
deploy_application_demo.sh
스크립트를 실행합니다../deploy_application_demo.sh
그러면 프론트엔드, 백엔드, 서비스 및 방화벽이 배치됩니다.
배포가 성공하면 배포 완료! 메시지가 표시됩니다.
이 자습서의 일부로 사용자 정의 스크립트 실행을 위해 동일한 VM을 사용합니다. DR 제어 노드 역할을 하는 VM이 명령을 실행하도록 구성되었는지 확인합니다. 자세한 내용은 Oracle Cloud Infrastructure Full Stack Disaster Recovery에서 run 명령을 사용하여 사용자정의 스크립트 호출을 참조하십시오.
작업 1.3: 웹 조정 정책 생성
응용 프로그램이 항상 활성 영역을 가리키도록 보장하기 위해 페일오버 트래픽 관리 조정 정책을 활용할 수 있습니다. OCI Health Checks 서비스와 결합된 조정 정책은 HTTP 모니터를 통해 60초마다(기본 TTL) 애플리케이션 끝점을 검증합니다.
-
OCI 콘솔로 이동하여 네트워킹으로 이동합니다.
-
트래픽 관리 조종 정책을 누릅니다.
-
트래픽 관리 조종 정책 만들기를 누릅니다.
그림 psql-webapp-dns-create.png에 대한 설명
-
Failover를 정책 유형으로 선택합니다.
- 조정 정책의 이름을 입력합니다.
- 조정 정책에 대한 컴파트먼트를 선택합니다.
- 요구 사항에 따라 TTL을 선택하십시오.
-
영역 1에서 로드 밸런서를 가리키는 답변 풀 1을 구성합니다.
- 풀에 대해 의미 있는 이름을 입력합니다.
- 레코드를 유형으로 선택합니다.
- 지역 1에 웹 애플리케이션 로드 밸런서의 IP를 입력합니다.
-
영역 2에서 로드 밸런서를 가리키는 답변 풀 2를 구성합니다.
- 풀에 대한 이름을 입력합니다.
- 레코드를 유형으로 선택합니다.
- 영역 2에 웹 애플리케이션 로드 밸런서의 IP를 입력합니다.
-
풀 우선순위를 구성합니다. 이 컨텍스트 우선순위는 영역 1에 지정됩니다.
-
새로 추가를 눌러 OCI 건전성 검사 정책을 첨부합니다.
- 요청 유형을 HTTP로 선택합니다.
- 건전성 검사에 대한 이름을 입력합니다.
- 건전성 검사가 적용되는 컴파트먼트를 선택합니다.
-
Advanced options(고급 옵션)를 누릅니다.
- 웹 애플리케이션의 포트(이 경우
80
)를 입력합니다. - 웹 애플리케이션 경로를 입력합니다(이 경우
/
). - GET을 메소드로 선택합니다.
- 요청에 대한 시간 초과를 선택합니다.
그림 psql-webapp-dxb-dns-create-healthcheck-details.png에 대한 설명
- 웹 애플리케이션의 포트(이 경우
-
연결된 도메인을 구성합니다.
webapi
끝점에 대한 하위 도메인을 입력합니다.- 영역(도메인)을 포함하는 컴파트먼트를 선택합니다.
- 적절한 구역을 선택합니다.
webapp
끝점에 대해 1-3단계를 반복합니다.
-
모든 세부정보가 올바른지 확인하고 트래픽 관리 조정 정책 생성을 누릅니다. 잠시 후 생성 시 completed가 표시되어야 합니다.
-
생성 후 조정 정책 개요를 확인할 수 있습니다. 페이지 끝에 연결된 건전성 검사가 표시될 수 있습니다.
그림 psql-webapp-dxb-dns-create-details.png에 대한 설명
- Attached health check를 누릅니다.
- 건전성 검사 내역으로 이동합니다.
-
여기서는 현재 사용 가능한 로드 밸런서와 과거 가용성을 확인할 수 있습니다.
-
작업 1.4: OCI 전체 스택 DR에 대한 Oracle Cloud Infrastructure Identity and Access Management 정책 생성
OCI Full Stack DR에 필요한 OCI IAM 정책을 구성하려면 다음을 참조하십시오.
태스크 1.5: OCI 전체 스택 DR에서 관리하는 다른 서비스에 대한 OCI IAM 정책 생성
OCI Full Stack DR은 컴퓨팅, 네트워킹, 스토리지 및 기타 서비스와 같은 기타 주요 OCI 서비스를 제어하고 관리할 수 있어야 합니다. 다른 서비스에 필요한 OCI IAM 정책을 구성하려면 전체 스택 재해 복구로 관리되는 기타 서비스에 대한 정책 및 OCI IAM 정책을 참조하십시오.
작업 2: 두 영역에서 DRPG(DR 보호 그룹) 만들기
이 애플리케이션 스택에 대한 보호 그룹이 아직 존재하지 않을 경우 영역 1 및 영역 2에 DR 보호 그룹을 생성합니다.
작업 2.1: 영역 1에서 보호 그룹 생성
-
OCI 콘솔로 이동하고 DR 보호 그룹으로 이동합니다.
- OCI 지역 컨텍스트가 지역 1(두바이)로 설정되어 있는지 확인합니다.
- 마이그레이션 및 재해 복구를 누릅니다.
- DR 보호 그룹을 누릅니다.
-
영역 1에서 기본 DRPG(DR 보호 그룹)를 만듭니다. 피어, 롤 및 멤버는 이후 단계에서 지정됩니다.
- DRPG를 생성할 컴파트먼트를 선택합니다.
- DR 보호 그룹 생성을 눌러 대화상자를 엽니다.
- DRPG에 대해 이름을 입력합니다.
- OCI 전체 스택 DR 로그에 대해 OCI 오브젝트 스토리지 버킷을 선택합니다.
- Create를 누릅니다.
작업 2.2: 영역 2에서 보호 그룹 생성
-
OCI 콘솔로 이동하여 DR 보호 그룹으로 이동합니다.
- OCI 지역 컨텍스트가 지역 2(아부다비)로 설정되어 있는지 확인합니다.
- 마이그레이션 및 재해 복구를 누릅니다.
- DR 보호 그룹을 누릅니다.
-
영역 2에서 기본 DRPG(DR 보호 그룹)를 만듭니다. 피어, 롤 및 멤버는 이후 단계에서 지정됩니다.
- DRPG를 생성할 컴파트먼트를 선택합니다.
- DR 보호 그룹 생성을 눌러 대화상자를 엽니다.
- DRPG에 대해 이름을 입력합니다.
- OCI 전체 스택 DR 로그에 대해 OCI 오브젝트 스토리지 버킷을 선택합니다.
- Create를 누릅니다.
작업 2.3: 영역 1 및 영역 2에서 보호 그룹 연관
각 지역의 DRPG를 서로의 동료로 연결하고 기본 및 대기의 피어 역할을 할당합니다. 기본 및 대기 롤은 모든 DR 작업/DR 계획 실행의 일부로 OCI Full Stack DR에 의해 자동으로 변경되므로 언제든지 수동으로 롤을 관리할 필요가 없습니다.
-
DR 보호 그룹 세부정보 페이지로 이동합니다.
- OCI 지역 컨텍스트가 지역 1(두바이)로 설정되어 있는지 확인합니다.
- 프로세스를 시작하려면 연결을 누릅니다.
-
다음 그림과 같이 매개변수를 입력합니다.
- 역할: 기본 역할을 선택합니다. OCI Full Stack DR은 대기 롤을 리전 2에 자동으로 할당합니다.
- 피어 영역: 다른 DRPG가 생성된 지역 2(아부다비)를 선택합니다.
- 피어 DR 보호 그룹: 생성된 피어 DRPG를 선택합니다.
- 연계를 누릅니다.
OCI Full Stack DR은 연관이 완료되면 다음 이미지와 같이 표시됩니다.
- 현재 주요 피어인 DRPG는 두바이(지역 1)입니다.
- 현재 대기 피어 DRPG는 아부다비(지역 2)입니다.
그림 psql-webapp-dxbauh-drpg-primary.png에 대한 설명
다음 그림과 같이 모든 DR 보호 그룹을 보여주는 전역 관점에서 컨텍스트/뷰가 표시될 때마다 동일한 정보를 찾을 수 있습니다.
- 현재 주요 피어인 DRPG는 두바이(지역 1)입니다.
- 현재 대기 피어 DRPG는 아부다비(지역 2)입니다.
그림 psql-webapp-dxbauh-drpg-standby.png에 대한 설명
작업 3: DR 보호 그룹에 멤버 추가
이 연습에서는 Region 1의 primary DRPG에 다음 OCI 리소스를 추가합니다.
- 웹 애플리케이션을 호스팅하는 컴퓨트 인스턴스가 이동 VM으로 추가됩니다.
- 웹 애플리케이션 컴퓨트 노드의 부트 볼륨을 포함하는 볼륨 그룹입니다.
- 기본 로드 밸런서입니다.
작업 3.1: 영역 1에서 DRPG에 멤버 추가
-
다음 그림과 같이 Region 1에서 DRPG를 선택합니다.
- OCI 지역 컨텍스트가 지역 1(두바이)인지 확인합니다.
- Region 1에서 DRPG를 선택합니다.
- 멤버를 선택합니다.
- 멤버 추가를 눌러 프로세스를 시작합니다.
-
웹 애플리케이션 VM에 대한 컴퓨트 인스턴스를 추가합니다.
- DR 계획에 대한 경고를 확인합니다.
- 컴퓨트를 리소스 유형 멤버로 입력합니다.
- 웹 애플리케이션을 호스팅하는 컴퓨트 인스턴스를 선택합니다.
- 인스턴스 이동을 선택합니다.
- 복구 중 영역 2의 VNIC에 지정할 VCN과 서브넷을 선택하려면 VNIC 매핑 추가를 누릅니다.
- 고급 옵션을 표시합니다를 누릅니다.
- 설정에서 결함 도메인 유지를 선택합니다.
- 세부정보를 확인하고 추가를 누릅니다.
그림 psql-webapp-dxb-drpg-add-compute.png에 대한 설명
그림 psql-webapp-dxb-drpg-add-compute-vnic.png에 대한 설명
그림 psql-webapp-dxb-drpg-add-compute-vnic-details.png에 대한 설명
-
웹 애플리케이션 VM의 부트 볼륨을 포함하는 블록 볼륨 그룹을 추가합니다.
- DR 계획에 대한 경고를 확인합니다.
- 볼륨 그룹을 리소스 유형 멤버로 선택합니다.
- 볼륨 그룹을 포함하는 올바른 컴파트먼트가 선택되었는지 확인하고 볼륨 그룹을 선택합니다.
- 세부정보를 확인하고 추가를 누릅니다.
-
이 예에서는 OCI 로드 밸런서를 리전 1의 DRPG 멤버로 추가합니다.
- DR 계획에 대한 경고를 확인합니다.
- 로드 밸런서를 리소스 유형 멤버로 선택합니다.
- 로드 밸런서에 대한 올바른 구획이 선택되어 있는지 확인하고 추가할 로드 밸런서를 선택하십시오.
- 영역 2에서 사용할 대상 로드 밸런서를 선택합니다.
- 소스 백엔드 집합을 선택합니다. 이 집합은 웹 애플리케이션 VM에서 사용되는 백엔드 집합입니다. OCI 로드 밸런서는 여러 애플리케이션 간에 공유될 수 있으며 여러 백엔드 집합을 구성할 수 있습니다. DR 스위치오버 중 여기에 지정된 백엔드 집합만 해당 구성을 대기 영역으로 이동합니다.
- 대상 백엔드 집합을 선택합니다. 영역 2에서 생성된 빈 백엔드 집합입니다.
- 세부정보를 확인하고 추가를 누릅니다.
그림 psql-webapp-dxb-drpg-add-lb.png에 대한 설명
-
멤버 섹션에 로드 밸런서, 볼륨 그룹 및 컴퓨트 인스턴스가 포함되어 있는지 확인하십시오.
작업 3.2: 영역 2에서 DRPG에 멤버 추가
-
다음 그림과 같이 Region 2에서 DRPG를 선택합니다.
- OCI 리전 컨텍스트가 리전 2(아부다비)인지 확인합니다.
- Region 2에서 DRPG를 선택합니다.
- 멤버를 선택합니다.
- 멤버 추가를 눌러 프로세스를 시작합니다.
-
이 예에서는 OCI 로드 밸런서를 리전 2의 DRPG 멤버로 추가합니다.
- DR 계획에 대한 경고를 확인합니다.
- 로드 밸런서를 리소스 유형 멤버로 선택합니다.
- 로드 밸런서의 올바른 컴파트먼트가 선택되었는지 확인하고 추가할 로드 밸런서를 선택하십시오.
- 영역 1에서 사용할 대상 로드 밸런서를 선택합니다.
- 소스 백엔드 집합을 선택합니다. 이 집합은 웹 애플리케이션 VM에서 사용되는 백엔드 집합입니다. OCI 로드 밸런서는 여러 애플리케이션 간에 공유될 수 있으며 여러 백엔드 집합을 구성할 수 있습니다. DR 스위치오버 중 여기에 지정된 백엔드 집합만 해당 구성을 대기 영역으로 이동합니다.
- 대상 백엔드 집합을 선택합니다. 이 백엔드 집합은 영역 2에서 생성됩니다.
- 세부정보를 확인하고 추가를 누릅니다.
그림 psql-webapp-aux-drpg-add-lb.png에 대한 설명
-
멤버 섹션에 로드 밸런서가 포함되어 있는지 확인합니다.
작업 4: 영역 2에서 기본 DR 계획 생성
이 작업에서는 Region 2(Abu Dhabi)에서 대기 DR 보호 그룹과 연관된 초기 스위치오버 및 페일오버 계획을 만듭니다.
이러한 계획의 목적은 작업 로드를 기본 영역(영역 1)에서 대기 영역(영역 2)으로 원활하게 전환하는 것입니다. DR 작업의 일부로, 두 영역에서 DR 보호 그룹의 역할이 자동으로 취소됩니다. 즉, 영역 1의 보호 그룹이 대기 상태가 되고, 영역 2의 보호 그룹은 페일오버 또는 스위치오버 후 기본 역할을 맡습니다.
OCI Full Stack DR은 이전 작업 중에 추가된 멤버 리소스에서 파생된 내장 단계로 이러한 계획을 미리 채웁니다. 이러한 계획은 나중에 복구 프로세스 중 PostgreSQL를 사용하여 OCI 데이터베이스와 관련된 작업을 관리하도록 사용자정의됩니다.
전환 계획은 항상 대기 롤을 보유하는 보호 그룹 내에 생성됩니다. 지역 2 (아부다비)는 현재 대기 보호 그룹이기 때문에, 우리는 거기서 계획을 창조하기 시작할 것입니다.
작업 4.1: DR 계획 생성
-
지역 2(아부다비)에서 DRPG를 선택하여 기본 계획 생성
- OCI 리전 컨텍스트가 리전 2(아부다비)인지 확인합니다.
- 영역 2에서 대기 DRPG를 선택합니다.
- 플랜을 선택합니다.
- 프로세스를 시작하려면 계획 생성을 누릅니다.
-
전환 계획을 생성합니다.
- 전환 계획에 대해 간단하지만 의미 있는 이름을 입력합니다. 이름은 가능한 한 짧지만 한 눈에 이해하기 쉬워 위기의 혼란과 인간의 실수를 줄일 수 있어야합니다.
- 계획 유형을 전환(계획)으로 선택합니다.
- Create를 누릅니다.
-
복구 계획을 만듭니다. 다음 그림과 같이 동일한 프로세스에 따라 기본 페일오버 계획을 만듭니다.
- 페일오버 계획의 Name을 입력합니다.
- 계획 유형을 이동(계획되지 않음)으로 선택합니다.
- Create를 누릅니다.
이제 영역 2의 대기 DR 보호 그룹에는 다음 그림과 같이 두 개의 DR 계획이 있어야 합니다. 리전 1에서 리전 2로 작업 로드 전환을 처리합니다. Region 1에서 유사한 계획을 생성하여 후속 작업에서 Region 2에서 Region 1로 작업 로드를 전환합니다.
그림 psql-webapp-auh-drpg-plans.png에 대한 설명
작업 5: 영역 2의 Switchover Plan 커스터마이즈
태스크 4에서 생성된 기본 DR 계획에는 OCI 전체 스택 DR에 내장된 복구 작업에 대해 미리 채워진 단계가 포함되며 OCI Database with PostgreSQL과 관련된 복구 작업을 관리할 항목이 포함되지 않습니다. 이 작업에서는 사용자 정의 DR 계획 그룹 및 전환 중 수행해야 하는 작업을 관리하는 단계를 추가하는 방법에 대해 설명합니다.
- 데이터 일관성을 보장하기 위해 웹 애플리케이션 VM을 정상적으로 종료한 후 데이터베이스 백업을 생성합니다.
- 리던던시 및 재해 복구를 위해 최신 데이터베이스 백업을 원격 OCI 리전 2로 전송합니다.
- 지역 2에서 최신 데이터베이스 백업을 복원하여 전환 환경을 준비합니다.
- 애플리케이션 VM이 리전 2의 데이터베이스에 원활하게 연결할 수 있도록 프라이빗 데이터베이스 DNS 레코드를 업데이트하십시오.
- 리전 1에서 PostgreSQL 데이터베이스를 사용하여 소스 OCI 데이터베이스를 종료합니다.
작업 5.1: 전환 계획 선택
태스크 4에서 생성된 전환 계획으로 이동합니다. 작업 5.3에서 새 그룹을 추가합니다.
그림 psql-webapp-auh-drpg-create-switchover-add.png에 대한 설명
작업 5.2: (선택 사항) 아티팩트를 종료하는 DR 계획 그룹 사용
다음 그림과 같이 전환 계획에서 기본적으로 사용 안함으로 설정되는 세 개의 계획 그룹이 있습니다. 이러한 계획 그룹은 테스트 중 안심할 수 있도록 사용 안함으로 설정되므로 아티팩트가 삭제되지 않고 테스트 단계 중 문제가 발생할 경우 실행 가능한 백업 복사본이 그대로 유지됩니다.
하지만 이러한 세 가지 계획 그룹은 이후 DR 작업에 더 이상 필요하지 않을 아티팩트를 종료(삭제)하도록 설계되었습니다. 이러한 계획 그룹을 사용으로 설정하지 않으면 두 영역 간에 전환을 수행할 때 사용되지 않은 아티팩트가 계속 누적되므로 어떤 컴퓨트 인스턴스와 볼륨 그룹이 활성 상태여야 하는지에 대한 혼란이 발생할 수 있습니다.
선택적으로 이러한 계획 그룹을 사용으로 설정하면 운용 단계로 이동하기 전에 불필요한 아티팩트를 수동으로 정리할 필요가 없습니다. 이 사전 예방적 단계는 프로덕션으로의 전환을 간소화하고 보다 깨끗하고 관리하기 쉬운 환경을 유지할 수 있습니다.
그림 psql-webapp-auh-drpg-create-switchover-details-1.png에 대한 설명
-
계획 그룹을 사용으로 설정하려면 계획 그룹 이름 오른쪽의 컨텍스트 메뉴에서 모든 단계 사용을 선택합니다.
그림 psql-webapp-auh-drpg-create-switchover-enable.png에 대한 설명
그림 psql-webapp-auh-drpg-create-switchover-enable-check.png에 대한 설명
-
모든 계획 그룹이 사용으로 설정되었는지 확인합니다.
그림 psql-webapp-auh-drpg-create-switchover-enable-complete.png에 대한 설명
작업 5.3: 사용자 정의 스크립트를 실행할 계획 그룹 만들기
먼저 사용자 정의 DR 계획 그룹을 추가하여 PostgreSQL 백업/복원 DR 프로세스를 통해 OCI 데이터베이스의 특정 요구에 맞게 DR 워크플로우를 조정할 수 있습니다.
이러한 계획 그룹은 리전 1의 웹 애플리케이션 VM에서 필요한 스크립트를 호출합니다. 이렇게 하면 애플리케이션 VM이 온라인 상태가 되기 전에 PostgreSQL의 OCI 데이터베이스가 완전히 복원되어 작동합니다.
미리 채워진 전환 계획(PostgreSQL - Switchover, PostgreSQL - Update DNS 및 PostgreSQL - Terminate)에 다음 사용자정의 계획을 추가해야 합니다.
-
PostgreSQL를 사용하여 OCI 데이터베이스에 대한 전환을 실행할 사용자정의 계획 그룹을 추가합니다. 이 작업에는 기본 영역에서 데이터베이스를 백업하고, 데이터베이스 구성을 대기 영역으로 복사하고, 데이터베이스 백업을 대기 영역으로 복사하고, 마지막으로 대기 영역에서 데이터베이스를 복원하는 작업이 포함됩니다.
- 그룹 추가(Add group)를 누릅니다.
- 단순하지만 설명적인 계획 그룹 이름을 입력합니다. 이 예에서는
PostgreSQL - Switchover
를 사용합니다. - 계획 그룹이 DR 계획에 삽입될 위치를 선택합니다. 이 예에서는 다음에 추가를 선택하여 내장된 계획 그룹 컴퓨트 인스턴스 - 실행 뒤에 사용자 정의 계획 그룹을 삽입합니다.
- 단계 추가를 눌러 PostgreSQL 스위치오버를 실행할 스크립트를 지정할 대화상자를 엽니다.
그림 psql-webapp-auh-drpg-create-switchover-add-psql-so.png에 대한 설명
플랜 그룹 추가 단계에서 다음 정보를 입력합니다.
- 단계 이름을 입력합니다. 이 예에서는
PostgreSQL - Switchover
를 사용합니다. 계획 그룹 이름과 동일합니다. - 이 단계가 실행될 인스턴스가 포함된 영역을 선택합니다. 이 예에서는 스크립트가 리전 1의 웹 애플리케이션 VM에서 실행됩니다.
- 로컬 스크립트 실행을 선택합니다.
- 영역 1의 웹 애플리케이션 VM인 대상 인스턴스를 선택합니다.
- 스크립트 매개변수에 매개변수와 함께 스크립트의 전체 경로를 입력합니다. 예:
/home/opc/full-stack-dr-scripts-main/oci-postgresql/backup-restore/psql_exec_cold_dr.py -c amo-psql-dbs.json -o switchover
. - 사용자 권한으로 실행에
opc
을 입력합니다. - 단계 추가를 누릅니다.
그림 psql-webapp-auh-drpg-create-switchover-add-psql-so-details.png에 대한 설명
추가를 누릅니다.
그림 psql-webapp-auh-drpg-create-switchover-add-psql-details.png에 대한 설명
-
사용자정의 계획 그룹을 추가하여 PostgreSQL 데이터베이스 DNS를 업데이트합니다.
- 그룹 추가(Add group)를 누릅니다.
- 계획 그룹 이름을 입력합니다. 이 예에서는
PostgreSQL - Update DNS
를 사용합니다. - 계획 그룹이 DR 계획에 삽입될 위치를 선택합니다. 이 예에서는 다음 뒤에 추가를 선택하여 내장된 계획 그룹 PostgreSQL - 스위치오버 뒤에 사용자 정의 계획 그룹을 삽입합니다.
- 단계 추가를 눌러 PostgreSQL 데이터베이스 DNS를 업데이트할 스크립트를 지정할 대화상자를 엽니다.
그림 psql-webapp-auh-drpg-create-switchover-add-psql-dns.png에 대한 설명
플랜 그룹 추가 단계에서 다음 정보를 입력합니다.
- 단계 이름을 입력합니다. 이 예에서는
PostgreSQL - Update DNS
를 사용합니다. 계획 그룹 이름과 동일합니다. - 이 단계가 실행될 인스턴스가 포함된 영역을 선택합니다. 이 예에서는 스크립트가 리전 1의 웹 애플리케이션 VM에서 실행됩니다.
- 로컬 스크립트 실행을 선택합니다.
- 영역 1의 웹 애플리케이션 VM인 대상 인스턴스를 선택합니다.
- 스크립트 매개변수에 매개변수와 함께 스크립트의 전체 경로를 입력합니다. 예:
/home/opc/full-stack-dr-scripts-main/oci-postgresql/backup-restore/psql_update_dns.py -c amo-psql-dbs.json -d amo-psql-dbs.amo.vcn01.internal -o switchover
. - 사용자 권한으로 실행에
opc
을 입력합니다. - 단계 추가를 누릅니다.
그림 psql-webapp-auh-drpg-create-switchover-add-psql-dns-details.png에 대한 설명
추가를 누릅니다.
그림 psql-webapp-auh-drpg-create-switchover-add-dns-details.png에 대한 설명
-
PostgreSQL 소스 데이터베이스를 종료하는 사용자정의 계획 그룹을 추가합니다.
- 그룹 추가(Add group)를 누릅니다.
- 계획 그룹 이름을 입력합니다. 이 예에서는
PostgreSQL - Terminate
를 사용합니다. - 계획 그룹이 DR 계획에 삽입될 위치를 선택합니다. 이 예에서는 다음 뒤에 추가를 선택하여 내장된 계획 그룹 볼륨 그룹 - DR 보호 그룹에서 제거 뒤에 사용자 정의 계획 그룹을 삽입합니다.
- 단계 추가를 눌러 PostgreSQL 데이터베이스 소스를 종료할 스크립트를 지정할 대화상자를 엽니다.
그림 psql-webapp-auh-drpg-create-switchover-add-psql-terminate.png에 대한 설명
플랜 그룹 추가 단계에서 다음 정보를 입력합니다.
- 단계 이름을 입력합니다. 이 예에서는
PostgreSQL - Terminate
를 사용합니다. 계획 그룹 이름과 동일합니다. - 이 단계가 실행될 인스턴스가 포함된 영역을 선택합니다. 이 예에서는 스크립트가 리전 1의 웹 애플리케이션 VM에서 실행됩니다.
- 로컬 스크립트 실행을 선택합니다.
- 영역 1의 웹 애플리케이션 VM인 대상 인스턴스를 선택합니다.
- 스크립트 매개변수에 매개변수와 함께 스크립트의 전체 경로를 입력합니다. 예:
/home/opc/full-stack-dr-scripts-main/oci-postgresql/backup-restore/psql_exec_cold_dr.py -c amo-psql-dbs.json -o terminate
. - 사용자 권한으로 실행에
opc
을 입력합니다. - 단계 추가를 누릅니다.
그림 psql-webapp-auh-drpg-create-switchover-add-psql-terminate-details.png에 대한 설명
추가를 누릅니다.
그림 psql-webapp-auh-drpg-create-switchover-add-terminate-details.png에 대한 설명
-
생성된 사용자정의 계획 그룹에 사용 상태가 표시되는지 확인합니다.
그림 psql-webapp-auh-drpg-create-switchover-details-2.png에 대한 설명
전환 계획 사용자정의가 성공적으로 완료되었습니다.
작업 6: 영역 2의 Failover 계획 커스터마이즈
이 작업에서는 사용자 정의 DR 계획 그룹 및 단계를 추가하여 페일오버 중 수행해야 하는 작업을 관리합니다.
-
지역 2에서 최신 데이터베이스 백업을 복원하여 전환 환경을 준비합니다.
-
애플리케이션 VM이 리전 2의 데이터베이스에 원활하게 연결할 수 있도록 프라이빗 데이터베이스 DNS 레코드를 업데이트하십시오.
작업 6.1: 복구 계획 선택
태스크 4에서 생성된 페일오버 계획으로 이동합니다.
그림 psql-webapp-auh-drpg-create-failover-details-1.png에 대한 설명
작업 6.2: 영역 2에서 사용자 정의 스크립트를 실행할 계획 그룹 생성
먼저 사용자정의 DR 계획 그룹을 추가하여 PostgreSQL 백업/복원 DR 프로세스를 통해 OCI 데이터베이스의 특정 요구에 맞게 DR 워크플로우를 조정할 수 있습니다.
이러한 계획 그룹은 웹 애플리케이션 VM에서 필요한 스크립트를 호출합니다.
미리 채워진 페일오버 계획에는 PostgreSQL - Failover 및 PostgreSQL - Update DNS 사용자 정의 계획이 추가되어야 합니다.
-
PostgreSQL 페일오버 스크립트를 실행할 사용자정의 계획 그룹을 추가합니다.
- 그룹 추가(Add group)를 누릅니다.
- 계획 그룹 이름을 입력합니다. 이 예에서는
PostgreSQL - Failover
를 사용합니다. - 계획 그룹이 DR 계획에 삽입될 위치를 선택합니다. 이 예에서는 다음에 추가를 선택하여 내장된 계획 그룹 컴퓨트 인스턴스 - 실행 뒤에 사용자 정의 계획 그룹을 삽입합니다.
- 단계 추가를 눌러 PostgreSQL 데이터베이스를 페일오버할 스크립트를 지정할 대화상자를 엽니다.
그림 psql-webapp-auh-drpg-create-failover-add-psql.png에 대한 설명
플랜 그룹 추가 단계에서 다음 정보를 입력합니다.
- 단계 이름을 입력합니다. 이 예에서는
PostgreSQL - Failover
를 사용합니다. 계획 그룹 이름과 동일합니다. - 이 단계가 실행될 인스턴스가 포함된 영역을 선택합니다. 이 예에서는 스크립트가 리전 1의 웹 애플리케이션 VM에서 실행됩니다.
- 로컬 스크립트 실행을 선택합니다.
- 영역 1의 웹 애플리케이션 VM인 대상 인스턴스를 선택합니다.
- 스크립트 매개변수에 매개변수와 함께 스크립트의 전체 경로를 입력합니다. 예:
/home/opc/full-stack-dr-scripts-main/oci-postgresql/backup-restore/psql_exec_cold_dr.py -c amo-psql-dbs.json -o failover
. - 사용자 권한으로 실행에
opc
을 입력합니다. - 단계 추가를 누릅니다.
그림 psql-webapp-auh-drpg-create-failover-add-psql-fo-details.png에 대한 설명
추가를 누릅니다.
그림 psql-webapp-auh-drpg-create-failover-add-psql-details.png에 대한 설명
-
사용자정의 계획 그룹을 추가하여 PostgreSQL 데이터베이스 DNS를 업데이트합니다.
- 그룹 추가(Add group)를 누릅니다.
- 계획 그룹 이름을 입력합니다. 이 예에서는
PostgreSQL - Update DNS
를 사용합니다. - 계획 그룹이 DR 계획에 삽입될 위치를 선택합니다. 이 예에서는 다음 뒤에 추가를 선택하여 내장 계획 그룹 PostgreSQL - 페일오버 뒤에 사용자 정의 계획 그룹을 삽입합니다.
- 단계 추가를 눌러 PostgreSQL 데이터베이스 DNS를 업데이트할 스크립트를 지정할 대화상자를 엽니다.
그림 psql-webapp-auh-drpg-create-failover-add-dns.png에 대한 설명
플랜 그룹 추가 단계에서 다음 정보를 입력합니다.
- 단계 이름을 입력합니다. 이 예에서는
PostgreSQL - Update DNS
를 사용합니다. 계획 그룹 이름과 동일합니다. - 이 단계가 실행될 인스턴스가 포함된 영역을 선택합니다. 이 예제에서는 스크립트가 리전 1의 웹 애플리케이션 VM에서 실행됩니다.
- 로컬 스크립트 실행을 선택합니다.
- 영역 1의 웹 애플리케이션 VM인 대상 인스턴스를 선택합니다.
- 스크립트 매개변수에 매개변수와 함께 스크립트의 전체 경로를 입력합니다. 예:
/home/opc/full-stack-dr-scripts-main/oci-postgresql/backup-restore/psql_update_dns.py -c amo-psql-dbs.json -d xxx-psql-dbs.xxx.vcn01.internal -o failover
. - 사용자 권한으로 실행에
opc
을 입력합니다. - 단계 추가를 누릅니다.
그림 psql-webapp-auh-drpg-create-failover-add-dns-fo-details.png에 대한 설명
추가를 누릅니다.
그림 psql-webapp-auh-drpg-create-failover-add-dns-details.png에 대한 설명
-
생성된 사용자정의 계획 그룹에 사용 상태가 표시되는지 확인합니다.
그림 psql-webapp-auh-drpg-create-failover-details-2.png에 대한 설명
페일오버 계획 사용자 정의가 성공적으로 완료되었습니다.
작업 7: 영역 2에서 사전 검사 실행
스위치오버 및 페일오버 DR 계획이 모두 대기 영역 2에 성공적으로 생성되었습니다. 이러한 계획을 통해 OCI Full Stack DR은 워크로드를 리전 1에서 리전 2로 전환할 수 있습니다. 후속 작업에는 전환 및 페일오버 계획에 대한 사전 검사를 실행하여 준비 상태를 확인하고 전환 프로세스를 검증하는 작업이 포함됩니다.
작업 7.1: 전환 계획에 대한 사전 검사 시작
DR 전환 계획에 대한 사전 검사를 실행합니다.
-
영역 컨텍스트가 standby Region 2로 설정되었는지 확인합니다.
-
영역 2에서 올바른 DR 보호 그룹이 선택되었는지 확인합니다. 대기 롤이어야 합니다.
-
switchover plan name을 누릅니다.
-
작업을 누릅니다.
-
사전 검사 실행을 누릅니다.
그림 psql-webapp-auh-drpg-create-switchover-precheck.png에 대한 설명
-
사전 검사 실행을 누릅니다.
그림 psql-webapp-auh-drpg-create-switchover-precheck-run.png에 대한 설명
-
모든 사전 검사가 성공적으로 완료되었는지 확인합니다.
그림 psql-webapp-auh-drpg-create-switchover-precheck-details-2.png에 대한 설명
작업 7.2: 복구 계획에 대한 사전 검사 시작
페일오버 DR 계획에 대한 사전 검사를 실행합니다.
-
영역 컨텍스트가 대기 영역 2로 설정되었는지 확인하십시오.
-
영역 2에서 올바른 DR 보호 그룹이 선택되었는지 확인합니다. 대기 롤이어야 합니다.
-
페일오버 계획 이름을 누릅니다.
-
작업을 누릅니다.
-
사전 검사 실행을 누릅니다.
-
사전 검사 실행을 누릅니다.
그림 psql-webapp-auh-drpg-create-failover-precheck-run.png에 대한 설명
-
모든 사전 검사가 성공적으로 완료되었는지 확인합니다.
그림 psql-webapp-auh-drpg-create-failover-precheck-details-2.png에 대한 설명
작업 8: 영역 2에서 Switchover Plan 실행
스위치오버 DR 계획을 실행하여 PostgreSQL를 리전 1에서 리전 2로 사용하는 OCI 데이터베이스로 웹 애플리케이션을 전환하는 프로세스를 시작합니다.
-
영역 컨텍스트가 standby Region 2로 설정되었는지 확인합니다.
-
영역 2에서 올바른 DR 보호 그룹이 선택되었는지 확인합니다. 대기 롤이어야 합니다.
-
switchover plan name을 누릅니다.
-
작업을 누릅니다.
-
계획 실행을 누릅니다.
이 작업은 Region 2에서 switchover 계획을 실행합니다.
- 사전 검사 사용은 작업 7에서 이미 실행되었으므로 선택 해제합니다.
- 계획 실행을 누릅니다.
그림 psql-webapp-auh-drpg-create-switchover-execute-run.png에 대한 설명
전체 작업 로드가 Region 1에서 Region 2로 완전히 전환될 때까지 switchover 계획을 모니터합니다.
switchover 계획 실행이 약 39분 후에 성공적으로 완료되었습니다.
그림 psql-webapp-auh-drpg-create-switchover-execute-details-1.png에 대한 설명
그림 psql-webapp-auh-drpg-create-switchover-execute-details-2.png에 대한 설명
전환 후: 웹 애플리케이션은 이전과 동일한 URL을 사용하여 리전 2에서 다시 액세스할 수 있습니다.
그림 webapp-frontend-preview.png에 대한 설명
작업 9: 영역 1에서 DR 계획 생성 및 사용자 정의
OCI Full Stack DR을 통한 스위치오버가 성공적으로 완료되면 리전 2는 이제 기본 리전의 역할을 맡았고, 리전 1은 대기 리전으로 전환되었습니다.
작업 1 - 8에 설명된 것과 동일한 접근 방식을 따르고, 이제 대기 피어 영역으로 사용되는 영역 1에 대한 DR 보호 그룹 내에서 전환 및 페일오버 계획을 만들고 사용자 정의합니다.
그림 psql-webapp-dxb-drpg-plan-create.png에 대한 설명
주:
PostgreSQL - Terminate
는 다음 스크린샷에 표시되지 않습니다.
그림 psql-webapp-dxb-drpg-create-switchover-details-1.png에 대한 설명
그림 psql-webapp-dxb-drpg-create-failover-details-1.png에 대한 설명
작업 10: 영역 1에서 Failover 계획 실행
페일오버 계획의 실행은 DR 전략의 효과를 검증하기 위해 재해 시나리오를 시뮬레이션하는 테스트 목적으로 사용됩니다. 이 시뮬레이션에서는 리전 2에서 가상 머신(VM)을 의도적으로 중지하여 재해가 모방됩니다.
이 시뮬레이션된 실패로부터 복구하기 위해 페일오버 DR 계획을 실행합니다. 이 계획은 페일오버 프로세스를 시작합니다. 여기서 PostgreSQL를 사용하여 OCI 데이터베이스의 가장 최근 사용 가능한 백업이 리전 1에 복원됩니다.
주: 페일오버 DR 계획은 심각한 계획되지 않은 이벤트 중에만 사용해야 합니다. 페일오버 프로세스 중 데이터 손실이 발생할 수 있습니다.
- 영역 컨텍스트가 대기 영역 1로 설정되었는지 확인하십시오.
- 영역 1에서 올바른 DR 보호 그룹이 선택되었는지 확인합니다. 대기 롤이어야 합니다.
- 페일오버 계획 이름을 누릅니다.
- 작업을 누릅니다.
- 계획 실행을 누릅니다.
그림 psql-webapp-dxb-drpg-failover-execute.png에 대한 설명
이 작업은 영역 1에서 Failover 계획을 실행합니다.
- 실제 페일오버 연습이므로 사전 검사 사용을 선택하지 않은 상태로 유지합니다.
- 시작하려면 계획 실행을 누릅니다.
그림 psql-webapp-dxb-drpg-failover-execute-run.png에 대한 설명
전체 작업 로드가 리전 2에서 리전 1로 완전히 전환될 때까지 복구 계획을 모니터합니다.
failover 계획 실행이 대략 10분 후에 성공적으로 완료되었습니다.
그림 psql-webapp-dxb-drpg-create-failover-execute-details-1.png에 대한 설명
그림 psql-webapp-dxb-drpg-create-failover-execute-details-2.png에 대한 설명
관련 링크
승인
-
Authors - Antoun Moubarak(Architect, Office of CTO), Piotr Kurzynoga(오픈소스 데이터 블랙 벨트)
-
제공자 - Suraj Ramesh(OCI Full Stack DR 제품 관리자)
추가 학습 자원
docs.oracle.com/learn에서 다른 랩을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 education.oracle.com/learning-explorer를 방문하여 Oracle Learning Explorer가 되십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Automate Cold Disaster Recovery for OCI Database with PostgreSQL using OCI Full Stack Disaster Recovery
G38684-02
Copyright ©2025, Oracle and/or its affiliates.