

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 자습서: 액티브/패시브 리전 전환 계획 생성
<a name="tutorial-region-switch"></a>

이 자습서에서는 us-east-1에서 실행되고 us-west-2로 복구되는 애플리케이션에 대한 액티브/패시브 리전 전환 계획을 생성하는 방법을 안내합니다. 이 예제에는 컴퓨팅용 Amazon EC2 인스턴스, 스토리지용 Amazon Aurora Global Database, DNS용 Amazon Route 53이 포함됩니다.

이 자습서에서는 다음 단계를 완료합니다.
+ 리전 전환 계획 생성
+ 계획의 워크플로 및 실행 블록 구축
+ EC2 Auto Scaling 그룹 실행 블록 빌드
+ 두 개의 수동 승인 실행 블록 구축
+ 두 개의 사용자 지정 작업 Lambda 실행 블록 구축
+ Amazon Aurora Global Database 실행 블록 구축
+ ARC 라우팅 제어 블록 구축
+ 리전 전환 계획 실행

## 사전 조건
<a name="tutorial-rs-prerequisites"></a>

이 자습서를 시작하기 전에 두 리전 모두에 다음과 같은 사전 조건이 있는지 확인합니다.
+ 적절한 권한이 있는 IAM 역할.
+ EC2 Auto Scaling 그룹
+ 유지 관리 페이지 및 펜싱을 위한 Lambda 함수
+ Aurora Global Database
+ ARC 라우팅 제어

## 1단계: 리전 전환 계획 생성
<a name="tutorial-rs-create-plan"></a>

1. 리전 전환 콘솔에서 **리전 전환 계획 생성**을 선택합니다.

1. 다음 세부 정보를 제공합니다.
   + **기본 리전**: us-east-1 선택
   + **대기 리전**: us-west-2 선택
   + **원하는 목표 복구 시간(RTO)**(선택 사항)
   + **IAM 역할**: 계획 실행 IAM 역할을 입력합니다. 이 IAM 역할은 리전 전환이 실행 중에 AWS 서비스를 호출하도록 허용합니다.

1. **생성(Create)**을 선택합니다.

(선택 사항) 리전 전환 계획에 다른 AWS 계정의 리소스를 추가합니다.

1. 교차 계정 역할을 생성합니다.
   + 리소스를 호스팅하는 계정에서 IAM 역할을 생성합니다.
   + 계획이 액세스할 특정 리소스에 대한 권한을 추가합니다.
   + 신뢰 정책을 추가하여 실행 역할이 새 역할을 수임할 수 있도록 허용합니다.
   + 공유 비밀로 사용할 외부 ID를 입력하고 기록해 둡니다.

1. 계획에서 리소스를 구성합니다.
   + 계획에 리소스를 추가할 때 두 개의 추가 필드를 지정합니다.
     + **crossAccountRole**: 1단계에서 생성한 역할의 ARN
     + **externalId**: 1단계에서 입력한 외부 ID

계정 987654321의 리소스에 액세스하는 EC2 Auto Scaling 실행 블록의 구성 예제:

```
{
  "executionBlock": "EC2AutoScaling",
  "name": "ASG",
  "crossAccountRole": "arn:aws:iam::987654321:role/RegionSwitchCrossAccountRole",
  "externalId": "unique-external-id-123",
  "autoScalingGroupArn": "arn:aws:autoscaling:us-west-2:987654321:autoScalingGroup:*:autoScalingGroupName/CrossAccountASG"
}
```

필요한 권한:
+ 실행 역할에는 교차 계정 역할에 대한 sts:AssumeRole 권한이 있어야 합니다.
+ 교차 계정 역할에는 액세스 중인 특정 리소스에 대해서만 권한이 있어야 합니다.
+ 교차 계정 역할의 신뢰 정책에는 다음이 포함되어야 합니다.
  + 신뢰할 수 있는 엔터티로서 실행 역할의 계정.
  + 외부 ID 조건.
+ 교차 계정 역할 구성에 대한 자세한 내용은 섹션을 참조하세요[교차 계정 리소스 권한](security_iam_region_switch_cross_account.md).

계획을 실행하기 전에 리전 전환은 다음을 확인합니다.
+ 실행 역할은 교차 계정 역할을 수임할 수 있습니다.
+ 교차 계정 역할에 필요한 권한이 있습니다.
+ 외부 ID가 신뢰 정책과 일치합니다.

## 2단계: 계획의 워크플로 및 실행 블록 구축
<a name="tutorial-rs-build-workflows"></a>

1. 리전 전환 계획 세부 정보 페이지에서 **워크플로 구축**을 선택합니다.

1. **모든 리전에 대해 동일한 활성화 워크플로 구축**을 선택합니다.

