

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

# AWS DMS 복제 인스턴스 작업
<a name="CHAP_ReplicationInstance"></a>

 AWS DMS 복제 인스턴스를 생성할 때는 Amazon VPC 서비스를 기반으로 Virtual Private Cloud(VPC)의 Amazon EC2 인스턴스에서 복제 인스턴스를 AWS DMS 생성합니다. 이 복제 인스턴스를 사용하여 데이터베이스 마이그레이션을 수행합니다. 복제 인스턴스를 사용하면 **다중 AZ** 옵션을 선택할 때 다중 AZ 배포로 고가용성 및 장애 조치 지원을 확보할 수 있습니다.

다중 AZ 배포에서는 다른 가용 영역에 복제 인스턴스의 동기 대기 복제본을 AWS DMS 자동으로 프로비저닝하고 유지합니다. 기본 복제 인스턴스는 가용 영역 전체에서 대기 복제본으로 동기식으로 복제됩니다. 이 접근 방식에서는 데이터 중복을 제공하고 I/O 중지를 없애며 지연 시간 스파이크를 최소화합니다.

![\[AWS Database Migration Service 복제 인스턴스\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-conceptual2.png)


AWS DMS 는 복제 인스턴스를 사용하여 소스 데이터 스토어에 연결하고, 소스 데이터를 읽고, 대상 데이터 스토어에서 사용할 데이터의 형식을 지정합니다. 복제 인스턴스는 또한 데이터를 대상 데이터 저장소에 로드합니다. 이 절차 대다수는 메모리에서 진행됩니다. 그렇지만, 대규모 트랜잭션은 디스크에서 일부 버퍼링이 필요할 수 있습니다. 캐시된 트랜잭션과 로그 파일도 디스크에 기록됩니다.

다음 AWS 리전에서 AWS DMS 복제 인스턴스를 생성할 수 있습니다.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_ReplicationInstance.html)

