안녕하세요~!
오늘은 베스핀글로벌 D&A실 김예지님이 작성해 주신 DRS를 이용한 윈도우 서버 DR 테스트(+Fail-Back 기능 관련 참조 사항)에 대해 알아봅니다.
궁금한 부분이 있으시면 편하게 댓글을 달아주세요 🙂
1. 들어가며
AWS DRS(Elastic Disaster Recovery) 는 원본 서버(온프레미스 혹은 AWS 서버) 내 에이전트를 설치하여, AWS DRS 콘솔을 통해 서버를 모니터링하며 DR(재해 복구)을 위한 테스트, DR 상황 시 복구(페일오버) 및 페일백 기능을 제공합니다.
AWS DRS를 사용하면 물리적 인프라, VMware vSphere, Microsoft Hyper-V 및 다른 클라우드 제공업체의 클라우드 인프라에서 AWS의 애플리케이션을 복구할 수 있습니다. 또한 AWS DRS를 사용해 다른 가용 영역이나 AWS 리전의 Amazon Elastic Compute Cloud(EC2) 인스턴스를 복구할 수 있습니다.
2. 테스트 개요
원본 서버: 서울 리전(ap-northeast-2)에 위치
복구 서버: 버지니아 리전(us-east-1)에 위치 (예정)
3. 테스트 절차
(1) DRS 를 사용하기 앞서 사전 체크 리스트를 확인
DRS 를 사용 가능한 버전인지 확인
- 마이크로소프트 윈도우 서버 2022 64비트
- 마이크로소프트 윈도우 서버 2019 64비트
- 마이크로소프트 윈도우 서버 2016 64비트
- 마이크로소프트 윈도우 서버 2012 R2 64비트
- 마이크로소프트 윈도우 서버 2012 64비트
- 마이크로소프트 윈도우 10 64비트
원본 서버 내 최소 2GB 의 여유 디스크 공간이 존재하는지 확인
Windows 10의 경우 자동 절전 기능이 활성화 되어있는지 확인 (데이터 복제 중단을 막기 위해 비활성화 해야함)
부팅모드(BIOS 또는 UEFI) 확인 (복구 수행 시 원본 서버와 동일한 부팅 모드를 사용해야 함)
(2) 복구 서버가 위치할 버지니아 리전(us-east-1) 내 네트워크 구성
VPC 및 서브넷 등

(3) 복구 서버가 위치할 버지니아 리전(us-east-1) 내 AWS DRS 설정
미리 생성해둔 서브넷 지정

DRS Launch Setting – Instance type right-sizing : Inactive 설정

(4) 원본 서버에 대한 IAM 역할 설정하기
소스 서버 선택 – 작업 – 보안 – IAM 역할 수정 선택

IAM 역할: AWSElasticDisasterRecovertEc2InstancePolicy 선택

(5) 원본 서버 내에 에이전트 다운로드 및 실행
복구 서버가 위치할 리전(버지니아)의 에이전트 다운로드
설치된 에이전트는 관리자 모드로 실행
AWS Credential 입력
(6) 버지니아 리전(us-east-1) 의 AWS DRS 콘솔 확인
Soure Server 탭 – 소스 서버 확인 가능

소스 서버 선택 – Launch Settings – EC2 launch template 설정
[Basic settings]
- Subnet : 기생성해둔 복구 서버가 존재할 리전의 서브넷
- Instace type : 소스 서버와 동일한 스펙 선택
- Security Group : 따로 설정 안함

[Advanced Settings]
- IAM instance profile : AWSElasticDisatserRecoveryRecoveryInstanceRole
- Auto assign public IP : YES
- Key pair : 본인 키페어 선택
- 이외의 설정값 기본값

(7) [Fail-Over Test] Fail-Over 테스트 진행을 위한 소스 서버 중지
소스 서버 중지

소스 서버 중지 시, DRS 콘솔에서 소스 서버가 중지되어 있음을 확인(Stalled)

(8) 다시 버지니아 리전의 AWS DRS 콘솔로 돌아온 뒤 Fail-Over 진행
Source Server 탭 – 소스 서버 – Initiate Recovery Job – Initiate drill 선택

Points in time – Use most recent data 선택

(9) DRS 콘솔 – Recovery Job History :진행 상황 확인 가능
Job Start : 복구 시작

Job Ended : 복구 완료

(10) 복구된 인스턴스 확인

(11) [Fail-Back Test] Fail-Back 테스트 진행
버지니아 리전 DRS 콘솔 접속 – Recovery Instance – Fail-Over 된 인스턴스 선택 – Start Reversed Replication

(12) Fail-Back 완료 시, 서울 리전에 동일한 인스턴스명으로 새로운 서버가 생성

[Fail-Back 기능 관련 참조 사항]
현재 AWS DRS 의 Fail-Back 기능은 기존 소스 서버가 AWS 상에 위치할 경우, 기존 소스서버로 Fail-Back 이 되지 않음
온프레미스 소스 서버의 경우에는 IOS 부팅 디스크를 통해서 기존 소스 서버로 Fail-Back 이 가능
DRS Fail-Back 기능 관련 AWS Support Center 의 공식 답변 첨부 ↓
“다만 리소스와 관련없이 일반적인 가이드를 드리도록 하겠습니다. DRS서비스팀에게 확인해 본 결과 리전과 리전 사이의 Failback은 현재 완전히 지원되지 않는다고 합니다. 고객님이 아시는 것처럼 직접적으로 콘솔에서 ISO가 마운팅 된 인스턴스 부팅이 불가능하기 때문입니다.
따라서 현재는 리전과 리전간 인스턴스 Failback은 New Server로만 가능합니다.
- 현재 Elastic Disaster Recovery 서비스는 EC2에서 기본적으로 지원되지 않으며 장애 복구 클라이언트 ISO를 통한 장애 복구만 지원합니다.
- 현재 DRS는 장애 복구 ISO를 사용하기 위해 ISO에서 부팅할 수 있는 환경 또는 공급자만 지원합니다.”
감사합니다 🙂
Written by 김 예지 / Yeji Kim
Cloud Engineer