1. 리전 활성화 워크플로 설명을 입력합니다(선택 사항). 이는 계획을 실행할 때 워크플로를 쉽게 식별하는 데 사용됩니다.

1. [**Save and continue**]를 선택합니다.

### EC2 Auto Scaling 실행 블록 추가
<a name="tutorial-rs-build-workflows-ec2"></a>

이 실행 블록에 대한 자세한 내용은 섹션을 참조하세요[Amazon EC2 Auto Scaling 그룹 실행 블록](ec2-auto-scaling-block.md).

1. **단계 추가**를 선택한 다음 **순서대로 실행**을 선택합니다.

1. **EC2 Auto Scaling 실행 블록**을 선택한 다음 **추가 및 편집**을 선택합니다. 이 블록을 사용하면 패시브 리전에서 용량 증가를 시작할 수 있습니다.

1. 오른쪽 패널에서 블록을 구성합니다.
   + **단계 이름**: "확장"을 입력합니다.
   + **단계 설명**(선택 사항)
   + **us-east-1용 Auto Scaling 그룹 ARN**: us-east-1에서 ASG의 ARN
   + **us-west-2용 Auto Scaling 그룹 ARN**: us-west-2에서 ASG의 ARN
   + **소스 리전 용량과 일치하는 비율**: 100을 입력합니다.
   + **용량 모니터링 접근 방식**: "최신"으로 둡니다.
   + **제한 시간**(선택 사항)

   이 실행 블록에 필요한 IAM 권한에 대한 자세한 내용은 섹션을 참조하세요[EC2 Auto Scaling 실행 블록 샘플 정책](security_iam_region_switch_ec2_autoscaling.md).

1. **단계 저장**을 선택합니다.

### 수동 승인 실행 블록 추가
<a name="tutorial-rs-build-workflows-manual-approval-1"></a>

이 실행 블록에 대한 자세한 내용은 섹션을 참조하세요[수동 승인 실행 블록](manual-approval-block.md).

1. **단계 추가**를 선택합니다.

1. **수동 승인 실행 블록**을 선택하고 설계 창에 추가합니다. 이 블록을 사용하면 진행하기 전에 사람이 확인할 수 있습니다.

1. 오른쪽 패널에서 블록을 구성합니다.
   + **단계 이름**: "설정 전 수동 승인"을 입력합니다.
   + **단계 설명**(선택 사항)
   + **IAM 승인 역할**: 실행을 승인하기 위해 사용자가 수임해야 하는 역할
   + **제한 시간**(선택 사항) 제한 시간이 지나면 실행이 일시 중지되고 재시도, 건너뛰기 또는 취소를 선택할 수 있습니다.

   이 실행 블록에 필요한 IAM 권한에 대한 자세한 내용은 섹션을 참조하세요[수동 승인 실행 블록 샘플 정책](security_iam_region_switch_manual_approval.md).

1. **단계 저장**을 선택합니다.

### 유지 관리 페이지에 사용자 지정 작업 Lambda 실행 블록 추가
<a name="tutorial-rs-build-workflows-lambda-maintenance"></a>

이 실행 블록에 대한 자세한 내용은 섹션을 참조하세요[사용자 지정 작업 Lambda 실행 블록](custom-action-lambda-block.md).

1. **단계 추가**를 선택합니다.

1. **사용자 지정 작업 Lambda 실행 블록**을 선택한 다음 **추가 및 편집**을 선택합니다. 이 블록은 활성화 중인 리전에 유지 관리 페이지를 게시합니다.

1. 오른쪽 패널에서 블록을 구성합니다.
   + **단계 이름**: "유지 관리 페이지 표시"를 입력합니다.
   + **단계 설명**(선택 사항)
   + **us-east-1을 활성화하기 위한 Lambda ARN**: us-east-1에 배포된 유지 관리 페이지 Lambda 함수의 ARN
   + **us-west-2를 활성화하기 위한 Lambda ARN**: us-west-2에 배포된 유지 관리 페이지 Lambda 함수의 ARN
   + **Lambda 함수를 실행할 리전**: **활성화 리전에서 실행**을 선택합니다.
   + **제한 시간**(선택 사항)
   + **재시도 간격**(선택 사항)

   이 실행 블록에 필요한 IAM 권한에 대한 자세한 내용은 섹션을 참조하세요[사용자 지정 작업 Lambda 실행 블록 샘플 정책](security_iam_region_switch_lambda.md).

1. **단계 저장**을 선택합니다.

### Aurora Global Database 실행 블록 추가
<a name="tutorial-rs-build-workflows-aurora"></a>

이 실행 블록에 대한 자세한 내용은 섹션을 참조하세요[Amazon Aurora Global Database 실행 블록](aurora-global-database-block.md).

1. **단계 추가**를 선택합니다.