AWS DMS 는 미국 정부 기관 및 고객이 민감한 워크로드를 클라우드로 이동할 수 있도록 설계된 라는 특수 AWS 리전을 지원합니다. AWS GovCloud (US) AWS GovCloud (US) 는 미국 정부의 특정 규제 및 규정 준수 요구 사항을 해결합니다. 에 대한 자세한 내용은 [ GovCloud(미국)란 AWS 무엇입니까?](https://docs.aws.amazon.com/govcloud-us/latest/UserGuide/whatis.html)를 AWS GovCloud (US)참조하십시오.

아래에서 복제 인스턴스에 대한 자세한 정보를 확인할 수 있습니다.

**Topics**
+ [마이그레이션에 적합한 AWS DMS 복제 인스턴스 선택](CHAP_ReplicationInstance.Types.md)
+ [복제 인스턴스에 가장 적합한 크기 선택](CHAP_BestPractices.SizingReplicationInstance.md)
+ [복제 엔진 버전 작업](CHAP_ReplicationInstance.EngineVersions.md)
+ [퍼블릭 및 프라이빗 복제 인스턴스](CHAP_ReplicationInstance.PublicPrivate.md)
+ [IP 주소 지정 및 네트워크 유형](CHAP_ReplicationInstance.IPAddressing.md)
+ [복제 인스턴스용으로 네트워크 설정](CHAP_ReplicationInstance.VPC.md)
+ [복제 인스턴스의 암호화 키 설정](CHAP_ReplicationInstance.EncryptionKey.md)
+ [복제 인스턴스 생성](CHAP_ReplicationInstance.Creating.md)
+ [복제 인스턴스 수정](CHAP_ReplicationInstance.Modifying.md)
+ [복제 인스턴스 재부팅](CHAP_ReplicationInstance.Rebooting.md)
+ [복제 인스턴스 삭제](CHAP_ReplicationInstance.Deleting.md)
+ [AWS DMS 유지 관리 기간 작업](CHAP_ReplicationInstance.MaintenanceWindow.md)

# 마이그레이션에 적합한 AWS DMS 복제 인스턴스 선택
<a name="CHAP_ReplicationInstance.Types"></a>

AWS DMS 는 Amazon EC2 인스턴스에서 복제 인스턴스를 생성합니다.는 AWS DMS 현재 복제 인스턴스에 대한 T3, C5, C6i, R5 및 R6i Amazon EC2 인스턴스 클래스를 지원합니다.
+ T3 인스턴스는 차세대 버스트 가능 범용 인스턴스 유형입니다. 이 유형은 기본 수준의 성능과 함께, 필요할 때는 언제든지 CPU 사용량을 버스트할 수 있는 기능을 제공합니다. T3 인스턴스는 컴퓨팅, 메모리 및 네트워크 리소스를 균형 있게 제공하고 CUP 사용량이 중간 정도이지만 일시적으로 사용량이 급증하는 워크로드에 적합합니다. T3 인스턴스는 워크로드가 기준 임계값 이하로 작동할 때 CPU 크레딧을 누적합니다. 획득한 각 CPU 크레딧은 T3 인스턴스가 필요할 때 1분 동안 전체 CPU 코어 성능으로 버스트할 수 있는 기회를 제공합니다.

  T3 인스턴스는 언제든지 `unlimited` 모드에서 필요한 기간 동안 버스트할 수 있습니다. `unlimited` 모드에 대한 자세한 내용은 [성능 버스트 가능 인스턴스의 무제한 모드 사용](#CHAP_ReplicationInstance.Types.UnlimitedMode) 섹션을 참조하세요.
+ C5 인스턴스는 고급 컴퓨팅 집약적 워크로드를 실행하기 위해 높은 컴퓨팅 가성비로 비용 효율적인 고성능을 제공하는 차세대 인스턴스 유형입니다. 여기에는 고성능 웹 서버, 고성능 컴퓨팅(HPC), 배치 처리, 광고 서비스, 고확장성 멀티플레이어 게임, 비디오 인코딩 등의 워크로드가 포함됩니다. C5 인스턴스가 적합한 다른 워크로드에는 과학 모델링, 분산 분석, 기계 학습, 딥 러닝 추론 등이 있습니다. C5 인스턴스는 Intel 및 AMD의 다양한 프로세서를 사용할 수 있습니다.
+ C6i 인스턴스는 다양한 워크로드에 대해 동급 5세대 인스턴스보다 최대 15% 더 우수한 컴퓨팅 가격 성능과 상시 메모리 암호화를 제공합니다. C6i 인스턴스는 배치 처리, 분산 분석, 고성능 컴퓨팅(HPC), 광고 서비스, 고확장성 멀티플레이어 게임, 비디오 인코딩과 같은 컴퓨팅 집약적 워크로드에 매우 적합합니다.
+ R5 인스턴스는 Amazon EC2를 위한 차세대 메모리 최적화 인스턴스 유형입니다. R5 인스턴스는 고성능 데이터베이스, 분산형 웹 스케일 인 메모리 캐시, 중간 규모 인 메모리 데이터베이스, 실시간 빅 데이터 분석 및 기타 엔터프라이즈 애플리케이션 등 메모리 집약적 애플리케이션에 매우 적합합니다. 를 사용하여 처리량이 많은 트랜잭션 시스템을 지속적으로 마이그레이션하거나 복제하면 많은 양의 CPU와 메모리를 소비 AWS DMS 할 수도 있습니다.
+ R6i 인스턴스는 다양한 워크로드에 대해 동급 5세대 인스턴스보다 최대 15% 더 우수한 컴퓨팅 가격 성능과 상시 메모리 암호화를 제공합니다. R6i 인스턴스는 SAP 인증을 받았으며 SQL 및 noSQL 데이터베이스와 같은 워크로드, Memcached 및 Redis OSS와 같은 분산형 웹 스케일 인 메모리 캐시, SAP HANA와 같은 인 메모리 데이터베이스, Hadoop 및 Spark 클러스터와 같은 실시간 빅 데이터 분석에 적합합니다.
+ C7i 인스턴스는 비슷한 이전 세대 인스턴스에 비해 더 나은 컴퓨팅 성능을 제공합니다. AWS DMS 워크로드의 경우 C7i 인스턴스는 데이터 변환 프로세스를 가속화하고, 컴퓨팅 집약적인 스키마 변환을 처리하고, 대용량 마이그레이션 작업 중에 일관된 처리량을 유지하는 데 뛰어납니다. 이러한 인스턴스는 지속적인 CPU 성능이 필요한 컴퓨팅 성능의 이상적인 균형을 제공합니다.
+ R7i 인스턴스는 메모리 집약적인 워크로드를 위한 높은 메모리 용량과 결합된 유사한 이전 세대 인스턴스보다 더 나은 컴퓨팅 성능을 제공합니다. AWS DMS 워크로드의 경우 R7i 인스턴스는 대용량의 동시 데이터베이스 트랜잭션을 처리하는 대규모 데이터베이스와 관련된 작업에 특히 적합하므로 메모리 집약적인 복제 시나리오와 상당한 메모리 버퍼가 필요한 복잡한 데이터 검증 프로세스를 효율적으로 처리할 수 있습니다.

각 복제 인스턴스에는 특정 메모리 및 vCPU 구성이 있습니다. 다음 표에는 각 복제 인스턴스 유형별 구성이 나와 있습니다. 요금 정보는 [AWS Database Migration Service 서비스 요금 페이지](https://aws.amazon.com/dms/pricing/)를 참조하세요.

**범용 복제 인스턴스 유형**


|  Type  |  vCPU  |  메모리(GiB)  | 
| --- | --- | --- | 
|  dms.t3.micro  |  2  |  1  | 
|  dms.t3.small  |  2  |  2  | 
|  dms.t3.medium  |  2  |  4  | 
|  dms.t3.large  |  2  |  8  | 

**컴퓨팅 최적화 복제 인스턴스 유형**


|  Type  |  vCPU  |  메모리(GiB)  | 
| --- | --- | --- | 
|  dms.c5.large  |  2  |  4  | 
|  dms.c5.xlarge  |  4  |  8  | 
|  dms.c5.2xlarge  |  8  |  16  | 
|  dms.c5.4xlarge  |  16  |  32  | 
|  dms.c5.9xlarge  |  36  | 72 | 
|  dms.c5.12xlarge  |  48  | 96 | 
|  dms.c5.18xlarge  |  72  | 144 | 
|  dms.c5.24xlarge  |  96  | 192 | 
|  dms.c6i.large  |  2  |  4  | 
|  dms.c6i.xlarge  |  4  |  8  | 
|  dms.c6i.2xlarge  |  8  |  16  | 
|  dms.c6i.4xlarge  |  16  |  32  | 
|  dms.c6i.8xlarge  |  32  | 64 | 
|  dms.c6i.12xlarge  |  48  | 96 | 
|  dms.c6i.16xlarge  |  64  | 128 | 
|  dms.c6i.24xlarge  |  96  | 192 | 
|  dms.c6i.32xlarge  |  128  | 256 | 
|  dms.c7i.large  |  2  |  4  | 
|  dms.c7i.xlarge  |  4  |  8  | 
|  dms.x7i.2xlarge  |  8  |  16  | 
|  dms.x7i.4xlarge  |  16  |  32  | 
|  dms.x7i.8xlarge  |  32  |  64  | 
|  dms.x7i.12xlarge  |  48  |  96  | 
|  dms.x7i.16xlarge  |  64  |  128  | 
|  dms.x7i.24xlarge  |  96  |  192  | 
|  dms.x7i.48xlarge  |  192  |  384  | 

**메모리 최적화 복제 인스턴스 유형**


|  Type  |  vCPU  |  메모리(GiB)  | 
| --- | --- | --- | 
|  dms.r5.large  |  2  |  16  | 
|  dms.r4.xlarge  |  4  |  32  | 
|  dms.r5.2xlarge  |  8  |  64  | 
|  dms.r5.4xLarge  |  16  |  128  | 
|  dms.r5.8xlarge  |  32  |  256  | 
|  dms.r5.12xLarge  |  48  |  384  | 
|  dms.r5.16 x Large  |  64  |  512  | 
|  dms.r5.24 xlarge  |  96  |  768  | 
|  dms.r6i.large  |  2  |  16  | 
|  dms.r6i.xlarge  |  4  |  32  | 
|  dms.r6i.2xlarge  |  8  |  64  | 
|  dms.r6i.4xlarge  |  16  |  128  | 
|  dms.r6i.8xlarge  |  32  |  256  | 
|  dms.r6i.12xlarge  |  48  |  384  | 
|  dms.r6i.16xlarge  |  64  |  512  | 
|  dms.r6i.24xlarge  |  96  |  768  | 
|  dms.r6i.32xlarge  |  128  |  1024  | 
|  dms.r7i.large  |  2  |  16  | 
|  dms.r7i.xlarge  |  4  |  32  | 
|  dms.r7i.2xlarge  |  8  |  64  | 
|  dms.r7i.4xlarge  |  16  |  128  | 
|  dms.r7i.8xlarge  |  32  |  256  | 
|  dms.r7i.12xlarge  |  48  |  384  | 
|  dms.r7i.16xlarge  |  64  |  512  | 
|  dms.r7i.24xlarge  |  96  |  768  | 
|  dms.r7i.48xlarge  |  192  |  1536  | 

위의 표에는 모든 AWS DMS 복제 인스턴스 유형이 나열되어 있지만 해당 리전에서 사용할 수 있는 유형은 다를 수 있습니다. 다음 [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/dms/index.html) 명령을 실행하여 해당 리전에서 사용 가능한 복제 인스턴스 유형을 확인할 수 있습니다.

```
aws dms describe-orderable-replication-instances --region your_region_name
```

**Topics**
+ [사용할 인스턴스 클래스 결정](#CHAP_ReplicationInstance.Types.Deciding)
+ [성능 버스트 가능 인스턴스의 무제한 모드 사용](#CHAP_ReplicationInstance.Types.UnlimitedMode)

## 사용할 인스턴스 클래스 결정
<a name="CHAP_ReplicationInstance.Types.Deciding"></a>

어떤 복제 인스턴스 클래스가 가장 적합한지 결정하는 데 도움이 되도록에서 AWS DMS 사용하는 변경 데이터 캡처(CDC) 프로세스를 살펴보겠습니다.

사용자가 전체 로드 및 CDC 작업(대량 로드 및 지속적 복제)을 실행 중이라고 가정해 봅시다. 이 경우 해당 작업에는 자체 SQLite 리포지토리가 있어 메타데이터 및 기타 정보를 저장할 수 있습니다. 가 전체 로드를 AWS DMS 시작하기 전에 다음 단계를 수행합니다.
+ AWS DMS 는 소스 엔진의 트랜잭션 로그에서 마이그레이션하는 테이블에 대한 변경 사항 캡처를 시작합니다(이러한 *캐시된 변경* 사항이라고 함). 전체 로드가 완료되고 나면 이러한 캐시된 변경 사항이 수집되어 대상에 적용됩니다. 캐시된 변경 사항의 볼륨에 따라 이러한 변경 사항은 메모리로부터 직접 적용될 수 있습니다. 이 경우 변경 사항은 적용되기 전에 먼저 설정된 임계값에 이를 때까지 수집됩니다. 또는 디스크로부터 적용될 수 있습니다. 이 경우 변경 사항은 메모리에 유지될 수 없을 때 기록됩니다.
+ 캐시된 변경 사항이 적용된 후 기본적으로는 대상 인스턴스에서 트랜잭션 적용 프로세스를 AWS DMS 시작합니다.

적용된 캐시된 변경 단계 및 지속적 복제 단계에서는 수신 및 발신 데이터에 대해 각각 하나씩 두 개의 스트림 버퍼를 AWS DMS 사용합니다. AWS DMS 또한는 또 다른 메모리 버퍼인 *정렬기*라는 중요한 구성 요소를 사용합니다. 다음은 분류기 구성 요소의 두 가지 중요 용도입니다(다른 용도도 있음).
+ 분류기는 모든 트랜잭션을 추적하고 발신 버퍼에 관련이 있는 트랜잭션만 전달합니다.
+ 이를 통해 트랜잭션이 원본에서와 동일한 커밋 순서로 전달됩니다.

보시다시피 이와 같은 AWS DMS의 CDC용 아키텍처에는 세 가지 중요 메모리 버퍼가 있습니다. 이 버퍼 중에 메모리 부족을 겪는 것이 있다면 해당 마이그레이션에는 장애를 유발할 가능성이 있는 성능 문제가 있을 수 있습니다.

초당 트랜잭션(TPS)이 높은 과중한 워크로드를 이 아키텍처에 플러깅하는 경우 R5 및 R6i 인스턴스에서 제공하는 추가 메모리가 유용할 수 있습니다. R5 및 R6i 인스턴스를 사용하여 메모리에 대규모 트랜잭션을 유지하고 지속적 복제 중에 메모리 부족 문제를 방지할 수 있습니다.

## 성능 버스트 가능 인스턴스의 무제한 모드 사용
<a name="CHAP_ReplicationInstance.Types.UnlimitedMode"></a>

T3 인스턴스와 같이 `unlimited`로 구성된 성능 버스트 가능 인스턴스는 필요한 경우 언제든지 원하는 기간 동안 높은 CPU 사용률을 유지할 수 있습니다. 시간당 인스턴스 가격은 모든 CPU 사용량 급증을 자동으로 충당할 수 있습니다. 이는 24시간 또는 인스턴스 수명 중 더 짧은 기간 동안 인스턴스의 평균 CPU 사용률이 기준 이하인 경우에 적용됩니다.

대부분의 범용 워크로드에서 `unlimited`로 구성된 인스턴스는 추가 요금 없이 충분한 성능을 제공합니다. 인스턴스 실행에 장기간 높은 CPU 사용률이 필요한 경우, vCPU-시간당 추가 고정 요금으로 인스턴스를 실행할 수 있습니다. T3 인스턴스 요금에 대한 자세한 내용은 [AWS Database Migration Service](https://aws.amazon.com/dms/pricing/)의 ‘T3 CPU 크레딧’을 참조하세요.

T3 인스턴스의 `unlimited` 모드에 대한 자세한 내용은 *Amazon EC2 사용 설명서*에서 [성능 버스트 가능 인스턴스의 무제한 모드](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode.html)를 참조하세요.

**중요**  
[AWS 프리 티어](https://aws.amazon.com/free/) 혜택이 적용되는 `dms.t3.micro` 인스턴스를 `unlimited` 모드에서 사용하는 경우에는 요금이 부과될 수 있습니다. 특히, 24시간 동안 평균 사용률이 인스턴스의 기준 사용률을 초과하면 요금이 적용될 수 있습니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [기준 사용률](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html#baseline_performance)을 참조하세요.  
T3 인스턴스는 `unlimited`로 시작하도록 기본 설정되어 있습니다. 24시간 동안 평균 CPU 사용량이 기준을 초과하면 잉여 크레딧에 대한 요금이 발생합니다. 경우에 따라 T3 스팟 인스턴스를 `unlimited`로 시작하고 즉각적으로 단기간 사용하려는 경우가 있습니다. CPU 크레딧을 누적할 유휴 시간 없이 이렇게 하면 잉여 크레딧에 대한 요금이 발생합니다. 더 높은 비용을 지불하지 않으려면 표준 모드에서 T3 스팟 인스턴스를 시작하는 것이 좋습니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [잉여 크레딧으로 요금 발생 가능](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-unlimited-mode-concepts.html#unlimited-mode-surplus-credits), [T3 스팟 인스턴스](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-limits.html#t3-spot-instances) 및 [성능 버스트 가능 인스턴스의 표준 모드](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-standard-mode.html)를 참조하세요.

# 복제 인스턴스에 가장 적합한 크기 선택
<a name="CHAP_BestPractices.SizingReplicationInstance"></a>

적절한 복제 인스턴스를 선택하는 것은 사용 사례의 여러 요소에 따라 달라집니다. 복제 인스턴스 리소스가 사용되는 방식을 이해하는 데 도움이 되도록 다음 설명을 참조하세요. 여기서는 전체 로드 \$1 CDC 작업의 일반적인 시나리오를 다룹니다.

전체 로드 작업 중에는 테이블을 개별적으로 AWS DMS 로드합니다. 기본적으로 한 번에 8개의 테이블이 로드됩니다.는 전체 로드 작업 중에 소스에 대한 지속적인 변경 사항을 AWS DMS 캡처하므로 나중에 대상 엔드포인트에 변경 사항을 적용할 수 있습니다. 변경 사항은 메모리에 캐시되며, 사용 가능한 메모리가 모두 사용되면 변경 사항이 디스크에 캐시됩니다. 테이블에 대한 전체 로드 작업이 완료되면는 캐시된 변경 사항을 대상 테이블에 AWS DMS 즉시 적용합니다.

테이블에 대한 모든 캐시 변경 사항이 적용된 후에는 대상 엔드포인트는 트랜잭션 일치 상태가 됩니다. 이 시점에서 대상은 마지막으로 캐시된 변경 사항과 관련하여 소스 엔드포인트와 동기화됩니다. AWS DMS 그런 다음는 소스와 대상 간의 지속적인 복제를 시작합니다. 이를 위해는 소스 트랜잭션 로그에서 변경 작업을 AWS DMS 가져와 트랜잭션 일관성 있는 방식으로 대상에 적용합니다. (이 프로세스는 배치 최적화 적용이 선택되지 않은 것으로 가정합니다).는 가능하면 복제 인스턴스의 메모리를 통해 지속적인 변경 사항을 AWS DMS 스트리밍합니다. 그렇지 않으면 대상에 적용할 수 있을 때까지 복제 인스턴스의 디스크에 변경 사항을 AWS DMS 씁니다.

복제 인스턴스의 변경 처리 방식과 해당 프로세스에서 메모리가 사용되는 방식을 어느 정도 제어할 수 있습니다. 변경 처리를 조정하는 방법에 대한 자세한 내용은 [변경 처리 튜닝 설정](CHAP_Tasks.CustomizingTasks.TaskSettings.ChangeProcessingTuning.md) 섹션을 참조하세요.

## 고려해야 할 요소
<a name="CHAP_BestPractices.SizingReplicationInstance.Factors"></a>

 메모리 및 디스크 공간은 사용 사례에 적합한 복제 인스턴스를 선택할 때 가장 중요한 요소입니다. 이하에서는 복제 인스턴스를 선택하기 위해 분석해야 할 사용 사례 특성에 대한 설명합니다.
+ 데이터베이스 및 테이블 크기

   데이터 볼륨은 전체 로드 성능을 최적화하기 위한 태스크 구성을 결정하는 데 도움이 됩니다. 예를 들어 1TB 스키마 2개에 대해 테이블을 500GB 태스크 4개로 파티션하여 병렬로 실행할 수 있습니다. 가능한 병렬 처리는 복제 인스턴스에서 사용할 수 있는 CPU 리소스에 따라 달라집니다. 따라서 전체 로드 성능을 최적화하려면 데이터베이스와 테이블의 크기를 이해하는 것이 좋습니다. 이는 수행할 수 있는 태스크의 수를 결정하는 데 도움이 됩니다.
+ 대형 객체

   마이그레이션 범위에 있는 데이터 형식은 성능에 영향을 줄 수 있습니다. 특히 대형 객체(LOB)는 성능과 메모리 소비에 영향을 미칩니다. LOB 값을 마이그레이션하기 위해는 2단계 프로세스를 AWS DMS 수행합니다. 먼저 LOB 값 없이 행을 대상에 AWS DMS 삽입합니다. 둘째, 행을 LOB 값으로 AWS DMS 업데이트합니다. 이는 메모리에 영향을 미치므로 소스에서 LOB 열을 식별하고 크기를 분석하는 것이 중요합니다.
+ 로드 빈도 및 트랜잭션 크기

   로드 빈도와 초당 트랜잭션 수(TPS)는 메모리 사용량에 영향을 줍니다. TPS 또는 데이터 조작 언어(DML) 활동이 많으면 메모리 사용량이 많아집니다. DMS는 변경 사항이 대상에 적용될 때까지 변경 사항을 캐시하기 때문입니다. CDC 중에 이로 인해 스와핑(메모리 오버플로로 인한 물리적 디스크에 쓰기)이 발생하여 지연 시간이 발생합니다.
+ 테이블 키 및 참조 무결성

   테이블의 키에 대한 정보에 따라 데이터 마이그레이션에 사용하는 CDC 모드(배치 적용 또는 트랜잭션 적용)가 결정됩니다. 일반적으로 트랜잭션 적용은 배치 적용보다 느립니다. 장기 실행 트랜잭션의 경우 마이그레이션해야 할 변경 사항이 많을 수 있습니다. 트랜잭션 적용을 사용하는 경우 일괄 적용에 비해 변경 사항을 저장하는 데 더 많은 메모리가 AWS DMS 필요할 수 있습니다. 프라이머리 키가 없는 테이블을 마이그레이션하는 경우 배치 적용이 실패하고 DMS 작업이 트랜잭션 적용 모드로 전환됩니다. CDC 중에 테이블 간에 참조 무결성이 활성화되면 기본적으로 트랜잭션 AWS DMS 이 적용됩니다. 배치 적용과 트랜잭션 적용의 비교에 대한 자세한 내용은 [DMS 배치 적용 기능을 사용하여 CDC 복제 성능을 개선하려면 어떻게 해야 합니까?](https://aws.amazon.com/premiumsupport/knowledge-center/dms-batch-apply-cdc-replication/)를 참조하세요.

 이러한 지표를 사용하여 복제 인스턴스를 컴퓨팅 최적화해야 하는지 아니면 메모리 최적화해야 하는지 결정하세요.

## 일반적인 문제
<a name="CHAP_BestPractices.SizingReplicationInstance.Issues"></a>

 마이그레이션 중에 다음과 같이 복제 인스턴스에서 리소스 경합을 유발하는 일반적인 문제가 발생할 수 있습니다. 복제 인스턴스 지표에 대한 자세한 내용은 [복제 인스턴스 지표](CHAP_Monitoring.md#CHAP_Monitoring.Metrics.CloudWatch) 섹션을 참조하세요.
+  복제 인스턴스의 메모리가 부족해지면 데이터가 디스크에 쓰여집니다. 디스크에서 읽을 때 지연 시간이 발생할 수 있는데, 충분한 메모리로 복제 인스턴스 크기를 조정하면 지연 시간을 피할 수 있습니다.
+  복제 인스턴스에 할당된 디스크 크기는 필요한 것보다 작을 수 있습니다. 디스크 크기는 메모리에서 데이터가 넘칠 때 사용되며 태스크 로그를 저장하는 데도 사용됩니다. 최대 IOPS도 이에 따라 달라집니다.
+  여러 태스크를 실행하거나 병렬성이 높은 태스크를 실행하면 복제 인스턴스의 CPU 사용량에 영향을 줍니다. 이로 인해 태스크 처리 속도가 느려지고 지연 시간이 길어집니다.

## 모범 사례
<a name="CHAP_BestPractices.SizingReplicationInstance.BestPractices"></a>

 복제 인스턴스의 크기를 조정할 때는 다음과 같이 가장 일반적인 2가지 모범 사례를 고려해야 합니다. 자세한 내용은 [의 모범 사례 AWS Database Migration Service](CHAP_BestPractices.md) 단원을 참조하십시오.

1.  워크로드의 규모를 파악하고 컴퓨팅 집약적인지 메모리 집약적인지 판단하세요. 이를 기반으로 복제 인스턴스의 클래스 및 크기를 결정할 수 있습니다.
   +  AWS DMS 는 메모리에서 LOBs 처리합니다. 이 작업에는 상당한 양의 메모리가 필요합니다.
   +  태스크 수와 스레드 수는 CPU 사용량에 영향을 줍니다. 전체 로드 작업 중에는 `MaxFullLoadSubTasks`를 8개 이상 사용하지 마세요.

1.  전체 로드 중에 워크로드가 많으면 복제 인스턴스에 할당된 디스크 공간을 늘리세요. 이렇게 하면 복제 인스턴스가 할당된 최대 IOPS를 사용할 수 있습니다.

 위 가이드라인에서 가능한 시나리오를 모두 다루는 것은 아닙니다. 복제 인스턴스의 크기를 결정할 때 특정 사용 사례의 구체적인 내용을 고려하는 것이 중요합니다.

 이전 테스트에서 CPU와 메모리가 워크로드에 따라 달라지는 것으로 나타났습니다. 특히 LOB는 메모리에 영향을 미치고 태스크 수 또는 병렬 처리는 CPU에 영향을 미칩니다. 마이그레이션을 실행한 후에는 복제 인스턴스의 CPU, 여유 메모리, 여유 스토리지, IOPS를 모니터링하세요. 수집한 데이터를 기반으로 필요에 따라 복제 인스턴스의 크기를 늘리거나 줄일 수 있습니다.

# 복제 엔진 버전 작업
<a name="CHAP_ReplicationInstance.EngineVersions"></a>

*복제 엔진*은 복제 인스턴스에서 실행되고 지정한 마이그레이션 작업을 수행하는 핵심 AWS DMS 소프트웨어입니다. AWS 는 새로운 기능 및 성능 개선과 함께 AWS DMS 복제 엔진 소프트웨어의 새 버전을 정기적으로 릴리스합니다. 복제 엔진 소프트웨어의 각 버전마다 고유한 버전 번호가 있어서 버전 간에 구분됩니다.

새 복제 인스턴스를 시작하면 달리 지정하지 않는 한 최신 AWS DMS 엔진 버전이 실행됩니다. 자세한 내용은 [AWS DMS 복제 인스턴스 작업](CHAP_ReplicationInstance.md) 단원을 참조하십시오.

현재 실행 중인 복제 인스턴스가 있는 경우 최신 엔진 버전으로 업그레이드할 수 있습니다(엔진 버전 다운그레이드AWS DMS 는 지원하지 않음). 복제 엔진 버전에 대한 자세한 내용은 [AWS DMS 릴리스 정보](CHAP_ReleaseNotes.md) 섹션을 참조하세요.

## 콘솔을 사용하여 엔진 버전 업그레이드
<a name="Upgrading.Console"></a>

를 사용하여 AWS DMS 복제 인스턴스를 업그레이드할 수 있습니다 AWS Management Console.

**콘솔을 사용하여 복제 인스턴스를 업그레이드하려면**

1. [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) AWS DMS 콘솔을 엽니다.

1. 탐색 창에서 **복제 인스턴스**를 선택합니다.

1. 복제 엔진을 선택한 다음 **수정**을 선택합니다.

1. **엔진 버전**에서 원하는 버전 번호를 선택한 다음 **수정**을 선택합니다.

**참고**  
복제 인스턴스를 업그레이드하기 전에 모든 태스크를 중지하는 것이 좋습니다. 작업을 중지하지 않으면 AWS DMS 는 업그레이드 전에 작업을 자동으로 중지합니다. 태스크를 수동으로 중지하는 경우 업그레이드가 완료된 후 태스크를 수동으로 시작해야 합니다. 복제 인스턴스를 업그레이드하는 데는 몇 분이 걸립니다. 인스턴스가 준비되면 인스턴스의 상태가 **사용 가능**으로 변경됩니다.

## 를 사용하여 엔진 버전 업그레이드 AWS CLI
<a name="Upgrading.CLI"></a>

다음과 AWS CLI같이를 사용하여 AWS DMS 복제 인스턴스를 업그레이드할 수 있습니다.

**를 사용하여 복제 인스턴스를 업그레이드하려면 AWS CLI**

1. 다음 명령을 사용하여 복제 인스턴스의 Amazon 리소스 이름(ARN)을 확인합니다.

   ```
   aws dms describe-replication-instances \
   --query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceArn,ReplicationInstanceClass]"
   ```

   출력에서 업그레이드할 복제 인스턴스에 대한 ARN을 적어둡니다. 예: `arn:aws:dms:us-east-1:123456789012:rep:6EFQQO6U6EDPRCPKLNPL2SCEEY` 

1. 다음 명령을 사용하여 사용할 수 있는 복제 인스턴스 버전을 확인합니다.

   ```
   aws dms describe-orderable-replication-instances \
   --query "OrderableReplicationInstances[*].[ReplicationInstanceClass,EngineVersion]"
   ```

   출력에서 복제 인스턴스 클래스에 사용할 수 있는 엔진 버전 번호를 적어둡니다. 1단계의 출력에 이 정보가 표시됩니다.

1. 다음 명령을 사용하여 복제 인스턴스를 업그레이드합니다.

   ```
   aws dms modify-replication-instance \
   --replication-instance-arn arn \
   --engine-version n.n.n
   ```

   앞의 *arn*을 전 단계에서 확인한 실제 복제 인스턴스 ARN으로 바꿉니다.

   *n.n.n*을 원하는 엔진 버전으로 바꿉니다. 예: `3.4.5`

**참고**  
복제 인스턴스를 업그레이드하는 데는 몇 분이 걸립니다. 다음 명령을 사용하여 복제 인스턴스 상태를 볼 수 있습니다.  

```
aws dms describe-replication-instances \
--query "ReplicationInstances[*].[ReplicationInstanceIdentifier,ReplicationInstanceStatus]"
```
복제 인스턴스가 준비되면 인스턴스의 상태가 **사용 가능**으로 변경됩니다.

# 퍼블릭 및 프라이빗 복제 인스턴스
<a name="CHAP_ReplicationInstance.PublicPrivate"></a>

복제 인스턴스가 원본과 대상 데이터베이스에 연결하는 데 사용할 퍼블릭 또는 프라이빗 IP 주소 여부를 지정할 수 있습니다.

프라이빗 복제 인스턴스에는 복제 네트워크 외부에서 액세스할 수 없는 프라이빗 IP 주소가 있습니다. 소스 및 대상 데이터베이스가 모두 복제 인스턴스의 가상 프라이빗 클라우드(VPC)에 연결된 동일한 네트워크에 있는 경우 프라이빗 인스턴스를 사용합니다. 가상 프라이빗 네트워크(VPN) Direct Connect또는 VPC 피어링을 사용하여 네트워크를 VPC에 연결할 수 있습니다.

*VPC 피어링* 연결은 두 VPC 간의 네트워킹 연결입니다. 이를 통해 각 VPC의 프라이빗 IP 주소를 동일한 네트워크에 있는 것처럼 사용하여 라우팅할 수 있습니다. VPC 피어링에 관한 자세한 내용은 *Amazon VPC 사용 설명서*에서 [VPC 피어링](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peering.html)을 참조하세요.

*퍼블릭 복제 인스턴스*는 복제 인스턴스의 VPC 보안 그룹과 복제 인스턴스의 퍼블릭 IP 주소 또는 NAT 게이트웨이의 퍼블릭 IP 주소를 사용할 수 있습니다. 이 연결은 데이터 마이그레이션에서 사용하는 네트워크를 구성합니다.

# IP 주소 지정 및 네트워크 유형
<a name="CHAP_ReplicationInstance.IPAddressing"></a>

AWS DMS 는 항상 Amazon Virtual Private Cloud(VPC)에서 복제 인스턴스를 생성합니다. VPC를 생성할 때 사용할 IP 주소 지정(IPv4, IPv6 또는 둘 다)을 결정할 수 있습니다. 그런 다음 복제 인스턴스를 생성하거나 수정할 때 *이중 스택 모드*를 사용하여 IPv4 주소 프로토콜 또는 IPv6 주소 프로토콜의 사용을 지정할 수 있습니다.

**IPv4 주소**

VPC를 생성할 때 VPC의 IPv4 주소 범위를 CIDR(Classless Inter-Domain Routing) 블록 형태로 지정할 수 있습니다(예: 10.0.0.0/16). 서브넷 그룹은 이 CIDR 블록에서 IP 주소의 범위를 정의합니다. 이 IP 주소는 프라이빗 또는 퍼블릭일 수 있습니다.

프라이빗 IPv4 주소는 인터넷을 통해 연결할 수 없는 IP 주소입니다. 프라이빗 IPv4 주소는 복제 인스턴스 및 같은 VPC 내의 Amazon EC2 인스턴스와 같은 기타 리소스 간의 통신을 위해 사용될 수 있습니다. 각 복제 인스턴스에는 VPC 내 통신을 위한 프라이빗 IP 주소가 있습니다.

퍼블릭 IP 주소는 인터넷을 통해 연결할 수 있는 IPv4 주소입니다. 퍼블릭 주소는 복제 인스턴스와 인터넷 상의 리소스 사이의 통신을 위해 사용될 수 있습니다. 복제 인스턴스가 퍼블릭 IP 주소를 수신할지 여부를 제어할 수 있습니다.

**이중 스택 모드 및 IPv6 주소**

IPv6를 통해 복제 인스턴스와 통신해야 하는 리소스가 있는 경우 *이중 스택 모드*를 사용합니다. 이중 스택 모드를 사용하려면 복제 인스턴스와 연결하는 DB 서브넷 그룹의 각 서브넷에 IPv6 CIDR 블록이 연결되어 있어야 합니다. 새 복제 서브넷 그룹을 생성하거나 기존 복제 서브넷 그룹을 수정하여 이 요구 사항을 충족하도록 수정할 수 있습니다. 각 IPv6 주소는 전역적으로 고유합니다. VPC에 대한 IPv6 CIDR 블록은 Amazon의 IPv6 주소 풀에서 자동으로 할당됩니다. 범위를 직접 선택할 수는 없습니다.

DMS는 프라이빗 이중 스택 모드 복제 인스턴스의 IPv6 엔드포인트에 대한 인터넷 게이트웨이 액세스를 비활성화합니다. DMS는 IPv6 엔드포인트가 프라이빗이며 VPC 내에서만 액세스할 수 있도록 하기 위해 이 작업을 수행합니다.

 AWS DMS 콘솔을 사용하여 복제 인스턴스를 생성 또는 수정하고 **네트워크 유형** 섹션에서 듀얼 스택 모드를 지정할 수 있습니다. 다음 이미지는 콘솔의 **네트워크 유형** 섹션을 보여 줍니다.

![\[AWS 데이터베이스 마이그레이션 서비스 네트워크 유형\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-network-type.png)


**참조**
+ IPv4 및 IPv6 주소에 대한 자세한 내용은 *Amazon VPC 사용 설명서*의 [IP 주소 지정](https://docs.aws.amazon.com/vpc/latest/userguide/how-it-works.html#vpc-ip-addressing)을 참조하세요.
+ 이중 스택 모드를 사용한 복제 인스턴스 생성에 대한 자세한 내용은 [복제 인스턴스 생성](CHAP_ReplicationInstance.Creating.md) 섹션을 참조하세요.
+ 복제 인스턴스 수정에 대한 자세한 내용은 [복제 인스턴스 수정](CHAP_ReplicationInstance.Modifying.md) 섹션을 참조하세요.

# 복제 인스턴스용으로 네트워크 설정
<a name="CHAP_ReplicationInstance.VPC"></a>

AWS DMS는 항상 Amazon VPC를 기반으로 VPC에 복제 인스턴스를 생성합니다. 복제 인스턴스의 위치할 VPC는 사용자가 지정합니다. 계정 및 AWS 리전에 기본 VPC를 사용하거나 새 VPC를 생성할 수 있습니다.

복제 인스턴스의 VPC에 할당된 탄력적 네트워크 인터페이스가 보안 그룹과 연결되어 있는지 확인해야 합니다. 또한 이 보안 그룹의 규칙이 모든 포트에서 모든 트래픽이 VPC를 벗어나는 것(송신)을 허용해야 합니다. 이 접근 방식을 통해 엔드포인트에서 올바른 수신 규칙이 활성화되어 있는 한 통신을 복제 인스턴스에서 소스 및 대상 데이터베이스 엔드포인트로 전달할 수 있습니다. 모든 포트에서 모든 주소로의 송신을 허용할 수 있도록 엔드포인트에서 기본 설정을 사용하는 것이 좋습니다.

원본과 대상 엔드포인트는 VPC에 연결하거나 VPC 내부에 있어 VPC 내부에 있는 복제 인스턴스에 액세스합니다. 데이터베이스 엔드포인트는 복제 인스턴스에서 수신되는 액세스를 허용하는 네트워크 ACL(액세스 제어 목록)과 보안 그룹 규칙(해당하는 경우)을 포함해야 합니다. 설정 방법은 사용하는 네트워크 구성에 따라 다릅니다. 복제 인스턴스 VPC 보안 그룹, 복제 인스턴스의 프라이빗 또는 퍼블릭 IP 주소 또는 NAT 게이트웨이의 퍼블릭 IP 주소를 사용할 수 있습니다. 이 연결은 데이터 마이그레이션에서 사용하는 네트워크를 구성합니다.

**참고**  
기본 인프라 변경으로 인해 IP 주소가 달라질 수 있으므로 VPC CIDR 범위를 사용하거나 NAT GW 연결 탄력적 IP를 통해 복제 인스턴스 아웃바운드 트래픽을 라우팅하는 것이 좋습니다. CIDR 블록을 포함하여 VPC 생성에 대한 자세한 내용은 *Amazon Virtual Private Cloud 사용 설명서*의 [VPC 및 서브넷 사용](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html)을 참조하세요. 탄력적 IP 주소에 대한 자세한 내용은 *Amazon Elastic Compute Cloud 사용 설명서*의 [탄력적 IP 주소](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/elastic-ip-addresses-eip.html)를 참조하세요.

## 데이터베이스 마이그레이션을 위한 네트워크 구성
<a name="CHAP_ReplicationInstance.VPC.Configurations"></a>

 AWS Database Migration Service에서 여러 가지 네트워크 구성을 사용할 수 있습니다. 다음은 데이터베이스 마이그레이션에 사용되는 네트워크의 일반적인 구성입니다.

**Topics**
+ [하나의 VPC에 모든 데이터베이스 마이그레이션 구성 요소가 있는 구성](#CHAP_ReplicationInstance.VPC.Configurations.ScenarioAllVPC)
+ [여러 VPC를 사용한 구성](#CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCPeer)
+ [공유 VPC를 사용한 구성](#CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCShared)
+ [Direct Connect 또는 VPN을 사용하여 네트워크를 VPC로 구성](#CHAP_ReplicationInstance.VPC.Configurations.ScenarioDirect)
+ [인터넷을 사용한 네트워크와 VPC 연결 구성](#CHAP_ReplicationInstance.VPC.Configurations.ScenarioInternet)
+ [ClassicLink를 사용하여 VPC에 없는 RDS DB 인스턴스를 VPC에 있는 DB 인스턴스와 연결하여 구성](#CHAP_ReplicationInstance.VPC.Configurations.ClassicLink)
+ [AWS 서비스에 연결하는 네트워크에 대한 구성](#CHAP_ReplicationInstance.VPC.Configurations.networkconnecting)
+ [VPC 엔드포인트를 사용하여 AWS 서비스에 연결하는 네트워크에 대한 구성](#CHAP_ReplicationInstance.VPC.Configurations.vpcendpoints)
+ [인터넷을 사용하여 AWS 서비스에 연결하는 네트워크에 대한 구성](#CHAP_ReplicationInstance.VPC.Configuration.networkconnectingusinginternet)

가능하면 대상 엔드포인트와 동일한 리전, 대상 엔드포인트와 동일한 VPC 또는 서브넷에 DMS 복제 인스턴스를 생성하는 것이 좋습니다.

### 하나의 VPC에 모든 데이터베이스 마이그레이션 구성 요소가 있는 구성
<a name="CHAP_ReplicationInstance.VPC.Configurations.ScenarioAllVPC"></a>

데이터베이스 마이그레이션에서 가장 간단한 네트워크는 원본 엔드포인트, 복제 인스턴스, 대상 엔드포인트가 모두 동일한 VPC에 있도록 하는 것입니다. 이 구성은 소스 및 대상 엔드포인트가 Amazon RDS DB 인스턴스 또는 Amazon EC2 인스턴스에 있는 경우에 잘 맞습니다.

다음 그림은 Amazon EC2 인스턴스의 데이터베이스가 복제 인스턴스에 연결되고 데이터가 Amazon RDS DB 인스턴스에 마이그레이션되는 경우의 구성을 보여줍니다.

![\[AWS Database Migration Service 올인원 VPC 예제\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-scenarioAllVPC.png)


이 구성에서 사용되는 VPC 보안 그룹은 복제 인스턴스의 데이터베이스 포트에서 수신을 허용해야 합니다. 이 작업은 두 가지 방법으로 수행할 수 있습니다. 복제 인스턴스에서 사용하는 보안 그룹이 엔드포인트에서 수신을 허용하도록 할 수 있습니다. 또는 복제 인스턴스의 VPC CIDR 범위, NAT GW 탄력적 IP 또는 프라이빗 IP 주소(사용 중인 경우)를 허용할 수 있습니다. 하지만 복제 인스턴스의 프라이빗 IP 주소는 사용하지 않는 것이 좋습니다. 복제 IP 주소가 변경되면 복제가 중단될 수 있기 때문입니다.

### 여러 VPC를 사용한 구성
<a name="CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCPeer"></a>

소스 엔드포인트와 대상 엔드포인트가 다른 VPC에 있는 경우, VPC 중 하나에서 복제 인스턴스를 생성할 수 있습니다. 그런 다음 VPC 피어링을 사용하여 두 VPC를 연결할 수 있습니다.

VPC 피어링 연결은 두 VPC가 동일한 네트워크에 있는 것처럼 각 VPC의 프라이빗 IP 주소를 사용하여 라우팅을 지원하는 두 VPC 간 네트워크 연결입니다. 자체 VPC, 다른 AWS 계정VPCs 또는 다른 AWS 리전의 VPC 간에 VPC 피어링 연결을 생성할 수 있습니다. VPC 피어링에 관한 자세한 내용은 *Amazon VPC 사용 설명서*에서 [VPC 피어링](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-peering.html)을 참조하세요.

다음 그림에 VPC 피어링을 사용한 구성 예가 나와 있습니다. 여기서, VPC의 Amazon EC2 인스턴스에 있는 소스 데이터베이스는 VPC 피어링에 의해 VPC에 연결됩니다. 이 VPC에는 Amazon RDS DB 인스턴스의 복제 인스턴스 및 대상 데이터베이스가 들어 있습니다.

![\[AWS Database Migration Service 복제 인스턴스\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-scenarioVPCPeer.png)


VPC 피어링을 구현하려면 *Amazon Virtual Private Cloud, VPC 피어링* 설명서에 있는 [VPC 피어링 연결 사용](https://docs.aws.amazon.com/vpc/latest/peering/working-with-vpc-peering.html)의 지침을 따르세요. 한 VPC의 라우팅 테이블에 다른 VPC의 CIDR 블록이 포함되어야 합니다. 예를 들어 VPC A가 대상 10.0.0.0/16을 사용하고 VPC B가 대상 172.31.0.0을 사용하는 경우 VPC A의 라우팅 테이블에는 172.31.0.0이 포함되고 VPC B의 라우팅 테이블에는 10.0.0.0/16이 포함되어야 합니다. 자세한 내용은 *Amazon Virtual Private Cloud, VPC 피어링* 설명서의 [VPC 피어링 연결에 대한 라우팅 테이블 업데이트](https://docs.aws.amazon.com/vpc/latest/peering/vpc-peering-routing.html)를 참조하세요.

이 구성에 사용되는 VPC 보안 그룹은 복제 인스턴스의 데이터베이스 포트에서 수신을 허용하거나 피어링되는 VPC의 CIDR 블록에서 수신을 허용해야 합니다.

### 공유 VPC를 사용한 구성
<a name="CHAP_ReplicationInstance.VPC.Configurations.ScenarioVPCShared"></a>

AWS DMS 는 조직의 참여 고객 계정과 공유되는 서브넷을 동일한 계정의 일반 서브넷과 동일하게 처리합니다. 다음은가 VPCs, 서브넷을 AWS DMS 처리하는 방법과 공유 VPCs.

`ReplicationSubnetGroup` 객체를 생성하여 사용자 지정 서브넷 또는 VPC에서 작동하도록 네트워크 구성을 구성할 수 있습니다. `ReplicationSubnetGroup`을 생성할 때 계정에 있는 특정 VPC의 서브넷을 지정할 수 있습니다. 지정하는 서브넷 목록에는 별도의 가용 영역에 있는 서브넷이 두 개 이상 포함되어야 하며 모든 서브넷은 동일한 VPC에 있어야 합니다. 를 생성할 때 `ReplicationSubnetGroup`고객은 서브넷만 지정합니다. AWS DMS 는 각 서브넷이 정확히 하나의 VPC에 연결되어 있으므로 사용자를 대신하여 VPC를 결정합니다.

또는를 AWS DMS `ReplicationInstance` 생성할 때 `ReplicationInstance` 또는 서버리스 복제가 작동하는 `ReplicationSubnetGroup` 및/또는 VPC 보안 그룹을 지정하도록 AWS DMS `ReplicationConfig`선택할 수 있습니다. 지정하지 않으면 고객 기본값`ReplicationSubnetGroup`(기본 VPC의 모든 서브넷에 지정하지 않은 경우에서 자동으로 AWS DMS 생성)과 기본 VPC 보안 그룹을 AWS DMS 선택합니다.

지정한 가용 영역 또는 `ReplicationSubnetGroup`의 가용 영역 중 하나에서 마이그레이션을 실행하도록 선택할 수 있습니다. 가 복제 인스턴스를 생성하거나 서버리스 복제를 시작 AWS DMS 하려고 하면 서브넷의 가용 영역을 코어 서비스 계정의 가용 영역으로 변환하여 가용 영역 매핑이 두 계정 간에 동일하지 않더라도 올바른 가용 영역에서 인스턴스를 시작할 수 있도록 합니다.

공유 VPC를 사용하는 경우 공유 VPC에서 사용하려는 서브넷에 매핑되는 `ReplicationSubnetGroup` 객체를 생성해야 합니다. `ReplicationInstance` 또는 `ReplicationConfig`를 생성할 때 공유 VPC에 대해 `ReplicationSubnetGroup`을 지정하고, Create 요청을 통해 공유 VPC용으로 생성한 VPC 보안 그룹을 지정해야 합니다.

공유 VPC 사용 시 다음에 유의하세요.
+ VPC 소유자는 참여자와 리소스를 공유할 수 없지만 참여자는 소유자의 서브넷에서 서비스 리소스를 생성할 수 있습니다.
+ 모든 리소스는 계정별이므로 VPC 소유자는 참여자가 생성한 리소스(예: 복제 인스턴스)에 액세스할 수 없습니다. 하지만 공유 VPC에서 복제 인스턴스를 생성하면 복제 엔드포인트 또는 태스크에 올바른 권한이 있는 한 소유 계정과 관계없이 VPC의 리소스에 액세스할 수 있습니다.
+ 리소스는 계정별이므로 다른 참여자는 다른 계정이 소유한 리소스에 액세스할 수 없습니다. 공유 VPC에서 생성된 리소스에 자신의 계정으로 액세스할 수 있도록 다른 계정에 부여할 수 있는 권한은 없습니다.

### Direct Connect 또는 VPN을 사용하여 네트워크를 VPC로 구성
<a name="CHAP_ReplicationInstance.VPC.Configurations.ScenarioDirect"></a>

원격 네트워크는 AWS Direct Connect, 소프트웨어 또는 하드웨어 VPN 연결과 같은 여러 옵션을 사용하여 VPC에 연결할 수 있습니다. 이 옵션은 흔히 내부 네트워크를 AWS 클라우드로 확장함으로써 모니터링, 인증, 보안, 데이터 또는 기타 시스템과 같은 기존 현장 서비스를 통합하는 데 사용됩니다. 이러한 유형의 네트워크 확장을 활용하여 VPC와 같이 AWS호스팅 리소스에 완벽하게 연결할 수 있습니다.

다음 그림은 원본 엔드포인트가 기업 데이터 센터에서 온프레미스 데이터베이스인 구성을 나타냅니다. Amazon RDS DB 인스턴스에서 복제 인스턴스와 대상 데이터베이스를 포함하는 Direct Connect 또는 VPN-VPC를 사용하여 연결합니다.

![\[AWS Database Migration Service 복제 인스턴스\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-scenarioDirect.png)


이 구성에서 VPC 보안 그룹에는 VPC CIDR 범위 또는 특정 IP 주소로 지정된 트래픽을 호스트로 전송하는 라우팅 규칙이 포함되어야 합니다. 이 호스트는 트래픽을 VPC에서 온프레미스 VPN으로 연결할 수 있어야 합니다. 이 경우, NAT 호스트에는 자체 보안 그룹 설정이 포함됩니다. 이러한 설정은 복제 인스턴스의 VPC CIDR 범위, 프라이빗 IP 주소 또는 보안 그룹에서 NAT 인스턴스로 들어오는 트래픽을 허용해야 합니다. 하지만 복제 인스턴스의 프라이빗 IP 주소는 사용하지 않는 것이 좋습니다. 복제 IP 주소가 변경되면 복제가 중단될 수 있기 때문입니다.

### 인터넷을 사용한 네트워크와 VPC 연결 구성
<a name="CHAP_ReplicationInstance.VPC.Configurations.ScenarioInternet"></a>

VPN 또는를 사용하여 AWS 리소스 Direct Connect 에 연결하지 않는 경우 인터넷을 사용하여 데이터베이스를 마이그레이션할 수 있습니다. 이 경우 Amazon EC2 인스턴스 또는 Amazon RDS DB 인스턴스로 마이그레이션할 수 있습니다. 이 구성은 대상 엔드포인트와 복제 인스턴스를 포함하는 인터넷 게이트웨이를 지원하는 VPC에 퍼블릭 복제 인스턴스를 포함합니다.

![\[AWS Database Migration Service 복제 인스턴스\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-scenarioInternet.png)


VPC에 인터넷 게이트웨이를 추가하려면 *Amazon VPC 사용 설명서*의 [인터넷 게이트웨이 연결](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html#Add_IGW_Attach_Gateway)을 참조하세요.

VPC 라우팅 테이블에는 기본적으로 VPC로 향하지 않는 트래픽을 인터넷 게이트웨이로 보내는 라우팅 규칙이 포함되어야 합니다. 이 구성에서 엔드포인트와의 연결이 프라이빗 IP 주소가 아닌 복제 인스턴스의 퍼블릭 IP 주소에서 오는 것으로 나타납니다. 자세한 내용은 *Amazon VPC 사용 설명서*의 [VPC 라우팅 테이블](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Route_Tables.html)을 참조하세요.

### ClassicLink를 사용하여 VPC에 없는 RDS DB 인스턴스를 VPC에 있는 DB 인스턴스와 연결하여 구성
<a name="CHAP_ReplicationInstance.VPC.Configurations.ClassicLink"></a>


|  | 
| --- |
| EC2-Classic은 2022년 8월 15일에 사용 중지될 예정입니다. EC2-Classic에서 VPC로 마이그레이션하는 것이 좋습니다. 자세한 내용은 Amazon EC2 사용 설명서의 [EC2-Classic에서 VPC로 마이그레이션](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/vpc-migrate.html) 및 [EC2-Classic 네트워킹 지원 중단에 대비하는 방법](https://aws.amazon.com/blogs/aws/ec2-classic-is-retiring-heres-how-to-prepare/) 블로그 게시물을 참조하세요. | 

VPC에 없는 Amazon RDS DB 인스턴스를 VPC에 있는 DMS 복제 서버 및 DB 인스턴스에 연결하려면 ClassicLink를 프록시 서버와 함께 사용할 수 있습니다.

ClassicLink를 사용하면 EC2-Classic DB 인스턴스를 동일한 AWS 리전 내 계정의 VPC에 연결할 수 있습니다. 링크를 생성하고 난 후 원본 DB 인스턴스는 프라이빗 IP 주소를 사용하여 VPC 내부에 있는 복제 인스턴스와 통신할 수 있습니다.

VPC의 복제 인스턴스는 ClassicLink를 사용하여 EC2-Classic 플랫폼의 소스 DB 인스턴스에 직접 액세스할 수 없기 때문에 프록시 서버를 사용합니다. 프록시 서버는 원본 DB 인스턴스를 VPC에 연결하며, 여기에는 복제 인스턴스와 대상 DB 인스턴스가 포함됩니다. 프록시 서버는 ClassicLink를 VPC와 연결합니다. 프록시 서버의 포트 전달은 VPC에서 원본 DB 인스턴스와 대상 DB 인스턴스 통신을 허용합니다.

![\[AWS ClassicLink를 사용한 데이터베이스 마이그레이션 서비스\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/datarep-scenarioClassicLink.png)


#### AWS 데이터베이스 마이그레이션 서비스와 함께 ClassicLink 사용
<a name="CHAP_ReplicationInstance.VPC.Configurations.ClassicLink.Using"></a>

VPC에 없는 Amazon RDS DB 인스턴스를 VPC에 있는 AWS DMS 복제 서버 및 DB 인스턴스에 연결할 수 있습니다. 이를 위해 Amazon EC2 ClassicLink를 프록시 서버와 함께 사용할 수 있습니다.

다음 절차에서는 ClassicLink를 이러한 용도로 사용하는 방법을 보여줍니다. 이 절차에서는 VPC에 없는 Amazon RDS 소스 DB 인스턴스를 AWS DMS 복제 인스턴스와 대상 DB 인스턴스가 포함된 VPC에 연결합니다.
+ VPC에서 AWS DMS 복제 인스턴스를 생성합니다. (모든 복제 인스턴스는 VPC에서 생성됩니다).
+ VPC 보안 그룹을 복제 인스턴스와 대상 DB 인스턴스에 연결합니다. 두 인스턴스가 VPC 보안 그룹을 공유할 때에는 기본적으로 이 두 인스턴스가 서로 통신할 수 있습니다.
+ EC2 Classic 인스턴스에서 프록시 서버를 설정합니다.
+ ClassicLink를 사용하여 프록시 서버와 VPC를 연결합니다.
+ 소스 및 대상 데이터베이스에 대한 AWS DMS 엔드포인트를 생성합니다.
+  AWS DMS 작업을 생성합니다.

**ClassicLink를 사용하여 VPC에 없는 DB 인스턴스의 데이터베이스를 VPC에 있는 DB 인스턴스의 데이터베이스로 마이그레이션하려면**

1.  AWS DMS 복제 인스턴스를 생성하고 VPC 보안 그룹을 할당합니다.

   1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) AWS DMS 콘솔을 엽니다.

       AWS Identity and Access Management (IAM) 사용자로 로그인한 경우에 액세스할 수 있는 적절한 권한이 있는지 확인합니다 AWS DMS. 데이터베이스 마이그레이션에 필요한 권한에 대한 자세한 내용은 [를 사용하는 데 필요한 IAM 권한 AWS DMS](security-iam.md#CHAP_Security.IAMPermissions) 섹션을 참조하세요.

   1. **대시보드** 페이지에서 **복제 인스턴스**를 선택합니다. [1단계: AWS DMS 콘솔을 사용하여 복제 인스턴스 생성](CHAP_GettingStarted.Replication.md#CHAP_GettingStarted.Replication.ReplicationInstance)의 지침에 따라 복제 인스턴스를 생성합니다.

   1.  AWS DMS 복제 인스턴스를 생성한 후 EC2 서비스 콘솔을 엽니다. 탐색 창에서 **네트워크 인스턴스**를 선택합니다.

   1. *DMSNetworkInterface*를 선택한 다음 **작업** 메뉴에서 **보안 그룹 변경**을 선택합니다.

   1. 복제 인스턴스와 대상 DB 인스턴스에서 사용할 보안 그룹을 선택합니다.

1.  마지막 단계에서 선택한 보안 그룹을 대상 DB 인스턴스와 연결합니다.

   1. Amazon RDS 서비스 콘솔을 엽니다. 탐색 창에서 **인스턴스**를 선택합니다.

   1.  대상 DB 인스턴스를 선택합니다. **인스턴스 작업**에서 **수정**을 선택합니다.

   1. **보안 그룹** 파라미터에서 이전 단계에서 사용한 보안 그룹을 선택합니다.

   1. **계속**을 선택하고 **DB 인스턴스 수정**을 선택합니다.

1. 3단계: NGINX를 사용하여 EC2 Classic 인스턴스에서 프록시 서버를 설정합니다. 선택한 AMI를 사용하여 EC2 Classic 인스턴스를 시작합니다. 다음 예제는 AMI Ubuntu Server 14.04 LTS(HVM)를 기반으로 합니다.

   EC2 Classic 인스턴스에서 프록시 서버를 설정하려면

   1. 다음 명령을 사용하여 EC2 Classic 인스턴스에 연결하고 NGINX를 설치합니다.

      ```
      Prompt> sudo apt-get update
      Prompt> sudo wget http://nginx.org/download/nginx-1.9.12.tar.gz
      Prompt> sudo tar -xvzf nginx-1.9.12.tar.gz 
      Prompt> cd nginx-1.9.12
      Prompt> sudo apt-get install build-essential
      Prompt> sudo apt-get install libpcre3 libpcre3-dev
      Prompt> sudo apt-get install zlib1g-dev
      Prompt> sudo ./configure --with-stream
      Prompt> sudo make
      Prompt> sudo make install
      ```

   1.  다음 코드를 사용하여 NGINX 대몬 파일 `/etc/init/nginx.conf`를 편집합니다.

      ```
      # /etc/init/nginx.conf – Upstart file
      
      description "nginx http daemon"
      author "email"
      
      start on (filesystem and net-device-up IFACE=lo)
      stop on runlevel [!2345]
      
      env DAEMON=/usr/local/nginx/sbin/nginx
      env PID=/usr/local/nginx/logs/nginx.pid
      
      expect fork
      respawn
      respawn limit 10 5
      
      pre-start script
              $DAEMON -t
              if [ $? -ne 0 ]
                      then exit $?
              fi
      end script
      
      exec $DAEMON
      ```

   1. `/usr/local/nginx/conf/nginx.conf`에 NGINX 구성 파일을 만듭니다. 구성 파일에서 다음을 추가합니다.

      ```
      # /usr/local/nginx/conf/nginx.conf - NGINX configuration file
      
      worker_processes  1;
      
      events {
          worker_connections  1024;
      }
      
      stream {
        server {
          listen DB instance port number;
      proxy_pass DB instance identifier:DB instance port number;
          }
      }
      ```

   1. 명령줄에서 다음 명령을 사용하여 NGINX를 시작합니다.

      ```
      Prompt> sudo initctl reload-configuration
      Prompt> sudo initctl list | grep nginx
      Prompt> sudo initctl start nginx
      ```

1. 대상 DB 인스턴스와 복제 인스턴스를 포함하는 대상 VPC와 프록시 서버를 ClassicLink로 연결합니다.

   1. EC2 콘솔을 열고 프록시 서버를 실행하는 EC2 Classic 인스턴스를 선택합니다.

   1. **작업**에서 **ClassicLink**를 선택한 후 **VPC에 연결**을 선택합니다.

   1.  이 절차에서 앞서 사용한 보안 그룹을 선택합니다.

   1. **VPC에 연결**을 선택합니다.

1. 5단계:의 절차를 사용하여 AWS DMS 엔드포인트를 생성합니다[2단계: 소스 및 대상 엔드포인트 지정](CHAP_GettingStarted.Replication.md#CHAP_GettingStarted.Replication.Endpoints). 소스 엔드포인트를 지정할 때에는 서버 이름으로 프록시의 내부 EC2 DNS 호스트 이름을 사용해야 합니다.

1. 의 절차를 사용하여 AWS DMS 작업을 생성합니다[3단계: 태스크 생성 및 데이터 마이그레이션](CHAP_GettingStarted.Replication.md#CHAP_GettingStarted.Replication.Tasks).

### AWS 서비스에 연결하는 네트워크에 대한 구성
<a name="CHAP_ReplicationInstance.VPC.Configurations.networkconnecting"></a>

 AWS 서비스에 연결하려면 인터넷 연결 또는 Virtual Private Cloud(VPC) 엔드포인트를 사용합니다. 이는 다음과 같은 경우에 적용됩니다.

소스 또는 대상 엔드포인트는 다음과 같은 AWS 서비스를 사용합니다.  
+ AWS Secrets Manager
+ Amazon Simple Storage Service

대상 엔드포인트는 다음과 같은 AWS 서비스입니다.  
+ Amazon S3
+ Amazon Kinesis
+ Amazon DynamoDB
+ Amazon Redshift
+ Amazon OpenSearch Service
+ Amazon Athena

### VPC 엔드포인트를 사용하여 AWS 서비스에 연결하는 네트워크에 대한 구성
<a name="CHAP_ReplicationInstance.VPC.Configurations.vpcendpoints"></a>

VPC 엔드포인트는 AWS 리소스 간에 보안 연결을 제공하여 인터넷 액세스 없이 VPC 리소스를 AWS 서비스에 연결합니다. 프라이빗 서브넷의 애플리케이션은 AWS 네트워크 내에 있는 동안 AWS 서비스에 액세스하여 보안을 개선하고 지연 시간을 줄일 수 있습니다. 아래 이미지를 참조하세요.

![\[\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/images/aws_dms_vpc_endpoints.jpg)


자세한 내용은 [VPC 엔드포인트를 AWS DMS 소스 및 대상 엔드포인트로 구성](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_VPC_Endpoints.html) 및 [AWS DMS 보안 암호 관리자 VPC 엔드포인트 구성을 참조하세요](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Advanced.Endpoints.secretsmanager.html).

### 인터넷을 사용하여 AWS 서비스에 연결하는 네트워크에 대한 구성
<a name="CHAP_ReplicationInstance.VPC.Configuration.networkconnectingusinginternet"></a>

복제 인스턴스는 데이터 마이그레이션 중에 AWS 리소스에 연결하려면 인터넷 액세스가 필요합니다.

VPC 내의 프라이빗 및 퍼블릭 서브넷에 대한 자세한 내용은 *Amazon Virtual Private Cloud 사용 설명서*의 [예제: 프라이빗 서브넷에 서버가 있는 VPC 및 NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-example-private-subnets-nat.html)를 참조하세요. 필요한 서비스와의 연결을 위해 네트워크 구성을 테스트해야 합니다.

## 복제 서브넷 그룹 생성
<a name="CHAP_ReplicationInstance.VPC.Subnets"></a>

데이터베이스 마이그레이션에서 사용하는 네트워크의 일부로서 가상 프라이빗 클라우드(VPC)에서 사용할 서브넷을 지정해야 합니다. 이 VPC는 Amazon VPC 서비스를 기반으로 해야 합니다. *서브넷*은 지정된 가용 영역에 있는 VPC의 IP 주소 범위입니다. 이러한 서브넷은 VPC가 위치한 AWS 리전의 가용 영역 간에 분산될 수 있습니다.

 AWS DMS 콘솔에서 복제 인스턴스 또는 인스턴스 프로파일을 생성할 때 선택한 서브넷을 사용할 수 있습니다.

복제 서브넷 그룹을 생성하여 사용할 서브넷을 정의합니다. 가용 영역 2개 이상에서 서브넷을 지정해야 합니다.

**복제 서브넷 그룹을 생성하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) AWS DMS 콘솔을 엽니다.

   IAM 사용자로 로그인한 경우 AWS DMS에 액세스하기 위한 적절한 권한이 있어야 합니다. 데이터베이스 마이그레이션에 필요한 권한에 대한 자세한 내용은 [를 사용하는 데 필요한 IAM 권한 AWS DMS](security-iam.md#CHAP_Security.IAMPermissions) 섹션을 참조하세요.

1. 탐색 창에서 **서브넷 그룹**을 선택합니다.

1. **서브넷 그룹 생성**을 선택합니다.

1. **복제 서브넷 그룹 생성** 페이지에서 복제 서브넷 그룹 정보를 지정합니다. 다음 표는 설정에 대한 설명입니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_ReplicationInstance.VPC.html)

1. **서브넷 그룹 생성**을 선택합니다.

## DNS를 사용하여 도메인 엔드포인트 확인
<a name="CHAP_ReplicationInstance.VPC.Route53"></a>

일반적으로 AWS DMS 복제 인스턴스는 Amazon EC2 인스턴스의 도메인 이름 시스템(DNS) 해석기를 사용하여 도메인 엔드포인트를 확인합니다. DNS 확인이 필요한 경우 Amazon Route 53 Resolver를 사용할 수 있습니다. Route 53 DNS Resolver 사용에 대한 자세한 내용은 [Route 53 Resolver 시작하기](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/resolver-getting-started.html)를 참조하세요.

자체 온프레미스 이름 서버를 사용하여 Amazon Route 53 Resolver로 특정 엔드포인트를 확인하는 방법에 대한 자세한 내용은 [자체 온프레미스 이름 서버 사용](CHAP_BestPractices.md#CHAP_BestPractices.Rte53DNSResolver) 섹션을 참조하세요.

# 복제 인스턴스의 암호화 키 설정
<a name="CHAP_ReplicationInstance.EncryptionKey"></a>

AWS DMS는 복제 인스턴스에서 사용하는 스토리지와 엔드포인트 연결 정보를 암호화합니다. 복제 인스턴스에서 사용하는 스토리지를 암호화하기 위해 AWS DMS AWS KMS key 는 AWS 계정에 고유한를 사용합니다. AWS Key Management Service ()를 사용하여이 KMS 키를 보고 관리할 수 있습니다AWS KMS. 계정의 기본 KMS 키(`aws/dms`) 또는 사용자가 생성한 KMS 키를 사용할 수 있습니다. 기존 AWS KMS 암호화 키가 있는 경우 해당 키를 암호화에 사용할 수도 있습니다.

KMS 키 식별자를 제공하여 AWS DMS 리소스를 암호화하여 자체 암호화 키를 지정할 수 있습니다. 자체 암호화 키를 지정할 때 데이터베이스 마이그레이션을 수행하는 데 사용되는 사용자 계정에는 키에 대한 액세스 권한이 있어야 합니다. 자체 암호화 키를 생성하고 암호화 키에 사용자 액세스 권한을 부여하는 방법에 대한 자세한 내용은 *[AWS KMS 개발자 안내서](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)*를 참조하세요.

KMS 키 식별자를 지정하지 않으면 AWS DMS는 기본 암호화 키를 사용합니다. KMS는 계정 AWS 의 AWS DMS에 대한 기본 암호화 키를 생성합니다. AWS 계정에는 AWS 리전마다 다른 기본 암호화 키가 있습니다.

 AWS DMS 리소스를 암호화하는 데 사용되는 키를 관리하려면를 사용합니다 AWS KMS. 탐색 AWS KMS 창에서 **KMS**를 검색 AWS Management Console 하여에서를 찾을 수 있습니다.

AWS KMS 는 안전하고 가용성이 높은 하드웨어와 소프트웨어를 결합하여 클라우드에 맞게 확장된 키 관리 시스템을 제공합니다. 를 사용하면 암호화 키를 AWS KMS생성하고 이러한 키를 사용할 수 있는 방법을 제어하는 정책을 정의할 수 있습니다.는를 AWS KMS 지원 AWS CloudTrail하므로 키 사용을 감사하여 키가 적절하게 사용되고 있는지 확인할 수 있습니다. AWS KMS 키는 AWS DMS 및 기타 지원되는 AWS 서비스와 함께 사용할 수 있습니다. 지원되는 AWS 서비스로는 Amazon RDS, Amazon S3, Amazon Elastic Block Store(Amazon EBS), Amazon Redshift가 있습니다.

특정 암호화 키로 AWS DMS 리소스를 생성한 경우 해당 리소스의 암호화 키를 변경할 수 없습니다. AWS DMS 리소스를 생성하기 전에 암호화 키 요구 사항을 결정해야 합니다.

# 복제 인스턴스 생성
<a name="CHAP_ReplicationInstance.Creating"></a>

데이터베이스를 마이그레이션하는 첫 번째 작업은 복제 인스턴스를 생성하는 것입니다. 이 복제 인스턴스에는 소스 데이터베이스에서 대상 데이터베이스로 데이터를 할당하고 마이그레이션하는 작업을 수행하는 데 충분한 스토리지 및 처리 능력이 필요합니다. 이 인스턴스의 필요한 크기는 마이그레이션해야 하는 데이터 양과 인스턴스 실행에 필요한 작업에 따라 달라집니다. 복제 인스턴스에 대한 자세한 내용은 [AWS DMS 복제 인스턴스 작업](CHAP_ReplicationInstance.md) 섹션을 참조하세요.

**AWS 콘솔을 사용하여 복제 인스턴스를 생성하려면**

1.  AWS DMS 콘솔의 탐색 창에서 **복제 인스턴스**를 선택한 다음 **복제 인스턴스 생성을** 선택합니다.

1. **복제 인스턴스 생성** 페이지에서 복제 인스턴스 정보를 지정합니다. 다음 표는 사용자가 지정할 수 있는 설정에 대한 설명입니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html)

1. **고급** 탭을 선택하고 네트워크와 암호화 설정이 필요하면 값을 설정합니다. 다음 표는 설정에 대한 설명입니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html)

1. **유지 관리** 설정을 지정합니다. 다음 표는 설정에 대한 설명입니다. 유지 관리 설정에 대한 자세한 내용은 [AWS DMS 유지 관리 기간 작업](CHAP_ReplicationInstance.MaintenanceWindow.md) 섹션을 참조하세요.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_ReplicationInstance.Creating.html)

1. **복제 인스턴스 생성**을 선택합니다.

# 복제 인스턴스 수정
<a name="CHAP_ReplicationInstance.Modifying"></a>

복제 인스턴스에 대한 설정을 수정하여 예컨대 인스턴스 클래스를 변경하거나 스토리지를 늘릴 수 있습니다.

복제 인스턴스를 수정하는 경우 변경 사항을 즉시 적용할 수 있습니다. 변경 사항을 즉시 적용하려면 AWS Management Console에서 **변경 사항 즉시 적용** 옵션을 선택합니다. 또는를 호출할 때 `--apply-immediately` 파라미터를 사용하거나 DMS API를 사용할 `true` 때 `ApplyImmediately` 파라미터를 로 AWS CLI설정합니다.

변경 사항을 즉시 적용하지 않기로 선택하면 변경 사항이 보류 중 수정 사항 대기열로 보내집니다. 다음 유지 관리 기간에 대기열에 있는 보류 중 변경 사항이 적용됩니다.

**참고**  
변경 사항을 즉시 적용하기로 선택하면 보류 중 수정 사항 대기열에 있는 변경 사항까지 모두 적용됩니다. 보류 중 수정 사항이 하나라도 가동 중지 시간을 필요로 하는 경우 **변경 사항 즉시 적용**을 선택하면 예기치 못한 가동 중지 시간이 발생할 수 있습니다.

**AWS 콘솔을 사용하여 복제 인스턴스를 수정하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) AWS DMS 콘솔을 엽니다.

1. 탐색 창에서 **복제 인스턴스**를 선택합니다.

1. 수정할 복제 인스턴스를 선택합니다. 다음 표에서는 수행할 수 있는 수정 사항을 설명합니다.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/dms/latest/userguide/CHAP_ReplicationInstance.Modifying.html)

## 복제 인스턴스 수정 모범 사례
<a name="CHAP_ReplicationInstance.Modifying.best.practice"></a>

복제 인스턴스를 수정할 때 다음 모범 사례를 따르면 마이그레이션 워크플로에 미치는 영향을 최소화하면서 성공적인 업데이트를 보장하는 데 도움이 됩니다. 수정 전, 중, 후에 다음 주요 단계를 수행하여 프로세스 전반에 걸쳐 데이터 무결성과 운영 효율성을 유지합니다.

**계획 수정 타이밍:**  
+ 변경 사항을 즉시 적용하거나 다음 유지 관리 기간에 예약할 수 있습니다.
+ 영향을 최소화하기 위해 트래픽이 적은 기간 동안 일정을 잡습니다.

**사전 수정 단계:**  
+ 모든 활성 복제 작업을 중지합니다.
+ 모든 작업이 성공적으로 중지되었는지 확인합니다.
+ 현재 구성 작업 설정을 문서화합니다.

**수정 중:**  
+ 수정 진행 상황 모니터링.
+ 계속하기 전에 "사용 가능" 상태를 기다립니다.

**수정 후 단계:**  
+ 이전에 중지된 모든 작업을 재개합니다.
+ 작업이 올바르게 실행되고 있는지 확인합니다.

# 복제 인스턴스 재부팅
<a name="CHAP_ReplicationInstance.Rebooting"></a>

 AWS DMS 복제 인스턴스를 재부팅하여 복제 엔진을 다시 시작할 수 있습니다. 재부팅하면 인스턴스 상태가 **재부팅 중**으로 설정되면서 복제 인스턴스가 잠시 중단됩니다. AWS DMS 인스턴스가 다중 AZ에 대해 구성된 경우 장애 조치를 통해 재부팅을 수행할 수 있습니다. 재부팅이 완료되면 AWS DMS 이벤트가 생성됩니다.

 AWS DMS 인스턴스가 다중 AZ 배포인 경우 재부팅할 때 한 AWS 가용 영역에서 다른 가용 영역으로 계획된 장애 조치를 강제로 수행할 수 있습니다. AWS DMS 인스턴스의 계획된 장애 조치를 강제로 적용하면는 다른 가용 영역의 대기 인스턴스로 자동 전환하기 전에 현재 인스턴스의 활성 연결을 AWS DMS 종료합니다. 계획된 장애 조치로 재부팅하면 복제 AWS DMS 인스턴스 클래스를 조정할 때와 같이 인스턴스의 계획된 장애 조치 이벤트를 시뮬레이션할 수 있습니다.

**참고**  
재부팅할 때 한 가용 영역에서 다른 가용 영역으로 장애 조치를 강제로 실시하면 가용 영역 변경 사항이 몇 분 동안 반영되지 않을 수 있습니다. 이 지연은 AWS Management Console및 AWS DMS API에 대한 호출 AWS CLI 및에 표시됩니다.

복제 인스턴스에서 마이그레이션 태스크가 실행 중일 때 재부팅이 발생하면 데이터 손실은 발생하지 않지만 태스크가 중지되고 태스크 상태는 오류 상태로 바뀝니다.

마이그레이션 태스크의 테이블이 대량 로드 중에 있고(전체 로드 단계) 아직 시작되지 않은 경우 오류 상태로 전환됩니다. 하지만 그 시점에 완료된 테이블은 완료 상태로 남아 있습니다. 전체 로드 단계에서 재부팅이 발생하는 경우 아래 단계 중 하나를 수행하는 것이 좋습니다.
+ 태스크에서 완료 상태인 테이블을 제거하고 나머지 테이블을 사용하여 태스크를 다시 시작합니다.
+ 오류 상태의 테이블과 보류 중인 테이블로 새 태스크를 생성합니다.

마이그레이션 작업의 테이블이 지속적인 복제 단계에 있는 경우 재부팅이 완료된 후 작업이 다시 시작됩니다.

상태가 사용 **가능** 상태가 아니면 AWS DMS 복제 인스턴스를 재부팅할 수 없습니다. 이전에 요청한 수정 또는 유지 관리 기간 작업과 같은 여러 가지 이유로 AWS DMS 인스턴스를 사용할 수 없습니다. AWS DMS 복제 인스턴스를 재부팅하는 데 필요한 시간은 일반적으로 짧습니다(5분 미만).

## AWS 콘솔을 사용하여 복제 인스턴스 재부팅
<a name="CHAP_ReplicationInstance.Rebooting.CON"></a>

복제 인스턴스를 재부팅하려면 AWS 콘솔을 사용합니다.

**AWS 콘솔을 사용하여 복제 인스턴스를 재부팅하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) AWS DMS 콘솔을 엽니다.

1. 탐색 창에서 **복제 인스턴스**를 선택합니다.

1. 재부팅할 복제 인스턴스를 선택합니다.

1. **재부팅**을 선택합니다. **복제 인스턴스 재부팅** 대화 상자가 열립니다.

1. 다중 AZ 배포에 대해 복제 인스턴스를 구성한 경우 다른 AWS 가용 영역으로 장애 조치하려면 **계획된 장애 조치로 재부팅하시겠습니까?** 확인란을 선택합니다.

1. **재부팅**을 선택합니다.

## CLI를 사용하여 복제 인스턴스 재부팅
<a name="CHAP_ReplicationInstance.Rebooting.CLI"></a>

복제 인스턴스를 재부팅하려면 다음 파라미터와 함께 명령을 사용합니다 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/dms/reboot-replication-instance.html](https://docs.aws.amazon.com/cli/latest/reference/dms/reboot-replication-instance.html).
+ `--replication-instance-arn`

**Example 간단한 재부팅 예제**  
다음 AWS CLI 예시에서는 복제 인스턴스를 재부팅합니다.  

```
aws dms reboot-replication-instance \
--replication-instance-arn arn of my rep instance
```

**Example 장애 조치로 간단한 재부팅 예제**  
다음 AWS CLI 예시에서는 장애 조치로 복제 인스턴스를 재부팅합니다.  

```
aws dms reboot-replication-instance \
--replication-instance-arn arn of my rep instance \
--force-planned-failover
```

## API를 사용하여 복제 인스턴스 재부팅
<a name="CHAP_ReplicationInstance.Rebooting.API"></a>

복제 인스턴스를 재부팅하려면 다음 파라미터와 함께 AWS DMS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 작업을 사용합니다.
+ `ReplicationInstanceArn = arn of my rep instance`

**Example 간단한 재부팅 예제**  
다음 코드 예제에서는 복제 인스턴스를 재부팅합니다.  

```
 1. https://dms.us-west-2.amazonaws.com/
 2. ?Action=RebootReplicationInstance
 3. &DBInstanceArn=arn of my rep instance
 4. &SignatureMethod=HmacSHA256
 5. &SignatureVersion=4
 6. &Version=2014-09-01
 7. &X-Amz-Algorithm=AWS4-HMAC-SHA256
 8. &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request
 9. &X-Amz-Date=20140425T192732Z
10. &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
11. &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3
```

**Example 장애 조치로 간단한 재부팅 예제**  
다음 코드 예제에서는 복제 인스턴스를 재부팅하고 다른 AWS 가용 영역으로 장애 조치합니다.  

```
 1. https://dms.us-west-2.amazonaws.com/
 2. ?Action=RebootReplicationInstance
 3. &DBInstanceArn=arn of my rep instance
 4. &ForcePlannedFailover=true
 5. &SignatureMethod=HmacSHA256
 6. &SignatureVersion=4
 7. &Version=2014-09-01
 8. &X-Amz-Algorithm=AWS4-HMAC-SHA256
 9. &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request
10. &X-Amz-Date=20140425T192732Z
11. &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
12. &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3
```

# 복제 인스턴스 삭제
<a name="CHAP_ReplicationInstance.Deleting"></a>

사용을 마치면 AWS DMS 복제 인스턴스를 삭제할 수 있습니다. 복제 인스턴스를 사용하는 마이그레이션 작업이 있는 경우 복제 인스턴스를 삭제하기 전에 작업을 중지한 후 삭제해야 합니다.

 AWS 계정을 해지하면 2일 후에 계정과 연결된 모든 AWS DMS 리소스 및 구성이 삭제됩니다. 이 리소스에는 모든 복제 인스턴스, 원본 및 대상 엔드포인트 구성, 복제 작업, SSL 인증서가 포함됩니다. 2일 후에를 AWS DMS 다시 사용하기로 결정한 경우 필요한 리소스를 다시 생성합니다.

복제 인스턴스가 모든 삭제 기준을 충족하고 장기간 `DELETING` 상태를 유지하는 경우 지원 팀에 문의하여 문제를 해결하세요.

## AWS 콘솔을 사용하여 복제 인스턴스 삭제
<a name="CHAP_ReplicationInstance.Deleting.CON"></a>

복제 인스턴스를 삭제하려면 AWS 콘솔을 사용합니다.

**AWS 콘솔을 사용하여 복제 인스턴스를 삭제하려면**

1. 에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) AWS DMS 콘솔을 엽니다.

1. 탐색 창에서 **복제 인스턴스**를 선택합니다.

1. 삭제할 복제 인스턴스를 선택합니다.

1. **삭제**를 선택합니다.

1. 대화 상자에서 **삭제**를 선택합니다.

## CLI를 사용하여 복제 인스턴스 삭제
<a name="CHAP_ReplicationInstance.Deleting.CLI"></a>

복제 인스턴스를 삭제하려면 다음 파라미터와 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/dms/delete-replication-instance.html](https://docs.aws.amazon.com/cli/latest/reference/dms/delete-replication-instance.html) 함께 명령을 사용합니다.
+ `--replication-instance-arn`

**Example 삭제 예제**  
다음 AWS CLI 예시에서는 복제 인스턴스를 삭제합니다.  

```
aws dms delete-replication-instance \
--replication-instance-arn arn of my rep instance
```

## API를 사용하여 복제 인스턴스 삭제
<a name="CHAP_ReplicationInstance.Deleting.API"></a>

복제 인스턴스를 삭제하려면 API AWS DMS [https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationInstance.html](https://docs.aws.amazon.com/dms/latest/APIReference/API_DeleteReplicationInstance.html) 작업을 다음 파라미터와 함께 사용합니다.
+ `ReplicationInstanceArn = arn of my rep instance`

**Example 삭제 예제**  
다음 코드 예시에서는 복제 인스턴스를 삭제합니다.  

```
 1. https://dms.us-west-2.amazonaws.com/
 2. ?Action=DeleteReplicationInstance
 3. &DBInstanceArn=arn of my rep instance
 4. &SignatureMethod=HmacSHA256
 5. &SignatureVersion=4
 6. &Version=2014-09-01
 7. &X-Amz-Algorithm=AWS4-HMAC-SHA256
 8. &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request
 9. &X-Amz-Date=20140425T192732Z
10. &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
11. &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3
```

# AWS DMS 유지 관리 기간 작업
<a name="CHAP_ReplicationInstance.MaintenanceWindow"></a>

모든 AWS DMS 복제 인스턴스에는 사용 가능한 시스템 변경 사항이 적용되는 주간 유지 관리 기간이 있습니다. 유지 관리 기간은 수정 사항 및 소프트웨어 패치 적용 시점을 조절할 수 있는 기회로 생각하면 좋습니다.

에서 지정된 주 동안 유지 관리가 필요하다고 AWS DMS 판단하면 복제 인스턴스를 생성할 때 선택한 30분 유지 관리 기간 동안 유지 관리가 수행됩니다.는 30분 유지 관리 기간 동안 대부분의 유지 관리를 AWS DMS 완료합니다. 단, 대규모 변경 사항의 경우 보다 긴 시간이 필요할 수 있습니다.

## 유지 관리가 기존 마이그레이션 작업에 미치는 영향
<a name="CHAP_ReplicationInstance.MaintenanceWindow.Effect"></a>

인스턴스에서 AWS DMS 마이그레이션 작업이 실행 중이면 패치가 적용될 때 다음 이벤트가 발생합니다.
+ 마이그레이션 작업의 테이블이 진행 중 변경 사항 복제 단계(CDC)에 있는 경우 AWS DMS 는 태스크를 잠시 동안 중지했다가 패치가 적용된 후에 다시 시작합니다. 그러고 나면 패치가 적용될 때 중단되었던 지점부터 마이그레이션이 계속됩니다.
+  AWS DMS 가 **기존 데이터 마이그레이션** 또는 **기존 데이터 마이그레이션의 일부로 테이블을 마이그레이션하고 진행 중인 변경 작업을 복제**하는 경우 DMS는 패치가 적용되는 동안 전체 로드 단계에 있는 모든 테이블에 대해 마이그레이션을 중지했다가 다시 시작합니다. 또한 DMS는 패치가 적용되는 동안 CDC 단계에 있는 모든 테이블을 중지했다가 다시 시작합니다.

## 유지 관리 기간 설정 변경
<a name="CHAP_ReplicationInstance.MaintenanceWindow.Changing"></a>

 AWS Management Console AWS CLI, 또는 AWS DMS API를 사용하여 유지 관리 기간 기간을 변경할 수 있습니다.

### 콘솔을 사용하여 유지 관리 기간 설정 변경
<a name="CHAP_ReplicationInstance.AdjustingTheMaintenanceWindow.CON"></a>

 AWS Management Console을 사용하여 유지 관리 기간 프레임을 변경할 수 있습니다.

**콘솔을 사용하여 기본 유지 관리 기간을 변경하려면**

1.  에 로그인 AWS Management Console 하고 [https://console.aws.amazon.com/dms/v2/](https://console.aws.amazon.com/dms/v2/) AWS DMS 콘솔을 엽니다.

1. 탐색 창에서 **복제 인스턴스**를 선택합니다.

1. **수정**을 수정 및 선택할 복제 인스턴스를 선택합니다.

1. **유지 관리** 섹션을 확장하고 유지 관리 기간의 날짜 및 시간을 선택합니다.

1. **변경 내용 즉시 적용**을 선택합니다.

1.  **수정**을 선택합니다.

### CLI를 사용하여 유지 관리 기간 설정 변경
<a name="CHAP_ReplicationInstanceAdjustingTheMaintenanceWindow.CLI"></a>

원하는 유지 관리 기간을 조정하려면 다음 파라미터와 함께 명령을 사용합니다 AWS CLI [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html).
+ `--replication-instance-identifier`
+ `--preferred-maintenance-window`

**Example**  
다음 AWS CLI 예제에서는 유지 관리 기간을 화요일 오전 4시\$1오전 4시 30분으로 설정합니다. UTC 기준입니다.  

```
aws dms modify-replication-instance \
--replication-instance-identifier myrepinstance \
--preferred-maintenance-window Tue:04:00-Tue:04:30
```

### API를 사용하여 유지 관리 기간 설정 변경
<a name="CHAP_ReplicationInstanceAdjustingTheMaintenanceWindow.API"></a>

기본 유지 관리 기간을 조정하려면 다음 파라미터와 함께 AWS DMS API [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) 작업을 사용합니다.
+ `ReplicationInstanceIdentifier = myrepinstance`
+ `PreferredMaintenanceWindow = Tue:04:00-Tue:04:30`

**Example**  
다음은 유지 관리 기간을 화요일 오전 4:00\$14:30으로 설정하는 코드 예제입니다. UTC 기준입니다.  

```
 1. https://dms.us-west-2.amazonaws.com/
 2. ?Action=ModifyReplicationInstance
 3. &DBInstanceIdentifier=myrepinstance
 4. &PreferredMaintenanceWindow=Tue:04:00-Tue:04:30
 5. &SignatureMethod=HmacSHA256
 6. &SignatureVersion=4
 7. &Version=2014-09-01
 8. &X-Amz-Algorithm=AWS4-HMAC-SHA256
 9. &X-Amz-Credential=AKIADQKE4SARGYLE/20140425/us-east-1/dms/aws4_request
10. &X-Amz-Date=20140425T192732Z
11. &X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
12. &X-Amz-Signature=1dc9dd716f4855e9bdf188c70f1cf9f6251b070b68b81103b59ec70c3e7854b3
```