1. **Aurora Global Database 실행 블록**을 선택한 다음 **추가 및 편집**을 선택합니다. 이 블록은 Aurora Global Database 전환을 트리거합니다(데이터 손실 없음). 자세한 내용은 *Aurora 사용 설명서*의 [Aurora Global Database의 전환 또는 장애 조치](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-global-database-disaster-recovery.html)를 참조하세요.

1. 오른쪽 패널에서 블록을 구성합니다.
   + **단계 이름**: **Aurora 전환**을 입력합니다.
   + **단계 설명**(선택 사항)
   + **Aurora Global Database 식별자**: Aurora 클러스터의 이름
   + **us-east-1을 활성화하는 데 사용되는 클러스터 ARN**: us-east-1의 Aurora 클러스터 ARN
   + **us-west-2를 활성화하는 데 사용되는 클러스터 ARN**: us-west-2의 Aurora 클러스터 ARN
   + **Aurora 데이터베이스의 옵션 선택**: **전환**을 선택합니다.
   + **제한 시간**(선택 사항)

   이 실행 블록에 필요한 IAM 권한에 대한 자세한 내용은 섹션을 참조하세요[Aurora Global Database 실행 블록 샘플 정책](security_iam_region_switch_aurora.md).

1. **단계 저장**을 선택합니다.

### ARC 라우팅 제어 실행 블록 추가
<a name="tutorial-rs-build-workflows-routing-control"></a>

이 실행 블록에 대한 자세한 내용은 섹션을 참조하세요[ARC 라우팅 제어 실행 블록](arc-routing-controls-block.md).

1. **단계 추가**를 선택합니다.

1. **ARC 라우팅 제어 실행 블록**을 선택한 다음 **추가 및 편집**을 선택합니다. 이 블록은 DNS 장애 조치를 수행하여 트래픽을 패시브 리전으로 이동합니다.

1. 오른쪽 패널에서 블록을 구성합니다.
   + **단계 이름**: **DNS 토글**을 입력합니다.
   + **단계 설명**(선택 사항)
   + **us-east-1을 활성화하는 데 사용되는 라우팅 제어**: **라우팅 제어 추가**를 선택합니다.
   + **제한 시간**: 제한 시간 값을 입력합니다.

1. **라우팅 제어 추가**를 선택합니다.
   + **라우팅 제어 ARN**: us-east-1을 제어하는 라우팅 제어의 ARN.
   + **라우팅 제어 상태**: **켜짐**을 선택합니다.

1. **라우팅 제어 추가**를 다시 선택합니다.
   + **라우팅 제어 ARN**: us-west-2를 제어하는 라우팅 제어의 ARN
   + **라우팅 제어 상태**: **꺼짐**을 선택합니다.

1. **저장**을 선택합니다.

1. **us-west-2를 활성화하는 데 사용되는 라우팅 제어**: **라우팅 제어 추가**를 선택합니다.

1. **라우팅 제어 추가**를 선택합니다.
   + **라우팅 제어 ARN**: us-west-2를 제어하는 라우팅 제어의 ARN
   + **라우팅 제어 상태**: **켜짐**을 선택합니다.

1. **라우팅 제어 추가**를 다시 선택합니다.
   + **라우팅 제어 ARN**: us-east-1을 제어하는 라우팅 제어의 ARN.
   + **라우팅 제어 상태**: **꺼짐**을 선택합니다.

1. **저장**을 선택합니다.

1. **단계 저장**을 선택합니다.

   이 실행 블록에 필요한 IAM 권한에 대한 자세한 내용은 섹션을 참조하세요[ARC 라우팅 제어 실행 블록 샘플 정책](security_iam_region_switch_arc_routing.md).

1. **저장**을 선택합니다.

## 3단계: 계획 실행
<a name="tutorial-rs-execute-plan"></a>

1. 리전 전환 계획 세부 정보 페이지의 오른쪽 상단에서 **실행**을 선택합니다.

1. 실행 세부 정보를 입력합니다.
   + 활성화할 리전을 선택합니다.
   + 계획 실행 모드를 선택합니다.
   + (선택 사항) 실행 단계를 봅니다.
   + 계획 실행을 확인합니다.

1. **시작**을 선택합니다.

1. 계획이 실행되는 동안 실행 세부 정보 페이지에서 단계별 상세 내용을 확인할 수 있습니다. 시작 시간, 종료 시간, 리소스 ARN 및 로그 메시지를 포함하여 계획 실행의 각 단계를 볼 수 있습니다.

손상된 리전이 복구되면 계획을 다시 실행(제공하는 파라미터 변경)하여 원래 리전을 활성화하고 애플리케이션 작업을 원래 기본 리전으로 다시 전환할 수 있습니다.