

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

# 고가용성을 위한 복제 그룹 사용
<a name="Replication"></a>

단일 노드 Amazon ElastiCache Valkey 또는 Redis OSS 클러스터는 제한된 데이터 보호 서비스(AOF)를 사용할 수 있는 인 메모리 개체입니다. 어떤 이유로든 클러스터에 장애가 발생하면 클러스터의 모든 데이터가 손실됩니다. 그러나 Valkey 또는 Redis OSS 엔진을 실행 중인 경우 2\$16개의 노드를 복제본이 있는 클러스터로 그룹화할 수 있습니다. 이 복제본에서는 1\$15개의 읽기 전용 노드에 해당 그룹의 단일 읽기/쓰기 프라이머리 노드에 대한 복제본 데이터가 포함됩니다. 이 시나리오에서는 어떤 이유로든 한 노드에 장애가 발생해도 데이터가 모두 손실되지는 않습니다. 왜냐하면 한 노드가 하나 이상의 다른 노드에 복제되어 있기 때문입니다. 복제 지연 시간으로 인해 기본 읽기/쓰기 노드가 실패할 경우 일부 데이터가 손실될 수 있습니다.

다음 그래픽에 나와 있는 대로 복제 구조는 Valkey 또는 Redis OSS 클러스터 내에 포함된 샤드(API/CLI에서는 *노드 그룹*이라고 함) 내에 포함되어 있습니다. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터는 항상 단일 샤드를 포함합니다. Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터는 클러스터의 데이터가 샤드에 분할된 최대 500개의 샤드를 포함할 수 있습니다. 하나의 클러스터당 최대 90개의 노드로 구성된 더 많은 수의 샤드와 더 적은 수의 복제본을 가진 클러스터를 생성할 수 있습니다. 이 클러스터 구성은 90개의 샤드 및 0개의 복제본부터 15개의 샤드 및 5개의 복제본까지 해당될 수 있으며, 이는 허용되는 최대 복제본 수입니다.

노드 또는 샤드 제한을 클러스터당 ElastiCache for Valkey의 경우 최대 500개까지, ElastiCache 엔진 버전 5.0.6 또는 Redis OSS의 경우 그 이상을 사용하여 늘릴 수 있습니다. 예를 들어 83개 샤드(샤드당 기본 1개와 복제본 5개)에서 500개 샤드(기본 1개와 복제본 없음) 범위의 500개 노드 클러스터를 구성하도록 선택할 수 있습니다. 증가를 수용할 수 있는 IP 주소가 충분한지 확인해야 합니다. 서브넷 그룹에 있는 서브넷의 CIDR 범위가 너무 작거나 서브넷을 샤드로 분할하여 다른 클러스터에서 과도하게 사용되는 것과 같은 일반적인 함정에 유의합니다. 자세한 내용은 [서브넷 그룹 생성](SubnetGroups.Creating.md) 섹션을 참조하세요.

 5.0.6 이하의 버전에서 한도는 클러스터당 250개입니다.

한도 증가를 요청하려면 [AWS 서비스 한도](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)를 참조하고 한도 유형을 **인스턴스 유형별 클러스터당 노드**로 선택하세요.

![\[이미지: Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에는 샤드 1개와 복제본 노드 0~5개가 포함\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-Redis-Replicas.png)


*Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에는 샤드 1개와 복제본 노드 0\$15개가 포함*

복제본이 있는 클러스터에 다중 AZ가 활성화되어 있고 프라이머리 노드에 장애가 발생하면 프라이머리 노드가 읽기 전용 복제본으로 장애 조치됩니다. 복제본 노드의 데이터가 비동기적으로 업데이트되기 때문에 복제본 노드를 업데이트할 때 지연 시간으로 인해 일부 데이터가 손실될 수 있습니다. 자세한 내용은 [Valkey 또는 Redis OSS 실행 시 장애 완화](disaster-recovery-resiliency.md#FaultTolerance.Redis) 섹션을 참조하세요.

**Topics**
+ [Valkey 및 Redis OSS 복제 이해](Replication.Redis.Groups.md)
+ [복제: Valkey 및 Redis OSS 클러스터 모드 비활성화됨과 활성화됨](Replication.Redis-RedisCluster.md)
+ [Valkey 및 Redis OSS와 함께 다중 AZ를 사용하여 ElastiCache의 가동 중지 시간 최소화](AutoFailover.md)
+ [동기화 및 백업 구현 방법](Replication.Redis.Versions.md)
+ [Valkey 또는 Redis OSS 복제 그룹 생성](Replication.CreatingRepGroup.md)
+ [복제 그룹의 세부 정보 보기](Replication.ViewDetails.md)
+ [복제 그룹 엔드포인트 찾기](Replication.Endpoints.md)
+ [복제 그룹 수정](Replication.Modify.md)
+ [복제 그룹 삭제](Replication.DeletingRepGroup.md)
+ [복제본 수 변경](increase-decrease-replica-count.md)
+ [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에 대해 읽기 전용 복제본을 기본으로 승격](Replication.PromoteReplica.md)

# Valkey 및 Redis OSS 복제 이해
<a name="Replication.Redis.Groups"></a>

Redis OSS는 다음과 같은 2가지 방법으로 복제를 구현합니다.
+ 각 노드에 클러스터의 모든 데이터를 포함하고 있는 샤드 1개가 있음 - Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)
+ 데이터가 최대 500개 샤드로 분할되어 있음 - Valkey 또는 Redis OSS(클러스터 모드 활성화됨)

복제 그룹의 각 샤드에는 읽기/쓰기 기본 노드 하나와 최대 5개의 읽기 전용 복제본 노드가 있습니다. 하나의 클러스터당 최대 90개의 노드로 구성된 더 많은 수의 샤드와 더 적은 수의 복제본을 가진 클러스터를 생성할 수 있습니다. 이 클러스터 구성은 90개의 샤드 및 0개의 복제본부터 15개의 샤드 및 5개의 복제본까지 해당될 수 있으며, 이는 허용되는 최대 복제본 수입니다.

Redis OSS 엔진 버전이 5.0.6 이상인 경우 노드 또는 샤드 한도를 클러스터당 최대 500까지 늘릴 수 있습니다. 예를 들어 83개 샤드(샤드당 기본 1개와 복제본 5개)에서 500개 샤드(기본 1개와 복제본 없음) 범위의 500개 노드 클러스터를 구성하도록 선택할 수 있습니다. 증가를 수용할 수 있는 IP 주소가 충분한지 확인해야 합니다. 서브넷 그룹에 있는 서브넷의 CIDR 범위가 너무 작거나 서브넷을 샤드로 분할하여 다른 클러스터에서 과도하게 사용되는 것과 같은 일반적인 함정에 유의합니다. 자세한 내용은 [서브넷 그룹 생성](SubnetGroups.Creating.md) 섹션을 참조하세요.

 5.0.6 이하의 버전에서 한도는 클러스터당 250개입니다.

한도 증가를 요청하려면 [AWS 서비스 한도](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)를 참조하고 한도 유형을 **인스턴스 유형별 클러스터당 노드**로 선택하세요.

**Topics**
+ [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)](#Replication.Redis.Groups.Classic)
+ [Valkey 또는 Redis OSS(클러스터 모드 활성화됨)](#Replication.Redis.Groups.Cluster)

## Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)
<a name="Replication.Redis.Groups.Classic"></a>

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에는 단일 샤드가 있으며 이 샤드 내에는 노드 모음이 있습니다. 이 모음은 하나의 기본 읽기/쓰기 노드와 최대 5개의 보조 읽기 전용 복제본 노드로 구성됩니다. 각 읽기 전용 복제본은 클러스터의 기본 노드에서 가져온 데이터 사본을 유지합니다. 비동기식 복제 메커니즘은 읽기 전용 복제본이 기본 노드와 동기화되어 있는 상태를 유지하는 데 사용됩니다. 애플리케이션은 클러스터의 모든 노드로부터 읽을 수 있습니다. 애플리케이션은 기본 노드에만 쓸 수 있습니다. 읽기 전용 복제본은 읽기 처리량을 높이고 노드에 장애가 발생할 경우 데이터 손실을 방지합니다.

![\[이미지: 단일 샤드 및 복제본 노드가 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-Redis-Replicas.png)


*단일 샤드 및 복제본 노드가 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터*

복제본 노드가 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터를 사용하여 솔루션을 ElastiCache에 맞게 조정하여 읽기 집약적인 애플리케이션을 처리하거나 동일한 클러스터에서 동시에 읽는 많은 수의 클라이언트를 지원할 수 있습니다.

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터의 모든 노드는 같은 리전에 있어야 합니다.

읽기 전용 복제본을 클러스터에 추가하면 기본 노드에 있는 모든 데이터가 새 노드로 복사됩니다. 이 시점부터 기본 노드에 데이터를 쓸 때마다 변경 사항이 모든 읽기 전용 복제본에 비동기식으로 전파됩니다.

내결함성을 개선하고 기록 가동 중지 시간을 단축하려면 복제본이 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에 대해 자동 장애 조치가 포함된 다중 AZ를 활성화합니다. 자세한 내용은 [Valkey 및 Redis OSS와 함께 다중 AZ를 사용하여 ElastiCache의 가동 중지 시간 최소화](AutoFailover.md) 섹션을 참조하세요.

기본 노드의 역할과 복제본 중 하나의 역할을 서로 교환함으로써 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터 내 노드의 역할을 변경할 수 있습니다. 성능 튜닝을 위해 이런 방식을 선택할 수 있습니다. 예를 들어, 쓰기 작업이 많은 웹 애플리케이션의 경우 네트워크 지연 시간이 가장 짧은 노드를 선택할 수 있습니다. 자세한 내용은 [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에 대해 읽기 전용 복제본을 기본으로 승격](Replication.PromoteReplica.md) 섹션을 참조하세요.

## Valkey 또는 Redis OSS(클러스터 모드 활성화됨)
<a name="Replication.Redis.Groups.Cluster"></a>

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터는 1\$1500개의 샤드(API/CLI: 노드 그룹)로 구성됩니다. 각 샤드에는 읽기/쓰기 기본 노드 및 최대 5개의 읽기 전용 복제본 노드가 있습니다. 이 구성은 90개의 샤드 및 0개의 복제본부터 15개의 샤드 및 5개의 복제본까지 해당될 수 있으며, 이는 허용되는 최대 복제본 수입니다.

엔진 버전이 Valkey 7.2 이상 또는 Redis OSS 5.0.6 이상인 경우 노드 또는 샤드 제한을 클러스터당 최대 500개까지 늘릴 수 있습니다. 예를 들어 83개 샤드(샤드당 기본 1개와 복제본 5개)에서 500개 샤드(기본 1개와 복제본 없음) 범위의 500개 노드 클러스터를 구성하도록 선택할 수 있습니다. 증가를 수용할 수 있는 IP 주소가 충분한지 확인해야 합니다. 서브넷 그룹에 있는 서브넷의 CIDR 범위가 너무 작거나 서브넷을 샤드로 분할하여 다른 클러스터에서 과도하게 사용되는 것과 같은 일반적인 함정에 유의합니다. 자세한 내용은 [서브넷 그룹 생성](SubnetGroups.Creating.md) 섹션을 참조하세요.

 5.0.6 이하의 버전에서 한도는 클러스터당 250개입니다.

한도 증가를 요청하려면 [AWS 서비스 한도](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)를 참조하고 한도 유형을 **인스턴스 유형별 클러스터당 노드**로 선택하세요.

 샤드의 각 읽기 전용 복제본은 샤드의 기본 노드에서 가져온 데이터 사본을 유지합니다. 비동기식 복제 메커니즘은 읽기 전용 복제본이 기본 노드와 동기화되어 있는 상태를 유지하는 데 사용됩니다. 애플리케이션은 클러스터의 모든 노드로부터 읽을 수 있습니다. 애플리케이션은 기본 노드에만 쓸 수 있습니다. 읽기 전용 복제본은 읽기 확장성을 개선하고 데이터 손실을 방지합니다. 데이터는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터의 샤드 간에 파티셔닝됩니다.

애플리케이션은 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터의 *구성 엔드포인트*를 사용하여 클러스터의 노드와 연결합니다. 자세한 내용은 [ElastiCache에서 연결 엔드포인트 찾기](Endpoints.md) 섹션을 참조하세요.

![\[이미지: 다중 샤드 및 복제본 노드가 있는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-RedisClusters.png)


*다중 샤드 및 복제본 노드가 있는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터*

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터의 모든 노드는 같은 리전에 있어야 합니다. 내결함성을 개선하기 위해 해당 리전 내의 여러 가용 영역에서 기본 노드와 읽기 전용 복제본을 모두 프로비저닝할 수 있습니다.

현재 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 기능에는 몇 가지 제한이 있습니다.
+ 복제본 노드는 수동으로 기본 노드로 승격할 수 없습니다.

# 복제: Valkey 및 Redis OSS 클러스터 모드 비활성화됨과 활성화됨
<a name="Replication.Redis-RedisCluster"></a>

Valkey 7.2 및 Redis OSS 버전 3.2부터는 서로 다른 두 클러스터(API/CLI의 경우 복제 그룹) 유형 중 하나를 생성할 수 있습니다. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에는 최대 5개의 읽기 전용 복제본 노드가 있는 단일 샤드(API/CLI의 경우 노드 그룹)가 항상 있습니다. Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터에는 각각 읽기 전용 복제본 노드가 1\$15개인 샤드가 최대 500개 있습니다.

![\[이미지: Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 및 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCache-NodeGroups.png)


*Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 및 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터*

다음 표에는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터와 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터의 중요한 차이점이 요약되어 있습니다.


**Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 및 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 비교**  

| Feature | Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) | Valkey 또는 Redis OSS(클러스터 모드 활성화됨) | 
| --- | --- | --- | 
| 수정 가능 | 예. 복제본 노드 추가/삭제 및 노드 유형 확장을 지원합니다. | 제한. 자세한 내용은 [ElastiCache용 버전 관리](VersionManagement.md) 및 [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 규모 조정](scaling-redis-cluster-mode-enabled.md) 섹션을 참조하세요. | 
| 데이터 파티셔닝 | 아니요 | 예 | 
| 샤드 | 1 | 1\$1500  | 
| 읽기 전용 복제본 | 0\$15 복제본이 없으며 노드에 장애가 발생하면 전체 데이터가 손실됩니다. | 샤드당 0\$15개.복제본이 없으며 노드에 장애가 발생하면 전체 데이터가 손실됩니다. | 
| Multi-AZ  | 예, 최소 1개의 복제본이 있어야 합니다.선택 사항입니다. 기본적으로 활성화되어 있습니다. | 예선택 사항입니다. 기본적으로 활성화되어 있습니다. | 
| 스냅샷(백업) | 예, 단일 .rdb 파일을 생성합니다. | 예, 각 샤드에 고유한 .rdb 파일을 생성합니다. | 
| 복원 | 예, Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에서 단일 .rdb 파일을 사용합니다. | 예, Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 또는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터에서 단일 .rdb 파일을 사용합니다. | 
| 지원되는 버전 | 모든 Valkey 및 Redis OSS 버전 | 모든 Valkey 버전 및 Redis OSS 3.2 이상 | 
| 엔진 업그레이드 가능 여부 | 예, 하지만 몇 가지 제약이 있습니다. 자세한 내용은 [ElastiCache용 버전 관리](VersionManagement.md) 섹션을 참조하세요. | 예, 하지만 몇 가지 제약이 있습니다. 자세한 내용은 [ElastiCache용 버전 관리](VersionManagement.md) 섹션을 참조하세요. | 
| 암호화 | 버전 3.2.6(EOL 예정, [Redis OSS 버전 수명 종료 일정](engine-versions.md#deprecated-engine-versions) 참조) 및 4.0.10 이상. | 버전 3.2.6(EOL 예정, [Redis OSS 버전 수명 종료 일정](engine-versions.md#deprecated-engine-versions) 참조) 및 4.0.10 이상. | 
| HIPAA 적격 | 버전 3.2.6(EOL 예정, [Redis OSS 버전 수명 종료 일정](engine-versions.md#deprecated-engine-versions) 참조) 및 4.0.10 이상. | 버전 3.2.6(EOL 예정, [Redis OSS 버전 수명 종료 일정](engine-versions.md#deprecated-engine-versions) 참조) 및 4.0.10 이상. | 
| PCI DSS 준수 | 버전 3.2.6(EOL 예정, [Redis OSS 버전 수명 종료 일정](engine-versions.md#deprecated-engine-versions) 참조) 및 4.0.10 이상. | 버전 3.2.6(EOL 예정, [Redis OSS 버전 수명 종료 일정](engine-versions.md#deprecated-engine-versions) 참조) 및 4.0.10 이상. | 
| 온라인 리샤딩 | N/A | 버전 3.2.10(EOL 예정, [Redis OSS 버전 수명 종료 일정](engine-versions.md#deprecated-engine-versions) 참조) 이상. | 

## 어떤 클러스터를 선택해야 합니까?
<a name="Replication.Redis-RedisCluster.Choose"></a>

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 또는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 중에서 선택할 때는 다음 사항을 고려하세요.
+ **조정과 파티셔닝** - 비즈니스 요구는 변화합니다. 최고 수요가 발생할 때를 대비하거나 수요가 변화함에 따라 조정해야 합니다. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)는 규모 조정을 지원합니다. 복제본 노드를 추가하거나 삭제하여 읽기 용량을 조정하거나 더 큰 노드 유형까지 확장하여 용량을 조정할 수 있습니다. 이 두 작업은 모두 시간이 소요됩니다. 자세한 내용은 [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)에 대한 복제본 노드 규모 조정](Scaling.RedisReplGrps.md) 섹션을 참조하세요.

   

  Valkey 또는 Redis OSS(클러스터 모드 활성화됨)는 최대 500개의 노드 그룹으로 데이터 분할을 지원합니다. 비즈니스에 변경이 필요할 때마다 샤드 수를 동적으로 변경할 수 있습니다. 파티셔닝의 이점 중 하나는 로드를 더 많은 엔드포인트로 분산시켜 최고 수요가 발생할 때 액세스 병목 현상을 줄이는 것입니다. 또한 데이터가 여러 서버에 분산될 수 있으므로 더 큰 데이터 세트를 수용할 수 있습니다. 파티션 규모 조정에 대한 자세한 내용은 [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 규모 조정](scaling-redis-cluster-mode-enabled.md) 섹션을 참조하세요.

   
+ **노드 크기와 노드 수** - Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에는 샤드가 하나만 있기 때문에 노드 유형이 클러스터의 모든 데이터와 필요한 오버헤드를 수용할 수 있을 만큼 충분히 커야 합니다. 반면 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터를 사용하면 데이터를 여러 샤드에 파티셔닝할 수 있기 때문에 데이터가 더 필요해도 노드 유형이 더 작을 수 있습니다. 자세한 내용은 [노드 크기 선택](CacheNodes.SelectSize.md) 섹션을 참조하세요.

   
+ **읽기와 쓰기** - 클러스터의 기본 로드가 데이터를 읽는 애플리케이션인 경우 읽기 전용 복제본을 추가하고 삭제하여 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터를 조정할 수 있습니다. 그러나 5개 읽기 전용 복제본의 최대치가 있습니다. 클러스터의 로드가 주로 쓰기 작업인 경우 여러 샤드가 있는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터의 추가 쓰기 엔드포인트가 유용할 수 있습니다.

어떤 유형의 클러스터를 구현하도록 선택하든 현재와 미래의 요구에 적합한 노드 유형을 선택해야 합니다.

# Valkey 및 Redis OSS와 함께 다중 AZ를 사용하여 ElastiCache의 가동 중지 시간 최소화
<a name="AutoFailover"></a>

ElastiCache for Valkey 및 Redis OSS가 프라이머리 노드를 대체해야 하는 여러 가지 경우가 있습니다. 이러한 경우에는 특정 유형의 계획적인 유지 관리 및 드물지만 프라이머리 노드나 가용 영역에 장애가 발생하는 경우가 포함됩니다.

이러한 교체로 인해 클러스터에 약간의 가동 중지가 발생하지만 다중 AZ를 활성화한 경우 가동 중지 시간이 최소화됩니다. 프라이머리 노드의 역할은 자동으로 읽기 전용 복제본 중 하나로 장애 조치됩니다. ElastiCache가 이 장애 조치를 투명하게 처리하기 때문에 새로운 프라이머리 노드를 생성하고 프로비저닝할 필요가 없습니다. 이 장애 조치 및 복제본 승격을 통해 승격이 완료되는 즉시 새 프라이머리 노드에 작성을 재개할 수 있습니다.

또한 ElastiCache는 승격된 복제본의 DNS(Domain Name Service) 이름을 전파합니다. 이렇게 하면 애플리케이션이 기본 엔드포인트에 쓰는 경우 애플리케이션에서 엔드포인트를 변경할 필요가 없기 때문입니다. 개별 엔드포인트를 읽을 경우 기본으로 승격된 복제본의 읽기 엔드포인트를 새 복제본의 엔드포인트로 변경해야 합니다.

계획된 노드 교체의 경우, 유지 관리 업데이트 또는 셀프 서비스 업데이트로 인해 시작되었으며 다음 사항에 유의하세요.
+ Valkey 및 Redis OSS 클러스터의 경우, 클러스터에서 들어오는 쓰기 요청을 처리하는 중에 계획된 노드 교체가 완료됩니다.
+ 다중 AZ가 활성화되어 5.0.6 이상 엔진에서 실행 중인 Valkey 및 Redis OSS 클러스터 모드 비활성화 클러스터의 경우, 클러스터에서 들어오는 쓰기 요청을 처리하는 중에 계획된 노드 교체가 완료됩니다.
+ 다중 AZ가 활성화되어 4.0.10 이하 엔진에서 실행 중인 Valkey 및 Redis OSS 클러스터 모드 비활성화 클러스터의 경우, DNS 업데이트와 관련하여 짧은 쓰기 중단이 발생할 수 있습니다. 이 중단은 최대 몇 초가 걸릴 수 있습니다. 이 프로세스는 다중 AZ를 활성화하지 않은 경우 발생하는, 새 프라이머리 노드를 다시 생성하고 프로비저닝하는 것보다 훨씬 빠릅니다.

ElastiCache 관리 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 다중 AZ를 활성화할 수 있습니다.

Valkey 또는 Redis OSS 클러스터(API 및 CLI의 복제 그룹)의 ElastiCache 다중 AZ를 활성화하면 내결함성이 개선됩니다. 특히 클러스터의 읽기/쓰기 기본 클러스터 노드에 접속할 수 없거나 어떤 이유로든 실패하는 경우에 특히 그렇습니다. 다중 AZ는 각 샤드에 둘 이상의 노드가 있는 Valkey 및 Redis OSS 클러스터에서만 지원됩니다.

**Topics**
+ [다중 AZ 활성화](#AutoFailover.Enable)
+ [다중 AZ 응답이 있는 장애 시나리오](#AutoFailover.Scenarios)
+ [자동 장애 조치 테스트](#auto-failover-test)
+ [다중 AZ에 대한 제한 사항](#AutoFailover.Limitations)

## 다중 AZ 활성화
<a name="AutoFailover.Enable"></a>

ElastiCache 콘솔, AWS CLI CLI 또는 ElastiCache API를 사용하여 클러스터(API 또는 CLI, 복제 그룹)를 생성하거나 수정하면 다중 AZ를 활성화할 수 있습니다.

사용 가능한 읽기 전용 복제본이 하나 이상 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에서만 다중 AZ를 활성화할 수 있습니다. 읽기 전용 복제본이 없는 클러스터는 고가용성 또는 내결함성을 제공하지 않습니다. 복제하여 클러스터를 생성에 대한 정보는 [Valkey 또는 Redis OSS 복제 그룹 생성](Replication.CreatingRepGroup.md)을 참조하세요. 복제하여 있는 클러스터에 읽기 전용 복제본 추가에 대한 정보는 [Valkey 또는 Redis OSS에 대한 읽기 전용 복제본 추가(클러스터 모드 비활성화됨)](Replication.AddReadReplica.md)를 참조하세요.

**Topics**
+ [다중 AZ 활성화(콘솔)](#AutoFailover.Enable.Console)
+ [다중 AZ 활성화(AWS CLI)](#AutoFailover.Enable.CLI)
+ [다중 AZ 활성화(ElastiCache API)](#AutoFailover.Enable.API)

### 다중 AZ 활성화(콘솔)
<a name="AutoFailover.Enable.Console"></a>

새 Valkey 또는 Redis OSS 클러스터를 생성하거나 기존 클러스터를 복제하여 수정할 때 ElastiCache 콘솔을 사용하여 다중 AZ를 활성화할 수 있습니다.

다중 AZ는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터에서 기본적으로 활성화되어 있습니다.

**중요**  
ElastiCache는 클러스터에 모든 샤드의 프라이머리 노드에서 다른 가용 영역에 있는 복제본이 하나 이상 포함된 경우에만 다중 AZ를 자동으로 활성화합니다.

#### ElastiCache 콘솔을 사용하여 클러스터를 생성할 때 다중 AZ 활성화
<a name="AutoFailover.Enable.Console.NewCacheCluster"></a>

이 프로세스에 대한 자세한 내용은 [Valkey(클러스터 모드 비활성화됨) 클러스터 생성(콘솔)](SubnetGroups.designing-cluster-pre.valkey.md#Clusters.Create.CON.valkey-gs)을 참조하세요. 복제본이 하나 이상 있어야 하고 다중 AZ를 활성화해야 합니다.

#### 기존 클러스터에서 다중 AZ 활성화(콘솔)
<a name="AutoFailover.Enable.Console.ReplGrp"></a>

이 프로세스에 대한 자세한 내용은 클러스터 수정 [ElastiCache AWS Management Console 사용](Clusters.Modify.md#Clusters.Modify.CON)섹션을 참조하세요.

### 다중 AZ 활성화(AWS CLI)
<a name="AutoFailover.Enable.CLI"></a>

다음 코드 예제에서는 AWS CLI를 사용하여 복제 그룹 `redis12`에 대해 다중 AZ를 활성화합니다.

**중요**  
복제 그룹 `redis12`가 이미 존재해야 하며 사용할 수 있는 읽기 전용 복제본이 하나 이상 있어야 합니다.

Linux, macOS, Unix의 경우:

```
aws elasticache modify-replication-group \
    --replication-group-id redis12 \
    --automatic-failover-enabled \
    --multi-az-enabled \
    --apply-immediately
```

Windows의 경우:

```
aws elasticache modify-replication-group ^
    --replication-group-id redis12 ^
    --automatic-failover-enabled ^
    --multi-az-enabled ^
    --apply-immediately
```

이 명령의 JSON 출력은 다음과 같습니다.

```
{
    "ReplicationGroup": {
        "Status": "modifying", 
        "Description": "One shard, two nodes", 
        "NodeGroups": [
            {
                "Status": "modifying", 
                "NodeGroupMembers": [
                    {
                        "CurrentRole": "primary", 
                        "PreferredAvailabilityZone": "us-west-2b", 
                        "CacheNodeId": "0001", 
                        "ReadEndpoint": {
                            "Port": 6379, 
                            "Address": "redis12-001.v5r9dc.0001.usw2.cache.amazonaws.com"
                        }, 
                        "CacheClusterId": "redis12-001"
                    }, 
                    {
                        "CurrentRole": "replica", 
                        "PreferredAvailabilityZone": "us-west-2a", 
                        "CacheNodeId": "0001", 
                        "ReadEndpoint": {
                            "Port": 6379, 
                            "Address": "redis12-002.v5r9dc.0001.usw2.cache.amazonaws.com"
                        }, 
                        "CacheClusterId": "redis12-002"
                    }
                ], 
                "NodeGroupId": "0001", 
                "PrimaryEndpoint": {
                    "Port": 6379, 
                    "Address": "redis12.v5r9dc.ng.0001.usw2.cache.amazonaws.com"
                }
            }
        ], 
        "ReplicationGroupId": "redis12", 
        "SnapshotRetentionLimit": 1, 
        "AutomaticFailover": "enabling", 
        "MultiAZ": "enabled", 
        "SnapshotWindow": "07:00-08:00", 
        "SnapshottingClusterId": "redis12-002", 
        "MemberClusters": [
            "redis12-001", 
            "redis12-002"
        ], 
        "PendingModifiedValues": {}
    }
}
```

자세한 내용은 *AWS CLI 명령 참조*의 다음 항목을 참조하세요.
+ [create-cache-cluster](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-cache-cluster.html)
+ [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)
+ *AWS CLI 명령 참조*의 [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)

### 다중 AZ 활성화(ElastiCache API)
<a name="AutoFailover.Enable.API"></a>

다음 코드 예제에서는 ElastiCache API를 사용하여 복제 그룹 `redis12`에 대해 다중 AZ를 활성화합니다.

**참고**  
이 예제를 사용하려면 복제 그룹 `redis12`가 이미 존재해야 하며 사용할 수 있는 읽기 전용 복제본이 하나 이상 있어야 합니다.

```
https://elasticache.us-west-2.amazonaws.com/
    ?Action=ModifyReplicationGroup
    &ApplyImmediately=true
    &AutoFailover=true
    &MultiAZEnabled=true
    &ReplicationGroupId=redis12
    &Version=2015-02-02
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20140401T192317Z
    &X-Amz-Credential=<credential>
```

자세한 내용은*ElastiCache API 참조*에서 다음 주제들을 참조하세요.
+ [CreateCacheCluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheCluster.html):
+ [CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html):
+ [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)

## 다중 AZ 응답이 있는 장애 시나리오
<a name="AutoFailover.Scenarios"></a>

다중 AZ를 도입하기 전에 ElastiCache는 장애가 발생한 노드를 재생성하고 재프로비저닝하여 클러스터의 장애가 발생한 노드를 탐지해 교체했습니다. 다중 AZ를 활성화하면 장애가 발생한 프라이머리 노드가 복제 지연이 가장 짧은 복제본으로 장애 조치됩니다. 선택한 복제본이 자동으로 승격되기 때문에 새 프라이머리 노드를 생성하고 프로비저닝하는 것보다 훨씬 빠릅니다. 이 프로세스는 보통 클러스터에 다시 작성하려면 몇 초 정도 소요됩니다.

다중 AZ가 활성화된 경우 ElastiCache가 프라이머리 노드의 상태를 지속적으로 모니터링합니다. 프라이머리 노드에 장애가 발생하면 장애 유형에 따라 다음 작업 중 하나가 수행됩니다.

**Topics**
+ [프라이머리 노드에만 장애가 발생한 경우의 장애 시나리오](#AutoFailover.Scenarios.PrimaryOnly)
+ [프라이머리 노드 및 일부 읽기 전용 복제본에 장애가 발생한 경우의 장애 시나리오](#AutoFailover.Scenarios.PrimaryAndReplicas)
+ [전체 클러스터에 장애가 발생한 경우의 장애 시나리오](#AutoFailover.Scenarios.AllFail)

### 프라이머리 노드에만 장애가 발생한 경우의 장애 시나리오
<a name="AutoFailover.Scenarios.PrimaryOnly"></a>

프라이머리 노드에 장애가 발생하면 복제 지연 시간이 가장 짧은 읽기 전용 복제본을 프라이머리 노드로 승격시킵니다. 그러면 대체 읽기 전용 복제본이 생성되어 장애가 발생한 프라이머리 노드와 동일한 가용 영역에 프로비저닝됩니다.

프라이머리 노드에만 장애가 발생한 경우 ElastiCache 다중 AZ는 다음 작업을 수행합니다.

1. 장애가 발생한 프라이머리 노드는 오프라인 상태로 전환됩니다.

1. 복제 지연 시간이 가장 짧은 읽기 전용 복제본을 기본으로 승격시킵니다.

   승격 프로세스가 완료되는 즉시 쓰기를 재개할 수 있으며 일반적으로 몇 초 정도 소요됩니다. 애플리케이션이 기본 엔드포인트에 쓰는 경우 쓰기 또는 읽기에 대한 엔드포인트를 변경할 필요가 없습니다. ElastiCache가 승격된 복제본의 DNS 이름을 전파합니다.

1. 대체 읽기 전용 복제본을 시작하고 프로비저닝합니다.

   장애가 발생한 프라이머리 노드가 있는 가용 영역에서 대체 읽기 전용 복제본을 시작하여 노드 배포를 유지합니다.

1. 복제본이 새 프라이머리 노드와 동기화됩니다.

새 복제본을 사용할 수 있게 되면 다음 효과에 유의하세요.
+ **기본 엔드포인트** - 새 프라이머리 노드의 DNS 이름이 기본 엔드포인트로 전파되므로 애플리케이션을 변경할 필요가 없습니다.
+ **읽기 엔드포인트** - 리더 엔드포인트는 새 복제본 노드를 가리키도록 자동으로 업데이트됩니다.

클러스터의 엔드포인트를 찾는 방법에 대한 정보는 다음 항목을 참조하세요.
+ [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터의 엔드포인트 찾기(콘솔)](Endpoints.md#Endpoints.Find.Redis)
+ [Valkey 또는 Redis OSS 복제 그룹의 엔드포인트 찾기(AWS CLI)](Endpoints.md#Endpoints.Find.CLI.ReplGroups)
+ [Valkey 또는 Redis OSS 복제 그룹의 엔드포인트 찾기(ElastiCache API)](Endpoints.md#Endpoints.Find.API.ReplGroups)

 

### 프라이머리 노드 및 일부 읽기 전용 복제본에 장애가 발생한 경우의 장애 시나리오
<a name="AutoFailover.Scenarios.PrimaryAndReplicas"></a>

기본 복제본 및 하나 이상의 복제본에 장애가 발생하면 지연 시간이 가장 짧은 사용 가능한 복제본이 기본 클러스터로 승격됩니다. 또한 기본으로 승격된 복제본 및 장애가 발생한 노드로 새로운 읽기 전용 복제본이 동일 가용 영역에 생성되고 프로비저닝됩니다.

프라이머리 노드와 일부 읽기 전용 복제본에 장애가 발생한 경우 ElastiCache 다중 AZ는 다음 작업을 수행합니다.

1. 장애가 발생한 프라이머리 노드 및 읽기 전용 복제본이 오프라인 상태로 전환됩니다.

1. 복제 지연 시간이 가장 짧은 사용 가능한 복제본을 프라이머리 노드로 승격시킵니다.

   승격 프로세스가 완료되는 즉시 쓰기를 재개할 수 있으며 일반적으로 몇 초 정도 소요됩니다. 애플리케이션이 기본 엔드포인트에 쓰는 경우 쓰기에 대한 엔드포인트를 변경할 필요가 없습니다. ElastiCache가 승격된 복제본의 DNS 이름을 전파합니다.

1. 교체용 복제본을 생성하고 프로비저닝합니다.

   장애가 발생한 노드의 가용 영역에서 교체용 복제본을 생성하여 노드 배포를 유지합니다.

1. 모든 클러스터가 새 프라이머리 노드와 동기화됩니다.

새 노드를 사용할 수 있게 되면 애플리케이션을 다음과 같이 변경합니다.
+ **기본 엔드포인트** - 애플리케이션을 변경하지 마십시오. 새 프라이머리 노드의 DNS 이름이 기본 엔드포인트로 전파됩니다.
+ **읽기 엔드포인트** - 읽기 엔드포인트는 새 복제본 노드를 가리키도록 자동으로 업데이트됩니다.

복제 그룹의 엔드포인트를 찾는 방법에 대한 정보는 다음 항목을 참조하세요.
+ [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터의 엔드포인트 찾기(콘솔)](Endpoints.md#Endpoints.Find.Redis)
+ [Valkey 또는 Redis OSS 복제 그룹의 엔드포인트 찾기(AWS CLI)](Endpoints.md#Endpoints.Find.CLI.ReplGroups)
+ [Valkey 또는 Redis OSS 복제 그룹의 엔드포인트 찾기(ElastiCache API)](Endpoints.md#Endpoints.Find.API.ReplGroups)

 

### 전체 클러스터에 장애가 발생한 경우의 장애 시나리오
<a name="AutoFailover.Scenarios.AllFail"></a>

모든 것에 장애가 발생하면 모든 노드를 동일한 가용 영역에 원본 노드로 재생성하고 프로비저닝합니다.

이 시나리오에서는 클러스터의 모든 노드에 장애가 발생하여 클러스터의 모든 데이터가 손실됩니다. 이는 거의 발생하지 않습니다.

전체 클러스터에 장애가 발생한 경우 ElastiCache 다중 AZ는 다음 작업을 수행합니다.

1. 장애가 발생한 프라이머리 노드 및 읽기 전용 복제본이 오프라인 상태로 전환됩니다.

1. 대체 프라이머리 노드를 생성하고 프로비저닝합니다.

1. 교체용 복제본을 생성하고 프로비저닝합니다.

   장애가 발생한 노드의 가용 영역에서 대체를 생성하여 노드 배포를 유지합니다.

   전체 클러스터에 장애가 발생했으므로 데이터가 손실되고 모든 새 노드가 콜드를 시작합니다.

각각의 교체 노드에는 교체하는 노드와 동일한 엔드포인트가 있기 때문에 애플리케이션에서 엔드포인트를 변경할 필요가 없습니다.

복제 그룹의 엔드포인트를 찾는 방법에 대한 정보는 다음 항목을 참조하세요.
+ [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터의 엔드포인트 찾기(콘솔)](Endpoints.md#Endpoints.Find.Redis)
+ [Valkey 또는 Redis OSS 복제 그룹의 엔드포인트 찾기(AWS CLI)](Endpoints.md#Endpoints.Find.CLI.ReplGroups)
+ [Valkey 또는 Redis OSS 복제 그룹의 엔드포인트 찾기(ElastiCache API)](Endpoints.md#Endpoints.Find.API.ReplGroups)

내결함성 수준을 높이려면 다른 가용 영역에 프라이머리 노드 및 읽기 전용 복제본을 생성하는 것이 좋습니다.

## 자동 장애 조치 테스트
<a name="auto-failover-test"></a>

자동 장애 조치를 활성화한 후에는 ElastiCache 콘솔, AWS CLI 및 ElastiCache API를 사용하여 이를 테스트할 수 있습니다.

테스트 시 다음 사항에 유의하세요.
+ 이 작업을 통해 24시간 동안 최대 15개의 샤드(ElastiCache API 및 AWS CLI의 경우 노드 그룹)에서 자동 장애 조치를 테스트할 수 있습니다.
+ 다른 클러스터(API 및 CLI의 복제 그룹이라고 함)에 있는 샤드에서 이 작업을 동시에 호출할 수 있습니다.
+ 경우에 따라 동일한 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹의 서로 다른 샤드에서 이 작업을 여러 번 호출할 수 있습니다. 이러한 경우 후속 호출이 이루어지기 전에 첫 번째 노드 교체가 완료되어야 합니다.
+ 노드 교체가 완료되었는지 확인하려면 Amazon ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 이벤트를 점검합니다. 발생 순서대로 나열되어 있는 아래 목록에서 다음과 같은 자동 장애 조치 관련 이벤트를 찾습니다.

  1. 복제 그룹 메시지: `Test Failover API called for node group <node-group-id>`

  1. 캐시 클러스터 메시지: `Failover from primary node <primary-node-id> to replica node <node-id> completed`

  1. 복제 그룹 메시지: `Failover from primary node <primary-node-id> to replica node <node-id> completed`

  1. 캐시 클러스터 메시지: `Recovering cache nodes <node-id>`

  1. 캐시 클러스터 메시지: `Finished recovery for cache nodes <node-id>`

  자세한 내용은 다음 자료를 참조하세요.
  + *ElastiCache 사용 설명서*의 [ElastiCache 이벤트 보기](ECEvents.Viewing.md)
  + *ElastiCache API 참조*의 [DescribeEvents](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html)
  + *AWS CLI 명령 참조*의 [describe-events](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-events.html)
+ 이 API는 ElastiCache 장애 조치의 경우 애플리케이션의 동작을 테스트하도록 설계되었습니다. 클러스터 문제를 해결하기 위해 장애 조치를 시작하는 운영 도구로 설계되지 않았습니다. 또한 대규모 운영 이벤트와 같은 특정 조건에서는 AWS가 이 API를 차단할 수 있습니다.

**Topics**
+ [AWS Management Console을 사용하여 자동 장애 조치 테스트](#auto-failover-test-con)
+ [AWS CLI를 사용하여 자동 장애 조치 테스트](#auto-failover-test-cli)
+ [ElastiCache API를 사용하여 자동 장애 조치 테스트](#auto-failover-test-api)

### AWS Management Console을 사용하여 자동 장애 조치 테스트
<a name="auto-failover-test-con"></a>

다음 절차에 따라 콘솔로 자동 장애 조치를 테스트합니다.

**자동 장애 조치를 테스트하려면**

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

1. 탐색 창에서 **Valkey** 또는 **Redis OSS**를 선택합니다.

1. 클러스터 목록에서 테스트할 클러스터 왼쪽에 있는 확인란을 선택합니다. 이 클러스터에는 읽기 전용 복제본 노드가 하나 이상 있어야 합니다.

1. [**Details**] 영역에서 이 클러스터가 다중 AZ 활성 상태인지 확인합니다. 해당 클러스터가 다중 AZ 활성 상태가 아닌 경우 다른 클러스터를 선택하거나 다중 AZ를 활성화하도록 이 클러스터를 수정합니다. 자세한 내용은 [ElastiCache AWS Management Console 사용](Clusters.Modify.md#Clusters.Modify.CON) 섹션을 참조하세요.  
![\[이미지: 다중 AZ가 활성화된 클러스터의 세부 정보 영역\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCache-AutoFailover-MultiAZ-Enabled.png)

1. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)의 경우 클러스터 이름을 선택합니다.

   Valkey 또는 Redis OSS(클러스터 모드 활성화됨)의 경우 다음을 수행합니다.

   1. 클러스터의 이름을 선택합니다.

   1. [**Shards**] 페이지에서 장애 조치를 테스트할 샤드(API 및 CLI의 노드 그룹이라고 함)에 대해 샤드 이름을 선택합니다.

1. 노드 페이지에서 [**Failover Primary**]를 선택합니다.

1. 프라이머리 노드를 장애 조치하려면 [**Continue**]를 선택하고 작업을 취소하여 프라이머리 노드를 장애 조치하지 않으려면 [**Cancel**]을 선택합니다.

   장애 조치 프로세스 중에 콘솔은 노드 상태를 계속해서 *사용 가능*으로 표시합니다. 장애 조치 테스트 진행률을 추적하려면 콘솔 탐색 창에서 [**Events**]를 선택합니다. [**Events**] 탭에서 장애 조치의 시작(`Test Failover API called`) 및 완료(`Recovery completed`)를 나타내는 이벤트를 주시합니다.

 

### AWS CLI를 사용하여 자동 장애 조치 테스트
<a name="auto-failover-test-cli"></a>

AWS CLI 작업 `test-failover`를 사용하여 모든 다중 AZ가 활성화된 클러스터에서 자동 장애 조치를 테스트할 수 있습니다.

**파라미터**
+ `--replication-group-id` - 필수입니다. 테스트할 복제 그룹(콘솔, 클러스터)입니다.
+ `--node-group-id` - 필수입니다. 자동 장애 조치를 테스트할 노드 그룹의 이름입니다. 24시간 동안 최대 15개의 노드 그룹을 테스트할 수 있습니다.

다음 예제에서는 AWS CLI를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 `redis00`의 노드 그룹 `redis00-0003`에 대한 자동 장애 조치를 테스트합니다.

**Example 자동 장애 조치 테스트**  
Linux, macOS, Unix의 경우:  

```
aws elasticache test-failover \
   --replication-group-id redis00 \
   --node-group-id redis00-0003
```
Windows의 경우:  

```
aws elasticache test-failover ^
   --replication-group-id redis00 ^
   --node-group-id redis00-0003
```

이전 명령의 출력은 다음과 같습니다.

```
{
    "ReplicationGroup": {
        "Status": "available", 
        "Description": "1 shard, 3 nodes (1 + 2 replicas)", 
        "NodeGroups": [
            {
                "Status": "available", 
                "NodeGroupMembers": [
                    {
                        "CurrentRole": "primary", 
                        "PreferredAvailabilityZone": "us-west-2c", 
                        "CacheNodeId": "0001", 
                        "ReadEndpoint": {
                            "Port": 6379, 
                            "Address": "redis1x3-001.7ekv3t.0001.usw2.cache.amazonaws.com"
                        }, 
                        "CacheClusterId": "redis1x3-001"
                    }, 
                    {
                        "CurrentRole": "replica", 
                        "PreferredAvailabilityZone": "us-west-2a", 
                        "CacheNodeId": "0001", 
                        "ReadEndpoint": {
                            "Port": 6379, 
                            "Address": "redis1x3-002.7ekv3t.0001.usw2.cache.amazonaws.com"
                        }, 
                        "CacheClusterId": "redis1x3-002"
                    }, 
                    {
                        "CurrentRole": "replica", 
                        "PreferredAvailabilityZone": "us-west-2b", 
                        "CacheNodeId": "0001", 
                        "ReadEndpoint": {
                            "Port": 6379, 
                            "Address": "redis1x3-003.7ekv3t.0001.usw2.cache.amazonaws.com"
                        }, 
                        "CacheClusterId": "redis1x3-003"
                    }
                ], 
                "NodeGroupId": "0001", 
                "PrimaryEndpoint": {
                    "Port": 6379, 
                    "Address": "redis1x3.7ekv3t.ng.0001.usw2.cache.amazonaws.com"
                }
            }
        ], 
        "ClusterEnabled": false, 
        "ReplicationGroupId": "redis1x3", 
        "SnapshotRetentionLimit": 1, 
        "AutomaticFailover": "enabled", 
        "MultiAZ": "enabled",
        "SnapshotWindow": "11:30-12:30", 
        "SnapshottingClusterId": "redis1x3-002", 
        "MemberClusters": [
            "redis1x3-001", 
            "redis1x3-002", 
            "redis1x3-003"
        ], 
        "CacheNodeType": "cache.m3.medium", 
        "DataTiering": "disabled",
        "PendingModifiedValues": {}
    }
}
```

장애 조치 진행률을 추적하려면 AWS CLI `describe-events` 작업을 사용하세요.

자세한 내용은 다음 자료를 참조하세요.
+ *AWS CLI 명령 참조*의 [test-failover](https://docs.aws.amazon.com/cli/latest/reference/elasticache/test-failover.html)
+ *AWS CLI 명령 참조*의 [describe-events](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-events.html)

 

### ElastiCache API를 사용하여 자동 장애 조치 테스트
<a name="auto-failover-test-api"></a>

ElastiCache API 작업 `TestFailover`를 사용하여 다중 AZ가 활성화된 모든 클러스터에서 자동 장애 조치를 테스트할 수 있습니다.

**파라미터**
+ `ReplicationGroupId` - 필수입니다. 테스트할 복제 그룹(콘솔, 클러스터)입니다.
+ `NodeGroupId` - 필수입니다. 자동 장애 조치를 테스트할 노드 그룹의 이름입니다. 24시간 동안 최대 15개의 노드 그룹을 테스트할 수 있습니다.

다음 예제에서는 복제 그룹(콘솔, 클러스터에서) `redis00-0003`의 노드 그룹 `redis00`에 대한 자동 장애 조치를 테스트합니다.

**Example 자동 장애 조치 테스트**  

```
https://elasticache.us-west-2.amazonaws.com/
    ?Action=TestFailover
    &NodeGroupId=redis00-0003
    &ReplicationGroupId=redis00
    &Version=2015-02-02
    &SignatureVersion=4
    &SignatureMethod=HmacSHA256
    &Timestamp=20140401T192317Z
    &X-Amz-Credential=<credential>
```

장애 조치 진행률을 추적하려면 ElastiCache `DescribeEvents` API 작업을 사용하세요.

자세한 내용은 다음 자료를 참조하세요.
+ *ElastiCache API 참조*의 [TestFailover](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_TestFailover.html) 
+ *ElastiCache API 참조*의 [DescribeEvents](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeEvents.html) 

 

## 다중 AZ에 대한 제한 사항
<a name="AutoFailover.Limitations"></a>

다중 AZ에 대한 다음 제한 사항에 유의하세요.
+ 다중 AZ는 Valkey 및 Redis OSS 버전 2.8.6 이상에서 지원됩니다.
+ 다중 AZ는 T1 노드 유형에서는 지원되지 않습니다.
+ Valkey 및 Redis OSS 복제는 비동기식입니다. 따라서 프라이머리 노드를 복제본으로 장애 조치하면 복제 지연으로 인해 소량의 데이터가 손실될 수 있습니다.

  기본으로 승격할 복제본을 선택할 때 ElastiCache는 최소 복제 지연 시간으로 복제본을 선택합니다. 즉, 가장 최신 복제본을 선택합니다. 이로써 손실 데이터 양을 최소화할 수 있습니다. 복제 지연 시간이 가장 짧은 복제본은 실패한 프라이머리 노드와 같은 가용 영역에 있을 수도 있고 다른 가용 영역에 있을 수도 있습니다.
+ 클러스터 모드가 비활성화된 Valkey 또는 Redis OSS 클러스터에서 읽기 전용 복제본을 기본 복제본으로 수동으로 승격하는 경우 다중 AZ 및 자동 장애 조치가 비활성화된 경우에만 이 작업을 수행할 수 있습니다. 읽기 전용 복제본을 기본으로 승격하려면 다음 단계를 따릅니다.

  1. 클러스터에서 다중 AZ를 비활성화합니다.

  1. 클러스터에서 자동 장애 조치를 비활성화합니다. 이 작업은 콘솔을 통해 복제 그룹의 **자동 장애 조치** 확인란을 선택 취소하여 수행할 수 있습니다. 또한 AWS CLI를 통해 `ModifyReplicationGroup` 작업을 호출할 때 `AutomaticFailoverEnabled` 속성을 `false`로 설정하여 이렇게 할 수 있습니다.

  1. 읽기 전용 복제본을 기본으로 승격합니다.

  1. 다중 AZ를 다시 활성화합니다.
+ ElastiCache for Redis OSS 다중 AZ와 AOF(Append-Only File)는 함께 사용할 수 없습니다. 하나를 활성화하면 다른 하나를 활성화할 수 없습니다.
+ 노드 장애는 드물지만 전체 가용 영역에 장애가 발생하는 경우로 인해 발생할 수 있습니다. 이 경우 장애가 발생한 기본 서버를 대체하는 복제본은 가용 영역이 백업된 경우에만 생성됩니다. 예를 들어, AZ-a에 프라이머리 노드가 있고 AZ-b 및 AZ-c에 복제본이 있는 복제 그룹을 가정해 보겠습니다. 프라이머리 노드에 문제가 발생하면 복제 지연 시간이 가장 짧은 사용 가능한 복제본을 프라이머리 노드로 승격시킵니다. 그런 다음 ElastiCache는 AZ-a가 백업되어 사용할 수 있는 경우에만 AZ-a(장애가 발생한 기본이 있는 위치)에 새 복제본을 생성합니다.
+ 고객이 실행한 기본 재부팅은 자동 장애 조치를 트리거하지 않습니다. 다른 재부팅 및 장애는 자동 장애 조치를 트리거합니다.
+ 기본을 재부팅하는 경우 온라인 상태가 되면 데이터가 지워집니다. 읽기 전용 복제본은 기본 클러스터가 지워진 것을 확인하면 데이터 복제본을 지우기 때문에 데이터가 손실됩니다.
+ 읽기 전용 복제본이 승격된 후 다른 복제본은 새 기본 복제본과 동기화됩니다. 초기 동기화 후 복제본의 콘텐츠가 삭제되고 새 기본 복제본의 데이터가 동기화됩니다. 이 동기화 프로세스로 인해 복제본에 액세스할 수 없는 잠깐 중단이 발생합니다. 또한 이 동기화 프로세스로 인해 복제본과 동기화되는 동안 기본에 임시 로드가 증가합니다. 이 동작은 Valkey 및 Redis OSS의 기본 동작이며 ElastiCache 다중 AZ에 고유하지 않습니다. 이 동작에 대한 자세한 내용은 Valkey 웹 사이트의 [복제](http://valkey.io/topics/replication)를 참조하세요.

**중요**  
Valkey 7.2.6 이상 또는 Redis OSS 버전 2.8.22 이상에서는 외부 복제본을 만들 수 없습니다.  
2.8.22 이전의 Redis OSS 버전에서는 다중 AZ가 활성화된 ElastiCache 클러스터에 외부 복제본을 연결하지 않는 것이 좋습니다. 이 지원되지 않는 구성으로 ElastiCache가 장애 조치 및 복구를 제대로 수행하지 못하는 문제를 유발할 수 있습니다. 외부 복제본을 ElastiCache 클러스터에 연결하려면 연결하기 전에 다중 AZ가 활성화되지 않았는지 확인합니다.

# 동기화 및 백업 구현 방법
<a name="Replication.Redis.Versions"></a>

지원되는 모든 버전의 Valkey 또는 Redis OSS는 기본 클러스터와 복제본 클러스터 간의 백업 및 동기화를 지원합니다. 그러나 백업 및 동기화가 구현되는 방식은 버전에 따라 다릅니다.

## Redis OSS 버전 2.8.22 이상
<a name="Replication.Redis.Version2-8-22"></a>

버전 2.8.22 이상에서 Redis OSS 복제는 두 가지 방법 중 하나를 선택합니다. 자세한 내용은 [Redis OSS 2.8.22 이전 버전](#Replication.Redis.Earlier2-8-22) 및 [스냅샷 및 복원](backups.md)(을)를 참조하세요.

포크 없는 프로세스 중 쓰기 로드가 많으면 변경 사항이 너무 많이 누적되어 성공적인 스냅샷을 방해하는 일이 발생하지 않도록 클러스터에 대한 쓰기가 지연됩니다.

## Redis OSS 2.8.22 이전 버전
<a name="Replication.Redis.Earlier2-8-22"></a>

2.8.22 이전 버전의 Redis OSS 백업 및 동기화는 3단계 프로세스입니다.

1. 포크하고 백그라운드 프로세스에서 클러스터 데이터를 디스크에 직렬화합니다. 그러면 특정 시점 스냅샷이 생성됩니다.

1. 포그라운드에서 *클라이언트 출력 버퍼*에 변경 로그를 누적합니다.
**중요**  
변경 로그가 *클라이언트 출력 버퍼* 크기를 초과하면 백업 또는 동기화가 실패합니다. 자세한 내용은 [충분한 메모리를 확보하여 Valkey 또는 Redis OSS 스냅샷 생성](BestPractices.BGSAVE.md) 섹션을 참조하세요.

1. 마지막으로 캐시 데이터와 변경 로그를 순서대로 복제본 클러스터에 전송합니다.

# Valkey 또는 Redis OSS 복제 그룹 생성
<a name="Replication.CreatingRepGroup"></a>

복제본 노드가 있는 클러스터를 생성하기 위한 다음과 같은 옵션이 있습니다. 한 옵션은 프라이머리 노드로 사용되는 복제본이 있는 클러스터와 연결이 안된 사용 가능한 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터가 이미 있을 때 적용됩니다. 다른 옵션은 클러스터와 읽기 전용 복제본으로 기본 노드를 생성해야할 때 적용됩니다. 현재는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터를 처음부터 생성해야 합니다.

**옵션 1: [기존 클러스터를 사용하여 복제 그룹 생성](Replication.CreatingReplGroup.ExistingCluster.md)**  
기존 단일 노드 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터를 활용하려면 이 옵션을 사용합니다. 이 기존 노드를 새 클러스터의 기본 노드로 지정하고 클러스터에 1개\$15개의 읽기 전용 복제본을 개별적으로 추가합니다. 기존 클러스터가 활성 상태인 경우 읽기 복제본은 생성되는 대로 해당 클러스터와 동기화됩니다. [기존 클러스터를 사용하여 복제 그룹 생성](Replication.CreatingReplGroup.ExistingCluster.md)을(를) 참조하세요.  
기존 클러스터를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터를 생성할 수 없습니다. ElastiCache 콘솔을 사용하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터(API/CLI: 복제 그룹)를 생성하려면 [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 생성(콘솔)](Clusters.Create.md#Clusters.Create.CON.RedisCluster) 섹션을 참조하세요.

**옵션 2: [처음부터 Valkey 또는 Redis OSS 복제 그룹 생성](Replication.CreatingReplGroup.NoExistingCluster.md)**  
클러스터의 프라이머리 노드로 사용하는 가용 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터가 없거나 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터를 생성하고 싶은 경우 이 옵션을 사용합니다. [처음부터 Valkey 또는 Redis OSS 복제 그룹 생성](Replication.CreatingReplGroup.NoExistingCluster.md)을(를) 참조하세요.

# 기존 클러스터를 사용하여 복제 그룹 생성
<a name="Replication.CreatingReplGroup.ExistingCluster"></a>

다음 절차에서는 클러스터를 최신 버전의 Valkey로 업그레이드하는 데 필요한 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 단일 노드 클러스터에 복제 그룹을 추가합니다. 가동 중지 시간과 데이터 손실이 전혀 없는 인플레이스 절차입니다. 단일 노드 클러스터에 대한 복제 그룹을 생성하면 클러스터의 노드가 새 클러스터의 프라이머리 노드가 됩니다. 새 클러스터의 프라이머리 노드로 사용할 수 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터가 없는 경우 [처음부터 Valkey 또는 Redis OSS 복제 그룹 생성](Replication.CreatingReplGroup.NoExistingCluster.md) 섹션을 참조하세요.

사용 가능한 클러스터는 기존 단일 노드 Valkey 또는 Redis OSS 클러스터입니다. 현재 Valkey 또는 Redis OSS(클러스터 모드 활성화됨)에서는 사용 가능한 단일 노드 클러스터를 사용하여 복제본이 있는 클러스터를 생성할 수 없습니다. Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터를 생성하려면 [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 생성(콘솔)](Replication.CreatingReplGroup.NoExistingCluster.Cluster.md#Replication.CreatingReplGroup.NoExistingCluster.Cluster.CON) 섹션을 참조하세요.

## 기존 클러스터를 사용하여 복제 그룹 생성(콘솔)
<a name="Replication.CreatingReplGroup.ExistingCluster.CON"></a>

[ElastiCache AWS Management Console사용](Clusters.AddNode.md#Clusters.AddNode.CON) 항목을 참조하세요.

## 사용 가능한 Valkey 또는 Redis OSS 클러스터를 사용하여 복제 그룹 생성(AWS CLI)
<a name="Replication.CreatingReplGroup.ExistingCluster.CLI"></a>

AWS CLI를 사용할 때 프라이머리 노드에 대해 사용 가능한 Valkey 또는 Redis OSS 캐시 클러스터를 사용하는 경우 읽기 전용 복제본이 있는 복제 그룹을 생성하는 두 단계가 있습니다.

를 사용하는AWS CLI경우 사용 가능한 독립 실행형 노드를 클러스터의 프라이머리 노드로 지정`--primary-cluster-id`하고 CLI 명령를 사용하여 클러스터에서 원하는 노드 수를 지정하는 복제 그룹을 생성합니다`create-replication-group`. 다음 파라미터를 포함합니다.

**--replication-group-id**  
생성하는 복제 그룹의 이름입니다. 이 파라미터의 값은 추가되는 노드의 이름을 지정하는 기준으로 사용되는데, `--replication-group-id` 끝에 3자리 일련 번호가 추가됩니다. 예를 들어 `sample-repl-group-001`입니다.  
Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹 명명 제약 조건은 다음과 같습니다.  
+ 1\$140자의 영숫자 또는 하이픈으로 구성되어야 합니다.
+ 문자로 시작해야 합니다.
+ 하이픈 2개가 연속될 수 없습니다.
+ 끝에 하이픈이 올 수 없습니다.

**--replication-group-description**  
복제 그룹에 대한 설명입니다.

**--num-node-groups**  
이 클러스터에 있는 노드의 수. 이 값에는 프라이머리 노드가 포함됩니다. 이 파라미터의 최대값은 6입니다.

**--primary-cluster-id**  
이 복제 그룹의 프라이머리 노드가 될 사용 가능한 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터 노드의 이름입니다.

다음 명령은 사용 가능한 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터 `redis01`을 복제 그룹의 프라이머리 노드로 사용해 복제 그룹 `sample-repl-group`을 생성합니다. 이렇게 하면 읽기 전용 복제본인 새 노드 2개가 생성됩니다. `redis01`의 설정(즉, 파라미터 그룹, 보안 그룹, 노드 유형, 엔진 버전 등)은 복제 그룹의 모든 노드에 적용됩니다.

Linux, macOS, Unix의 경우:

```
aws elasticache create-replication-group \
   --replication-group-id sample-repl-group \
   --replication-group-description "demo cluster with replicas" \
   --num-cache-clusters 3 \
   --primary-cluster-id redis01
```

Windows의 경우:

```
aws elasticache create-replication-group ^
   --replication-group-id sample-repl-group ^
   --replication-group-description "demo cluster with replicas" ^
   --num-cache-clusters 3 ^
   --primary-cluster-id redis01
```

사용할 수 있는 추가 정보 및 파라미터는AWS CLI주제를 참조하세요[create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html).

**다음으로 복제 그룹에 읽기 전용 복제본을 추가합니다.**  
복제 그룹이 생성된 후 `create-cache-cluster` 명령을 사용하여 해당 복제 그룹에 1\$15개의 읽기 전용 복제본을 추가하여 다음 파라미터를 포함해야 합니다.

**--cache-cluster-id**  
복제 그룹에 추가하는 클러스터의 이름입니다.  
클러스터 명명 제약 조건은 다음과 같습니다.  
+ 1\$140자의 영숫자 또는 하이픈으로 구성되어야 합니다.
+ 문자로 시작해야 합니다.
+ 하이픈 2개가 연속될 수 없습니다.
+ 끝에 하이픈이 올 수 없습니다.


**--replication-group-id**  
이 클러스터를 추가하는 복제 그룹의 이름입니다.

`--cache-cluster-id` 파라미터 값만 변경하여 복제 그룹에 추가할 각 읽기 전용 복제본마다 이 명령을 반복합니다.

**참고**  
복제 그룹에는 읽기 전용 복제본이 최대 5개로 제한됩니다. 읽기 전용 복제본 5개가 이미 있는 복제 그룹에 읽기 전용 복제본을 추가하려고 하면 작업이 실패합니다.

다음 코드는 읽기 전용 복제본 `my-replica01`을 복제 그룹 `sample-repl-group`에 추가합니다. 기본 클러스터의 설정(즉, 파라미터 그룹, 보안 그룹, 노드 유형 등)은 복제 그룹에 추가될 때 노드에도 적용됩니다.

Linux, macOS, Unix의 경우:

```
aws elasticache create-cache-cluster \
   --cache-cluster-id my-replica01 \
   --replication-group-id sample-repl-group
```

Windows의 경우:

```
aws elasticache create-cache-cluster ^
   --cache-cluster-id my-replica01 ^
   --replication-group-id sample-repl-group
```

이 명령의 출력은 다음과 같습니다.

```
{
    "ReplicationGroup": {
        "Status": "creating",
        "Description": "demo cluster with replicas",
        "ClusterEnabled": false,
        "ReplicationGroupId": "sample-repl-group",
        "SnapshotRetentionLimit": 1,
        "AutomaticFailover": "disabled",
        "SnapshotWindow": "00:00-01:00",
        "SnapshottingClusterId": "redis01",
        "MemberClusters": [
            "sample-repl-group-001",
            "sample-repl-group-002",
            "redis01"
        ],
        "CacheNodeType": "cache.m4.large",
        "DataTiering": "disabled",
        "PendingModifiedValues": {}
    }
}
```

자세한 내용은 다음AWS CLI주제를 참조하세요.
+ [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)
+ [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)

## 독립형 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에 복제본 추가(ElastiCache API)
<a name="Replication.CreatingReplGroup.ExistingCluster.API"></a>

ElastiCache API를 사용하는 경우 사용 가능한 독립형 노드를 클러스터의 프라이머리 노드인 `PrimaryClusterId`로 지정하고, CLI 명령 `CreateReplicationGroup`을 사용해 클러스터에 필요한 노드 수를 지정해 복제 그룹을 생성합니다. 다음 파라미터를 포함합니다.

**ReplicationGroupId**  
생성하는 복제 그룹의 이름입니다. 이 파라미터의 값은 추가되는 노드의 이름을 지정하는 기준으로 사용되는데, `ReplicationGroupId` 끝에 3자리 일련 번호가 추가됩니다. 예를 들어 `sample-repl-group-001`입니다.  
Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹 명명 제약 조건은 다음과 같습니다.  
+ 1\$140자의 영숫자 또는 하이픈으로 구성되어야 합니다.
+ 문자로 시작해야 합니다.
+ 하이픈 2개가 연속될 수 없습니다.
+ 끝에 하이픈이 올 수 없습니다.

**ReplicationGroupDescription**  
복제본이 있는 클러스터에 대한 설명입니다.

**NumCacheClusters**  
이 클러스터에 있는 노드의 수. 이 값에는 프라이머리 노드가 포함됩니다. 이 파라미터의 최대값은 6입니다.

**PrimaryClusterId**  
이 클러스터의 프라이머리 노드가 될 사용 가능한 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터의 이름입니다.

다음 명령은 사용 가능한 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터 `redis01`을 복제 그룹의 프라이머리 노드로 사용해 복제본 `sample-repl-group`으로 클러스터를 생성합니다. 이렇게 하면 읽기 전용 복제본인 새 노드 2개가 생성됩니다. `redis01`의 설정(즉, 파라미터 그룹, 보안 그룹, 노드 유형, 엔진 버전 등)은 복제 그룹의 모든 노드에 적용됩니다.

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=CreateReplicationGroup 
   &Engine=redis
   &EngineVersion=6.0
   &ReplicationGroupDescription=Demo%20cluster%20with%20replicas
   &ReplicationGroupId=sample-repl-group
   &PrimaryClusterId=redis01
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```

자세한 내용은 ElastiCache APL 주제를 참조하세요.
+ [CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)
+ [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)

**다음으로 복제 그룹에 읽기 전용 복제본을 추가합니다.**  
복제 그룹이 생성된 후 `CreateCacheCluster` 작업을 사용하여 해당 복제 그룹에 1\$15개의 읽기 전용 복제본을 추가하여 다음 파라미터를 포함해야 합니다.

**CacheClusterId**  
복제 그룹에 추가하는 클러스터의 이름입니다.  
클러스터 명명 제약 조건은 다음과 같습니다.  
+ 1\$140자의 영숫자 또는 하이픈으로 구성되어야 합니다.
+ 문자로 시작해야 합니다.
+ 하이픈 2개가 연속될 수 없습니다.
+ 끝에 하이픈이 올 수 없습니다.


**ReplicationGroupId**  
이 클러스터를 추가하는 복제 그룹의 이름입니다.

`CacheClusterId` 파라미터 값만 변경하여 복제 그룹에 추가할 각 읽기 전용 복제본마다 이 작업을 반복합니다.

다음 코드는 읽기 전용 복제본 `myReplica01`을 복제 그룹 `myReplGroup`에 추가합니다. 기본 클러스터의 설정(즉, 파라미터 그룹, 보안 그룹, 노드 유형 등)은 복제 그룹에 추가될 때 노드에도 적용됩니다.

```
https://elasticache.us-west-2.amazonaws.com/
	?Action=CreateCacheCluster
	&CacheClusterId=myReplica01
	&ReplicationGroupId=myReplGroup
	&SignatureMethod=HmacSHA256
	&SignatureVersion=4
	&Version=2015-02-02
	&X-Amz-Algorithm=&AWS;4-HMAC-SHA256
	&X-Amz-Credential=[your-access-key-id]/20150202/us-west-2/elasticache/aws4_request
	&X-Amz-Date=20150202T170651Z
	&X-Amz-SignedHeaders=content-type;host;user-agent;x-amz-content-sha256;x-amz-date
	&X-Amz-Signature=[signature-value]
```

사용할 파라미터에 대한 자세한 내용은 ElastiCache API 항목 [CreateCacheCluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheCluster.html)를 참조하세요.

# 처음부터 Valkey 또는 Redis OSS 복제 그룹 생성
<a name="Replication.CreatingReplGroup.NoExistingCluster"></a>

다음에 기존 Valkey 또는 Redis OSS 클러스터를 기본으로 사용하지 않고 Valkey 또는 Redis OSS 복제 그룹을 생성하는 방법이 나와 있습니다. ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 또는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹을 처음부터 생성할 수 있습니다.

계속하기 전에 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 생성할지 아니면 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹을 생성할지를 결정합니다. 결정에 대한 지침은 [복제: Valkey 및 Redis OSS 클러스터 모드 비활성화됨과 활성화됨](Replication.Redis-RedisCluster.md)를 참조하세요.

**Topics**
+ [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 처음부터 새로 생성](Replication.CreatingReplGroup.NoExistingCluster.Classic.md)
+ [Valkey 또는 Redis OSS(클러스터 모드 활성화됨)에서 복제 그룹을 처음부터 새로 생성](Replication.CreatingReplGroup.NoExistingCluster.Cluster.md)

# Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 처음부터 새로 생성
<a name="Replication.CreatingReplGroup.NoExistingCluster.Classic"></a>

ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 처음부터 생성할 수 있습니다. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에는 항상 하나의 노드 그룹, 하나의 기본 클러스터 및 최대 5개의 읽기 전용 복제본이 있습니다. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹은 데이터 파티셔닝을 지원하지 않습니다.

**참고**  
노드/샤드 한도는 클러스터당 최대 500개로 늘릴 수 있습니다. 제한을 높이도록 요청하려면 [AWS 서비스 제한](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)을 참조하고 요청에 인스턴스 유형을 포함하세요.

처음부터 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 만들려면 다음 방법 중 하나를 수행합니다.

## Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 처음부터 새로 생성(AWS CLI)
<a name="Replication.CreatingReplGroup.NoExistingCluster.Classic.CLI"></a>

다음 절차에서는 AWS CLI를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 생성합니다.

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 처음부터 생성할 때 AWS CLI `create-replication-group` 명령을 한 번만 호출하여 복제 그룹과 해당 노드를 모두 생성합니다. 다음 파라미터를 포함합니다.

**--replication-group-id**  
생성하는 복제 그룹의 이름입니다.  
Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹 명명 제약 조건은 다음과 같습니다.  
+ 1\$140자의 영숫자 또는 하이픈으로 구성되어야 합니다.
+ 문자로 시작해야 합니다.
+ 하이픈 2개가 연속될 수 없습니다.
+ 끝에 하이픈이 올 수 없습니다.

**--replication-group-description**  
복제 그룹에 대한 설명입니다.

**--num-cache-clusters**  
이 복제 그룹, 기본 및 읽기 전용 복제본과 함께 생성하려는 노드의 수입니다.  
다중 AZ(`--automatic-failover-enabled`)를 활성화하는 경우 `--num-cache-clusters`의 값은 2 이상이어야 합니다.

**--cache-node-type**  
복제 그룹에 있는 각 노드의 노드 유형입니다.  
ElastiCache는 다음 노드 유형을 지원합니다. 일반적으로, 현재 세대 유형은 이전 세대의 동급 제품에 비해 더 많은 메모리와 컴퓨팅 파워를 더 저렴하게 제공합니다.  
각 노드 유형의 성능 세부 정보에 대한 자세한 내용은 [Amazon EC2 인스턴스 유형](https://aws.amazon.com/ec2/instance-types/)을 참조하세요.

**- 데이터 계층화 지원**  
r6gd 노드 유형을 사용하는 경우 이 파라미터를 설정합니다. 데이터 계층화를 원하지 않는 경우 `--no-data-tiering-enabled`를 설정합니다. 자세한 내용은 [ElastiCache의 데이터 계층화](data-tiering.md) 섹션을 참조하세요.

**--cache-parameter-group**  
엔진 버전에 해당하는 파라미터 그룹을 지정합니다. Redis OSS 3.2.4 이상을 실행하는 경우 `default.redis3.2` 파라미터 그룹 또는 `default.redis3.2`에서 파생된 파라미터 그룹을 지정하여 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 생성합니다. 자세한 내용은 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis) 섹션을 참조하세요.

**--network-type**  
`ipv4`, `ipv6`, `dual-stack` 중 하나입니다. 듀얼 스택을 선택한 경우, `--IpDiscovery` 파라미터를 `ipv4` 또는 `ipv6`로 설정해야 합니다.

**--엔진**  
redis

**--engine-version**  
다양한 기능 세트를 사용하려면 최신 엔진 버전을 선택합니다.

`-00`*\$1*을 복제 그룹 이름 뒤에 붙이면 복제 그룹 이름에서 노드 이름이 파생됩니다. 예를 들어, 복제 그룹 이름 `myReplGroup`을 사용하는 경우 기본 이름은 `myReplGroup-001`이 되고, 읽기 전용 복제본 이름은 `myReplGroup-002`에서 `myReplGroup-006` 사이가 됩니다.

이 복제 그룹에서 전송 중 데이터 암호화 또는 미사용 데이터 암호화를 활성화하려면 `--transit-encryption-enabled` 또는 `--at-rest-encryption-enabled` 파라미터 중 하나 또는 둘 다를 추가하고 다음 조건을 충족해야 합니다.
+ 복제 그룹에서 3.2.6 또는 4.0.10 버전 Redis OSS를 실행하고 있어야 합니다.
+ 복제 그룹은 Amazon VPC에 생성되어야 합니다.
+ 또한 `--cache-subnet-group` 파라미터도 포함해야 합니다.
+ 또한 이 복제 그룹에서 작업을 수행하는 데 필요한 AUTH 토큰(암호)에 고객이 지정한 문자열 값이 있는 `--auth-token` 파라미터도 포함해야 합니다.

다음 작업은 세 개의 노드(기본 한 개와 복제본 두 개)가 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹 `sample-repl-group`을 생성합니다.

Linux, macOS, Unix의 경우:

```
aws elasticache create-replication-group \
   --replication-group-id sample-repl-group \
   --replication-group-description "Demo cluster with replicas" \
   --num-cache-clusters 3 \
   --cache-node-type cache.m4.large \ 
   --engine redis
```

Windows의 경우:

```
aws elasticache create-replication-group ^
   --replication-group-id sample-repl-group ^
   --replication-group-description "Demo cluster with replicas" ^
   --num-cache-clusters 3 ^
   --cache-node-type cache.m4.large ^  
   --engine redis
```

이 명령의 출력은 다음과 같습니다.

```
{
    "ReplicationGroup": {
        "Status": "creating",
        "Description": "Demo cluster with replicas",
        "ClusterEnabled": false,
        "ReplicationGroupId": "sample-repl-group",
        "SnapshotRetentionLimit": 0,
        "AutomaticFailover": "disabled",
        "SnapshotWindow": "01:30-02:30",
        "MemberClusters": [
            "sample-repl-group-001",
            "sample-repl-group-002",
            "sample-repl-group-003"
        ],
        "CacheNodeType": "cache.m4.large",
        "DataTiering": "disabled",
        "PendingModifiedValues": {}
    }
}
```

사용하려는 파라미터에 대한 자세한 내용은 AWS CLI 항목 [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)를 참조하세요.

## Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 처음부터 새로 생성(ElastiCache API)
<a name="Replication.CreatingReplGroup.NoExistingCluster.Classic.API"></a>

다음 절차에서는 ElastiCache API를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 생성합니다.

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 처음부터 생성할 때 ElastiCache API `CreateReplicationGroup` 작업을 한 번만 호출하여 복제 그룹과 해당 노드를 모두 생성합니다. 다음 파라미터를 포함합니다.

**ReplicationGroupId**  
생성하는 복제 그룹의 이름입니다.  
Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹 명명 제약 조건은 다음과 같습니다.  
+ 1\$140자의 영숫자 또는 하이픈으로 구성되어야 합니다.
+ 문자로 시작해야 합니다.
+ 하이픈 2개가 연속될 수 없습니다.
+ 끝에 하이픈이 올 수 없습니다.

**ReplicationGroupDescription**  
복제 그룹에 대한 설명입니다.

**NumCacheClusters**  
이 복제 그룹, 기본 및 읽기 전용 복제본과 함께 생성하려는 총 노드 수입니다.  
다중 AZ(`AutomaticFailoverEnabled=true`)를 활성화하는 경우 `NumCacheClusters`의 값은 2 이상이어야 합니다.

**CacheNodeType**  
복제 그룹에 있는 각 노드의 노드 유형입니다.  
ElastiCache는 다음 노드 유형을 지원합니다. 일반적으로, 현재 세대 유형은 이전 세대의 동급 제품에 비해 더 많은 메모리와 컴퓨팅 파워를 더 저렴하게 제공합니다.  
각 노드 유형의 성능 세부 정보에 대한 자세한 내용은 [Amazon EC2 인스턴스 유형](https://aws.amazon.com/ec2/instance-types/)을 참조하세요.

**- 데이터 계층화 지원**  
r6gd 노드 유형을 사용하는 경우 이 파라미터를 설정합니다. 데이터 계층화를 원하지 않는 경우 `--no-data-tiering-enabled`를 설정합니다. 자세한 내용은 [ElastiCache의 데이터 계층화](data-tiering.md) 섹션을 참조하세요.

**CacheParameterGroup**  
엔진 버전에 해당하는 파라미터 그룹을 지정합니다. Redis OSS 3.2.4 이상을 실행하는 경우 `default.redis3.2` 파라미터 그룹 또는 `default.redis3.2`에서 파생된 파라미터 그룹을 지정하여 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 생성합니다. 자세한 내용은 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis) 섹션을 참조하세요.

**--network-type**  
`ipv4`, `ipv`, `dual-stack` 중 하나입니다. 듀얼 스택을 선택한 경우, `--IpDiscovery` 파라미터를 `ipv4` 또는 `ipv6`로 설정해야 합니다.

**엔진**  
redis

**EngineVersion**  
6.0

`-00`*\$1*을 복제 그룹 이름 뒤에 붙이면 복제 그룹 이름에서 노드 이름이 파생됩니다. 예를 들어, 복제 그룹 이름 `myReplGroup`을 사용하는 경우 기본 이름은 `myReplGroup-001`이 되고, 읽기 전용 복제본 이름은 `myReplGroup-002`에서 `myReplGroup-006` 사이가 됩니다.

이 복제 그룹에서 전송 중 데이터 암호화 또는 미사용 데이터 암호화를 활성화하려면 `TransitEncryptionEnabled=true` 또는 `AtRestEncryptionEnabled=true` 파라미터 중 하나 또는 둘 다를 추가하고 다음 조건을 충족해야 합니다.
+ 복제 그룹에서 3.2.6 또는 4.0.10 버전 Redis OSS를 실행하고 있어야 합니다.
+ 복제 그룹은 Amazon VPC에 생성되어야 합니다.
+ 또한 `CacheSubnetGroup` 파라미터도 포함해야 합니다.
+ 또한 이 복제 그룹에서 작업을 수행하는 데 필요한 AUTH 토큰(암호)에 고객이 지정한 문자열 값이 있는 `AuthToken` 파라미터도 포함해야 합니다.

다음 작업은 세 개의 노드(기본 한 개와 복제본 두 개)가 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹 `myReplGroup`을 생성합니다.

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=CreateReplicationGroup 
   &CacheNodeType=cache.m4.large
   &CacheParameterGroup=default.redis6.x
   &Engine=redis
   &EngineVersion=6.0
   &NumCacheClusters=3
   &ReplicationGroupDescription=test%20group
   &ReplicationGroupId=myReplGroup
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```

사용할 파라미터에 대한 자세한 내용은 ElastiCache API 항목 [CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)을 참조하세요.

# Valkey 또는 Redis OSS(클러스터 모드 활성화됨)에서 복제 그룹을 처음부터 새로 생성
<a name="Replication.CreatingReplGroup.NoExistingCluster.Cluster"></a>

ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터(API/CLI: *복제 그룹*)를 생성할 수 있습니다. Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹에는 1\$1500개의 샤드(API/CLI의 경우 노드 그룹), 각 샤드의 프라이머리 노드 1개 및 각 샤드의 최대 5개의 읽기 전용 복제본이 있습니다. 하나의 클러스터당 최대 90개의 노드로 구성된 더 많은 수의 샤드와 더 적은 수의 복제본을 가진 클러스터를 생성할 수 있습니다. 이 클러스터 구성은 90개의 샤드 및 0개의 복제본부터 15개의 샤드 및 5개의 복제본까지 해당될 수 있으며, 이는 허용되는 최대 복제본 수입니다.

Valkey 또는 Redis OSS 엔진 버전이 5.0.6 이상인 경우 노드 또는 샤드 한도를 클러스터당 최대 500까지 늘릴 수 있습니다. 예를 들어 83개 샤드(샤드당 기본 1개와 복제본 5개)에서 500개 샤드(기본 1개와 복제본 없음) 범위의 500개 노드 클러스터를 구성하도록 선택할 수 있습니다. 증가를 수용할 수 있는 IP 주소가 충분한지 확인해야 합니다. 서브넷 그룹에 있는 서브넷의 CIDR 범위가 너무 작거나 서브넷을 샤드로 분할하여 다른 클러스터에서 과도하게 사용되는 것과 같은 일반적인 함정에 유의합니다. 자세한 내용은 [서브넷 그룹 생성](SubnetGroups.Creating.md) 섹션을 참조하세요.

 5.0.6 이하의 버전에서 한도는 클러스터당 250개입니다.

한도 증가를 요청하려면 [AWS 서비스 한도](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)를 참조하고 한도 유형을 **인스턴스 유형별 클러스터당 노드**로 선택하세요.

**Topics**
+ [ElastiCache 콘솔 사용](#Replication.CreatingReplGroup.NoExistingCluster.Cluster.CON)
+ [처음부터 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹 만들기(AWS CLI)](#Replication.CreatingReplGroup.NoExistingCluster.Cluster.CLI)
+ [Valkey 또는 Redis OSS(클러스터 모드 활성화됨)에서 복제 그룹을 처음부터 새로 생성(ElastiCache API)](#Replication.CreatingReplGroup.NoExistingCluster.Cluster.API)

## Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 생성(콘솔)
<a name="Replication.CreatingReplGroup.NoExistingCluster.Cluster.CON"></a>

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터를 생성하려면 [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 생성(콘솔)](Clusters.Create.md#Clusters.Create.CON.RedisCluster)를 참조하세요. **클러스터 모드 활성화(스케일 아웃)**에서 클러스터 모드를 활성화하고 두 개 이상의 샤드와 한 개의 복제본 노드를 지정합니다.

## 처음부터 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹 만들기(AWS CLI)
<a name="Replication.CreatingReplGroup.NoExistingCluster.Cluster.CLI"></a>

다음 절차에서는 AWS CLI를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹을 생성합니다.

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹을 처음부터 생성할 때 AWS CLI `create-replication-group` 명령을 한 번만 호출하여 복제 그룹과 해당 노드를 모두 생성합니다. 다음 파라미터를 포함합니다.

**--replication-group-id**  
생성하는 복제 그룹의 이름입니다.  
Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹 명명 제약 조건은 다음과 같습니다.  
+ 1\$140자의 영숫자 또는 하이픈으로 구성되어야 합니다.
+ 문자로 시작해야 합니다.
+ 하이픈 2개가 연속될 수 없습니다.
+ 끝에 하이픈이 올 수 없습니다.

**--replication-group-description**  
복제 그룹에 대한 설명입니다.

**--cache-node-type**  
복제 그룹에 있는 각 노드의 노드 유형입니다.  
ElastiCache는 다음 노드 유형을 지원합니다. 일반적으로, 현재 세대 유형은 이전 세대의 동급 제품에 비해 더 많은 메모리와 컴퓨팅 파워를 더 저렴하게 제공합니다.  
각 노드 유형의 성능 세부 정보에 대한 자세한 내용은 [Amazon EC2 인스턴스 유형](https://aws.amazon.com/ec2/instance-types/)을 참조하세요.

**- 데이터 계층화 지원**  
r6gd 노드 유형을 사용하는 경우 이 파라미터를 설정합니다. 데이터 계층화를 원하지 않는 경우 `--no-data-tiering-enabled`를 설정합니다. 자세한 내용은 [ElastiCache의 데이터 계층화](data-tiering.md) 섹션을 참조하세요.

**--cache-parameter-group**  
`default.redis6.x.cluster.on` 파라미터 그룹 또는 `default.redis6.x.cluster.on`에서 파생된 파라미터 그룹을 지정하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹을 생성합니다. 자세한 내용은 [Redis OSS 6.x 파라미터 변경 사항](ParameterGroups.Engine.md#ParameterGroups.Redis.6-x) 섹션을 참조하세요.

**--엔진**  
redis

**--engine-version**  
3.2.4

**--num-node-groups**  
이 복제 그룹의 노드 그룹 수입니다. 유효한 값은 1\$1500입니다.  
노드/샤드 한도는 클러스터당 최대 500개로 늘릴 수 있습니다. 한도 증가를 요청하는 방법에 대한 지침은 [AWS 서비스 제한](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)을 참조하고 한도 유형을 '인스턴스 유형별 클러스터당 노드’로 선택하세요.

**--replicas-per-node-group**  
각 노드 그룹의 복제본 노드 수입니다. 유효한 값은 0\$15입니다.

**--network-type**  
`ipv4`, `ipv`, `dual-stack` 중 하나입니다. 듀얼 스택을 선택한 경우, `--IpDiscovery` 파라미터를 `ipv4` 또는 `ipv6`로 설정해야 합니다.

이 복제 그룹에서 전송 중 데이터 암호화 또는 미사용 데이터 암호화를 활성화하려면 `--transit-encryption-enabled` 또는 `--at-rest-encryption-enabled` 파라미터 중 하나 또는 둘 다를 추가하고 다음 조건을 충족해야 합니다.
+ 복제 그룹에서 3.2.6 또는 4.0.10 버전 Redis OSS를 실행하고 있어야 합니다.
+ 복제 그룹은 Amazon VPC에 생성되어야 합니다.
+ 또한 `--cache-subnet-group` 파라미터도 포함해야 합니다.
+ 또한 이 복제 그룹에서 작업을 수행하는 데 필요한 AUTH 토큰(암호)에 고객이 지정한 문자열 값이 있는 `--auth-token` 파라미터도 포함해야 합니다.

다음 작업은 세 개의 노드 그룹/샤드(--num-node-groups)가 있는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹 `sample-repl-group`을 생성합니다. 이 복제 그룹은 각각 3개의 노드, 즉 프라이머리 노드 1개와 읽기 전용 복제본 2개(--replicas-per-node-group)로 구성됩니다.

Linux, macOS, Unix의 경우:

```
aws elasticache create-replication-group \
   --replication-group-id sample-repl-group \
   --replication-group-description "Demo cluster with replicas" \
   --num-node-groups 3 \
   --replicas-per-node-group 2 \
   --cache-node-type cache.m4.large \ 
   --engine redis \   
   --security-group-ids SECURITY_GROUP_ID \    
   --cache-subnet-group-name SUBNET_GROUP_NAME>
```

Windows의 경우:

```
aws elasticache create-replication-group ^
   --replication-group-id sample-repl-group ^
   --replication-group-description "Demo cluster with replicas" ^
   --num-node-groups 3 ^
   --replicas-per-node-group 2 ^
   --cache-node-type cache.m4.large ^ 
   --engine redis ^   
   --security-group-ids SECURITY_GROUP_ID ^      
   --cache-subnet-group-name SUBNET_GROUP_NAME>
```

앞에 나온 명령은 다음 출력을 생성합니다.

```
{
    "ReplicationGroup": {
        "Status": "creating", 
        "Description": "Demo cluster with replicas", 
        "ReplicationGroupId": "sample-repl-group", 
        "SnapshotRetentionLimit": 0, 
        "AutomaticFailover": "enabled", 
        "SnapshotWindow": "05:30-06:30", 
        "MemberClusters": [
            "sample-repl-group-0001-001", 
            "sample-repl-group-0001-002", 
            "sample-repl-group-0001-003", 
            "sample-repl-group-0002-001", 
            "sample-repl-group-0002-002", 
            "sample-repl-group-0002-003", 
            "sample-repl-group-0003-001", 
            "sample-repl-group-0003-002", 
            "sample-repl-group-0003-003"
        ], 
        "PendingModifiedValues": {}
    }
}
```

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제본 그룹을 처음부터 생성할 때 2개의 노드 그룹(콘솔의 경우 샤드)을 구성하는 다음 예제와 같이 `--node-group-configuration` 파라미터를 사용하여 클러스터의 각 샤드를 구성할 수 있습니다. 첫 번째 샤드에는 2개의 노드(기본 1개, 읽기 전용 복제본 1개)가 있습니다. 두 번째 샤드에는 세 개의 노드(기본 한 개와 읽기 전용 복제본 두 개)가 있습니다.

**--node-group-configuration**  
각 노드 그룹의 구성입니다. `--node-group-configuration` 파라미터는 다음 필드로 구성됩니다.  
+ `PrimaryAvailabilityZone` - 이 노드 그룹의 프라이머리 노드가 있는 가용 영역입니다. 이 파라미터가 생략되면 ElastiCache는 프라이머리 노드의 가용 영역을 선택합니다.

  **예:** us-west-2a.
+ `ReplicaAvailabilityZones` - 읽기 전용 복제본이 있는 가용 영역의 쉼표로 구분된 목록입니다. 이 목록의 가용 영역 수는 `ReplicaCount` 값과 일치해야 합니다. 이 파라미터가 생략되면 ElastiCache는 복제본 노드의 가용 영역을 선택합니다.

  **예:** "us-west-2a,us-west-2b,us-west-2c"
+ `ReplicaCount` - 이 노드 그룹의 복제본 노드 수입니다.
+ `Slots` - 노드 그룹의 키스페이스를 지정하는 문자열입니다. 문자열 형식은 `startKey-endKey`입니다. 이 파라미터가 생략되면 ElastiCache는 키를 노드 그룹 간에 균등하게 할당합니다.

  **예:** "0-4999"

   

다음 작업은 2개의 노드 그룹/샤드(`--num-node-groups`)가 있는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹 `new-group`을 생성합니다. 위 예제와 달리 각 노드 그룹은 다른 노드 그룹(`--node-group-configuration`)과 다르게 구성됩니다.

Linux, macOS, Unix의 경우:

```
aws elasticache create-replication-group \
  --replication-group-id new-group \
  --replication-group-description "Sharded replication group" \
  --engine redis \    
  --snapshot-retention-limit 8 \
  --cache-node-type cache.m4.medium \
  --num-node-groups 2 \
  --node-group-configuration \
      "ReplicaCount=1,Slots=0-8999,PrimaryAvailabilityZone='us-east-1c',ReplicaAvailabilityZones='us-east-1b'" \
      "ReplicaCount=2,Slots=9000-16383,PrimaryAvailabilityZone='us-east-1a',ReplicaAvailabilityZones='us-east-1a','us-east-1c'"
```

Windows의 경우:

```
aws elasticache create-replication-group ^
  --replication-group-id new-group ^
  --replication-group-description "Sharded replication group" ^
  --engine redis ^    
  --snapshot-retention-limit 8 ^
  --cache-node-type cache.m4.medium ^
  --num-node-groups 2 ^
  --node-group-configuration \
      "ReplicaCount=1,Slots=0-8999,PrimaryAvailabilityZone='us-east-1c',ReplicaAvailabilityZones='us-east-1b'" \
      "ReplicaCount=2,Slots=9000-16383,PrimaryAvailabilityZone='us-east-1a',ReplicaAvailabilityZones='us-east-1a','us-east-1c'"
```

앞에 나온 작업은 다음 출력을 생성합니다.

```
{
    "ReplicationGroup": {
        "Status": "creating", 
        "Description": "Sharded replication group", 
        "ReplicationGroupId": "rc-rg", 
        "SnapshotRetentionLimit": 8, 
        "AutomaticFailover": "enabled", 
        "SnapshotWindow": "10:00-11:00", 
        "MemberClusters": [
            "rc-rg-0001-001", 
            "rc-rg-0001-002", 
            "rc-rg-0002-001", 
            "rc-rg-0002-002", 
            "rc-rg-0002-003"
        ], 
        "PendingModifiedValues": {}
    }
}
```

사용할 파라미터에 대한 자세한 내용은 AWS CLI 주제 [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)를 참조하세요.

## Valkey 또는 Redis OSS(클러스터 모드 활성화됨)에서 복제 그룹을 처음부터 새로 생성(ElastiCache API)
<a name="Replication.CreatingReplGroup.NoExistingCluster.Cluster.API"></a>

다음 절차에서는 ElastiCache API를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹을 생성합니다.

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹을 처음부터 생성할 때 ElastiCache API `CreateReplicationGroup` 작업을 한 번만 호출하여 복제 그룹과 해당 노드를 모두 생성합니다. 다음 파라미터를 포함합니다.

**ReplicationGroupId**  
생성하는 복제 그룹의 이름입니다.  
Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹 명명 제약 조건은 다음과 같습니다.  
+ 1\$140자의 영숫자 또는 하이픈으로 구성되어야 합니다.
+ 문자로 시작해야 합니다.
+ 하이픈 2개가 연속될 수 없습니다.
+ 끝에 하이픈이 올 수 없습니다.

**ReplicationGroupDescription**  
복제 그룹에 대한 설명입니다.

**NumNodeGroups**  
이 복제 그룹과 함께 생성할 노드 그룹 수입니다. 유효한 값은 1\$1500입니다.

**ReplicasPerNodeGroup**  
각 노드 그룹의 복제본 노드 수입니다. 유효한 값은 1\$15입니다.

**NodeGroupConfiguration**  
각 노드 그룹의 구성입니다. `NodeGroupConfiguration` 파라미터는 다음 필드로 구성됩니다.  
+ `PrimaryAvailabilityZone` - 이 노드 그룹의 프라이머리 노드가 있는 가용 영역입니다. 이 파라미터가 생략되면 ElastiCache는 프라이머리 노드의 가용 영역을 선택합니다.

  **예:** us-west-2a.
+ `ReplicaAvailabilityZones` - 읽기 전용 복제본이 있는 가용 영역 목록입니다. 이 목록의 가용 영역 수는 `ReplicaCount` 값과 일치해야 합니다. 이 파라미터가 생략되면 ElastiCache는 복제본 노드의 가용 영역을 선택합니다.
+ `ReplicaCount` - 이 노드 그룹의 복제본 노드 수입니다.
+ `Slots` - 노드 그룹의 키스페이스를 지정하는 문자열입니다. 문자열 형식은 `startKey-endKey`입니다. 이 파라미터가 생략되면 ElastiCache는 키를 노드 그룹 간에 균등하게 할당합니다.

  **예:** "0-4999"

   

**CacheNodeType**  
복제 그룹에 있는 각 노드의 노드 유형입니다.  
ElastiCache는 다음 노드 유형을 지원합니다. 일반적으로, 현재 세대 유형은 이전 세대의 동급 제품에 비해 더 많은 메모리와 컴퓨팅 파워를 더 저렴하게 제공합니다.  
각 노드 유형의 성능 세부 정보에 대한 자세한 내용은 [Amazon EC2 인스턴스 유형](https://aws.amazon.com/ec2/instance-types/)을 참조하세요.

**- 데이터 계층화 지원**  
r6gd 노드 유형을 사용하는 경우 이 파라미터를 설정합니다. 데이터 계층화를 원하지 않는 경우 `--no-data-tiering-enabled`를 설정합니다. 자세한 내용은 [ElastiCache의 데이터 계층화](data-tiering.md) 섹션을 참조하세요.

**CacheParameterGroup**  
`default.redis6.x.cluster.on` 파라미터 그룹 또는 `default.redis6.x.cluster.on`에서 파생된 파라미터 그룹을 지정하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹을 생성합니다. 자세한 내용은 [Redis OSS 6.x 파라미터 변경 사항](ParameterGroups.Engine.md#ParameterGroups.Redis.6-x) 섹션을 참조하세요.

**--network-type**  
`ipv4`, `ipv`, `dual-stack` 중 하나입니다. 듀얼 스택을 선택한 경우, `--IpDiscovery` 파라미터를 `ipv4` 또는 `ipv6`로 설정해야 합니다.

**엔진**  
redis

**EngineVersion**  
6.0

이 복제 그룹에서 전송 중 데이터 암호화 또는 미사용 데이터 암호화를 활성화하려면 `TransitEncryptionEnabled=true` 또는 `AtRestEncryptionEnabled=true` 파라미터 중 하나 또는 둘 다를 추가하고 다음 조건을 충족해야 합니다.
+ 복제 그룹에서 3.2.6 또는 4.0.10 버전 Redis OSS를 실행하고 있어야 합니다.
+ 복제 그룹은 Amazon VPC에 생성되어야 합니다.
+ 또한 `CacheSubnetGroup` 파라미터도 포함해야 합니다.
+ 또한 이 복제 그룹에서 작업을 수행하는 데 필요한 AUTH 토큰(암호)에 고객이 지정한 문자열 값이 있는 `AuthToken` 파라미터도 포함해야 합니다.

줄바꿈은 가독성을 높이기 위해 추가되었습니다.

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=CreateReplicationGroup 
   &CacheNodeType=cache.m4.large
   &CacheParemeterGroup=default.redis6.xcluster.on
   &Engine=redis
   &EngineVersion=6.0
   &NumNodeGroups=3
   &ReplicasPerNodeGroup=2
   &ReplicationGroupDescription=test%20group
   &ReplicationGroupId=myReplGroup
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```

사용할 파라미터에 대한 자세한 내용은 ElastiCache API 항목 [CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)을 참조하세요.

# 복제 그룹의 세부 정보 보기
<a name="Replication.ViewDetails"></a>

복제 그룹의 세부 정보를 보려는 경우가 있습니다. ElastiCache 콘솔, ElastiCache용 AWS CLI 또는 ElastiCache API를 사용할 수 있습니다. 콘솔 프로세스는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)와 Valkey 또는 Redis OSS(클러스터 모드 활성화됨)에 따라 다릅니다.

**Contents**
+ [복제본이 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 보기](Replication.ViewDetails.Redis.md)
  + [ElastiCache 콘솔 사용](Replication.ViewDetails.Redis.md#Replication.ViewDetails.Redis.CON)
  + [AWS CLI 사용](Replication.ViewDetails.Redis.md#Replication.ViewDetails.Redis.CLI)
  + [ElastiCache API 사용](Replication.ViewDetails.Redis.md#Replication.ViewDetails.Redis.API)
+ [복제 그룹 보기: Valkey 또는 Redis OSS(클러스터 모드 활성화)](Replication.ViewDetails.RedisCluster.md)
  + [ElastiCache 콘솔 사용](Replication.ViewDetails.RedisCluster.md#Replication.ViewDetails.RedisCluster.CON)
  + [AWS CLI 사용](Replication.ViewDetails.RedisCluster.md#Replication.ViewDetails.RedisCluster.CLI)
  + [ElastiCache API 사용](Replication.ViewDetails.RedisCluster.md#Replication.ViewDetails.RedisCluster.API)
+ [복제 그룹의 세부 정보 보기(AWS CLI)](Replication.ViewDetails.CLI.md)
+ [복제 그룹의 세부 정보 보기(ElastiCache API)](Replication.ViewDetails.API.md)

# 복제본이 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 보기
<a name="Replication.ViewDetails.Redis"></a>

ElastiCache 콘솔, ElastiCache용 AWS CLI 또는 ElastiCache API를 사용하여 복제본이 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터(API/CLI: *복제 그룹*)의 세부 정보를 볼 수 있습니다.

**Contents**
+ [ElastiCache 콘솔 사용](#Replication.ViewDetails.Redis.CON)
+ [AWS CLI 사용](#Replication.ViewDetails.Redis.CLI)
+ [ElastiCache API 사용](#Replication.ViewDetails.Redis.API)

## Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹 보기(콘솔)
<a name="Replication.ViewDetails.Redis.CON"></a>

ElastiCache 콘솔을 사용하여 복제본이 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터의 세부 정보를 보는 방법은 [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 세부 정보 보기(콘솔)](Clusters.ViewDetails.md#Clusters.ViewDetails.CON.Redis) 항목을 참조하세요.

## Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹 보기(AWS CLI)
<a name="Replication.ViewDetails.Redis.CLI"></a>

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹의 세부 정보를 표시하는 AWS CLI 예제에 대한 내용은 [복제 그룹의 세부 정보 보기(AWS CLI)](Replication.ViewDetails.CLI.md) 섹션을 참조하세요.

## Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹 보기(ElastiCache API)
<a name="Replication.ViewDetails.Redis.API"></a>

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹의 세부 정보를 표시하는 ElastiCache API 예제에 대한 내용은 [복제 그룹의 세부 정보 보기(ElastiCache API)](Replication.ViewDetails.API.md) 섹션을 참조하세요.

# 복제 그룹 보기: Valkey 또는 Redis OSS(클러스터 모드 활성화)
<a name="Replication.ViewDetails.RedisCluster"></a>

## Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 보기(콘솔)
<a name="Replication.ViewDetails.RedisCluster.CON"></a>

ElastiCache 콘솔을 사용하여 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터의 세부 정보를 보는 방법은 [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 세부 정보 보기(콘솔)](Clusters.ViewDetails.md#Clusters.ViewDetails.CON.RedisCluster) 섹션을 참조하세요.

## Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 보기(AWS CLI)
<a name="Replication.ViewDetails.RedisCluster.CLI"></a>

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹의 세부 정보를 표시하는 ElastiCache CLI 예제에 대한 내용은 [복제 그룹의 세부 정보 보기(AWS CLI)](Replication.ViewDetails.CLI.md) 섹션을 참조하세요.

## Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 보기(ElastiCache API)
<a name="Replication.ViewDetails.RedisCluster.API"></a>

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹의 세부 정보를 표시하는 ElastiCache API 예제에 대한 내용은 [복제 그룹의 세부 정보 보기(ElastiCache API)](Replication.ViewDetails.API.md) 섹션을 참조하세요.

# 복제 그룹의 세부 정보 보기(AWS CLI)
<a name="Replication.ViewDetails.CLI"></a>

AWS CLI `describe-replication-groups` 명령을 사용하여 복제 그룹의 세부 정보를 볼 수 있습니다. 목록을 구체화하려면 다음과 같은 선택적 파라미터를 사용합니다. 파라미터가 생략되면 최대 100개의 복제 그룹에 대한 세부 정보가 반환됩니다.

**선택 사항 파라미터**
+ `--replication-group-id` - 이 파라미터를 사용하여 지정한 복제 그룹의 세부 정보를 나열합니다. 지정한 복제 그룹의 노드 그룹이 둘 이상인 경우 결과가 노드 그룹별로 그룹화되어 반환됩니다.
+ `--max-items` - 이 파라미터를 사용하여 나열된 복제 그룹 수를 제한합니다. `--max-items`의 값은 20 이상 또는 100 이하여야 합니다.

**Example**  
다음 코드는 최대 100개의 복제 그룹에 대한 세부 정보를 나열합니다.  

```
aws elasticache describe-replication-groups
```
다음 코드는 `sample-repl-group`의 세부 정보를 나열합니다.  

```
aws elasticache describe-replication-groups --replication-group-id sample-repl-group
```
다음 코드는 `sample-repl-group`의 세부 정보를 나열합니다.  

```
aws elasticache describe-replication-groups --replication-group-id sample-repl-group
```
다음 코드는 최대 25개의 복제 그룹에 대한 세부 정보를 나열합니다.  

```
aws elasticache describe-replication-groups --max-items 25
```
이 작업의 출력은 다음과 같습니다(JSON 형식).  

```
{
   "ReplicationGroups": [
     {
       "Status": "available", 
       "Description": "test", 
       "NodeGroups": [
         {
            "Status": "available", 
               "NodeGroupMembers": [
                  {
                     "CurrentRole": "primary", 
                     "PreferredAvailabilityZone": "us-west-2a", 
                     "CacheNodeId": "0001", 
                     "ReadEndpoint": {
                        "Port": 6379, 
                        "Address": "rg-name-001.1abc4d.0001.usw2.cache.amazonaws.com"
                     }, 
                     "CacheClusterId": "rg-name-001"
                  }, 
                  {
                     "CurrentRole": "replica", 
                     "PreferredAvailabilityZone": "us-west-2b", 
                     "CacheNodeId": "0001", 
                     "ReadEndpoint": {
                        "Port": 6379, 
                        "Address": "rg-name-002.1abc4d.0001.usw2.cache.amazonaws.com"
                     }, 
                     "CacheClusterId": "rg-name-002"
                  }, 
                  {
                     "CurrentRole": "replica", 
                     "PreferredAvailabilityZone": "us-west-2c", 
                     "CacheNodeId": "0001", 
                     "ReadEndpoint": {
                        "Port": 6379, 
                        "Address": "rg-name-003.1abc4d.0001.usw2.cache.amazonaws.com"
                     }, 
                     "CacheClusterId": "rg-name-003"
                  }
               ], 
               "NodeGroupId": "0001", 
               "PrimaryEndpoint": {
                  "Port": 6379, 
                  "Address": "rg-name.1abc4d.ng.0001.usw2.cache.amazonaws.com"
               }
            }
         ], 
         "ReplicationGroupId": "rg-name", 
         "AutomaticFailover": "enabled", 
         "SnapshottingClusterId": "rg-name-002", 
         "MemberClusters": [
            "rg-name-001", 
            "rg-name-002", 
            "rg-name-003"
         ], 
         "PendingModifiedValues": {}
      }, 
      {
      ... some output omitted for brevity
      }
   ]
}
```

자세한 내용은 ElastiCache용 AWS CLI 항목 [describe-replication-groups](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-replication-groups.html)를 참조하세요.

# 복제 그룹의 세부 정보 보기(ElastiCache API)
<a name="Replication.ViewDetails.API"></a>

AWS CLI `DescribeReplicationGroups` 작업을 사용하여 복제의 세부 정보를 볼 수 있습니다. 목록을 구체화하려면 다음과 같은 선택적 파라미터를 사용합니다. 파라미터가 생략되면 최대 100개의 복제 그룹에 대한 세부 정보가 반환됩니다.

**선택 사항 파라미터**
+ `ReplicationGroupId` - 이 파라미터를 사용하여 지정한 복제 그룹의 세부 정보를 나열합니다. 지정한 복제 그룹의 노드 그룹이 둘 이상인 경우 결과가 노드 그룹별로 그룹화되어 반환됩니다.
+ `MaxRecords` - 이 파라미터를 사용하여 나열된 복제 그룹 수를 제한합니다. `MaxRecords`의 값은 20 이상 또는 100 이하여야 합니다. 기본값은 100입니다.

**Example**  
다음 코드는 최대 100개의 복제 그룹에 대한 세부 정보를 나열합니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeReplicationGroups
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```
다음 코드는 `myReplGroup`의 세부 정보를 나열합니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeReplicationGroups
   &ReplicationGroupId=myReplGroup
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```
다음 코드는 클러스터 최대 25개의 세부 정보를 나열합니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeReplicationGroups
   &MaxRecords=25
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```

자세한 정보는 ElastiCache API 참조 항목 을 참조하세요[DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html)

# 복제 그룹 엔드포인트 찾기
<a name="Replication.Endpoints"></a>

애플리케이션은 복제 그룹에 있는 어떤 노드에도 연결할 수 있습니다. 단, 애플리케이션에 해당 노드에 대한 DNS 엔드포인트 및 포트 번호가 있어야 합니다. 실행 중인 복제 그룹이 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)인지, 아니면 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹인지에 따라 관심을 갖게 되는 엔트포인트가 달라집니다.

**Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)**  
복제본이 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에는 세 가지 유형의 엔드포인트(*기본 엔드포인트*, *리더 엔드포인트* 및 *노드 엔드포인트*)가 있습니다. 기본 엔드포인트는 항상 클러스터의 프라이머리 노드로 확인되는 DNS 이름입니다. 기본 엔드포인트는 읽기 전용 복제본을 기본 역할로 승격하는 것과 같은 클러스터 변경의 영향을 받지 않습니다. 쓰기 활동의 경우 애플리케이션을 기본 엔드포인트에 연결하는 것이 좋습니다.

리더 엔드포인트는 ElastiCache 클러스터의 모든 읽기 전용 복제본 간에 엔드포인트에 대한 수신 연결을 고르게 분할합니다. 애플리케이션이 연결을 생성하는 시기 또는 애플리케이션에서 연결을 다시 사용하는 방법과 같은 추가 요소가 트래픽 분산을 결정합니다. 리더 엔드포인트는 복제본이 추가 또는 제거되는 클러스터의 변경 사항을 실시간으로 반영합니다. ElastiCache for Redis OSS 클러스터의 여러 읽기 전용 복제본을 다양한 AWS 가용 영역(AZ)에 두어 리더 엔드포인트의 가용성을 높일 수 있습니다.

**참고**  
리더 엔드포인트는 로드 밸런서가 아닙니다. 라운드 로빈 방식으로 복제본 노드 중 하나의 IP 주소로 확인되는 DNS 레코드입니다.

읽기 활동의 경우 애플리케이션은 클러스터의 어떤 노드에도 연결할 수 있습니다. 기본 엔드포인트와 달리, 노드 엔드포인트는 특정 엔드포인트로 확인됩니다. 복제본을 추가하거나 삭제하는 것과 같이 클러스터를 변경하면 애플리케이션에서 노드 엔드포인트를 업데이트해야 합니다.

**Valkey 또는 Redis OSS(클러스터 모드 활성화됨)**  
복제본이 있는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터의 엔드포인트 구조는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터의 엔드포인트 구조와 다릅니다. 왜냐하면 이러한 클러스터에는 여러 샤드(API/CLI의 경우 노드 그룹)가 있으며 이는 프라이머리 노드도 여러 개임을 의미하기 때문입니다. Valkey 또는 Redis OSS(클러스터 모드 활성화됨)에는 클러스터의 모든 기본 엔드포인트 및 노드 엔드포인트를 "아는" *구성 엔드포인트*가 있습니다. 애플리케이션은 이 구성 엔드포인트에 연결됩니다. 애플리케이션이 클러스터의 구성 엔드포인트에서 쓰거나 읽을 때마다 백그라운드에서 Valkey 또는 Redis OSS는 키가 속하는 샤드와 해당 샤드에서 사용할 엔드포인트를 확인합니다. 이 모든 것이 애플리케이션에 매우 투명하게 진행됩니다.

ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 클러스터의 엔드포인트를 찾을 수 있습니다.

**복제 그룹 엔드포인트 찾기**

복제 그룹의 엔드포인트를 찾으려면 다음 항목 중 하나를 참조하세요.
+ [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터의 엔드포인트 찾기(콘솔)](Endpoints.md#Endpoints.Find.Redis)
+ [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터에 대한 엔드포인트 찾기(콘솔)](Endpoints.md#Endpoints.Find.RedisCluster)
+ [Valkey 또는 Redis OSS 복제 그룹의 엔드포인트 찾기(AWS CLI)](Endpoints.md#Endpoints.Find.CLI.ReplGroups)
+ [Valkey 또는 Redis OSS 복제 그룹의 엔드포인트 찾기(ElastiCache API)](Endpoints.md#Endpoints.Find.API.ReplGroups)

# 복제 그룹 수정
<a name="Replication.Modify"></a>

**중요한 제약**  
현재, ElastiCache는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹 수정을 제한적으로 지원하고 있습니다. 예를 들면 API 작업 `ModifyReplicationGroup`(CLI의 경우 `modify-replication-group`)을 사용하여 엔진 버전을 변경할 수 있습니다. API 작업 [https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroupShardConfiguration.html)(CLI의 경우 [https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group-shard-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group-shard-configuration.html))을 통해 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터에서 샤드(노드 그룹) 수를 수정할 수 있습니다. 자세한 내용은 [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 규모 조정](scaling-redis-cluster-mode-enabled.md) 단원을 참조하십시오.  
Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터의 다른 부분을 수정하려면 변경 사항을 통합하는 새 클러스터를 사용해 클러스터를 새로 만들어야 합니다.
Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 및 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 및 복제 그룹을 최신 엔진 버전으로 업그레이드할 수 있습니다. 하지만 기존의 클러스터 또는 복제 그룹을 삭제하고 새로 만들지 않는 한 이전 엔진 버전으로 다운그레이드할 수 없습니다. 자세한 내용은 [ElastiCache용 버전 관리](VersionManagement.md) 단원을 참조하십시오.
아래 예와 같이 콘솔, [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html) API 또는 [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html) CLI 명령을 사용하여 클러스터 모드 비활성화를 사용하는 기존 ElastiCache for Valkey 또는 Redis OSS 클러스터를 클러스터 모드 활성화를 사용하도록 업그레이드할 수 있습니다. 또는 [클러스터 모드 수정](modify-cluster-mode.md)의 단계를 따를 수 있습니다.

ElastiCache 콘솔, 또는 ElastiCache API를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터의 ElastiCache. AWS CLI현재 ElastiCache에서는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹에 대한 제한된 수의 수정을 지원합니다. 다른 수정의 경우에는 현재 복제 그룹의 백업을 생성한 후 해당 백업을 사용해 새 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹을 시드해야 합니다.

**Topics**
+ [사용 AWS Management Console](#Replication.Modify.CON)
+ [사용 AWS CLI](#Replication.Modify.CLI)
+ [ElastiCache API 사용](#Replication.Modify.API)

## 사용 AWS Management Console
<a name="Replication.Modify.CON"></a>

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터를 수정하는 방법에 대해서는 [ElastiCache 클러스터 수정](Clusters.Modify.md) 섹션을 참조하세요.

## 사용 AWS CLI
<a name="Replication.Modify.CLI"></a>

다음은 `modify-replication-group` 명령의 AWS CLI 예입니다. 동일한 명령을 사용하여 복제 그룹을 수정할 수 있습니다.

**기존 Valkey 또는 Redis OSS 복제 그룹에서 다중 AZ 활성화:**

Linux, macOS, Unix의 경우:

```
aws elasticache modify-replication-group \
   --replication-group-id myReplGroup \
   --multi-az-enabled = true
```

Windows의 경우:

```
aws elasticache modify-replication-group ^
   --replication-group-id myReplGroup ^
   --multi-az-enabled
```

**클러스터 모드를 비활성화에서 활성화로 수정:**

클러스터 모드를 *비활성화*에서 *활성화*로 수정하려면 먼저 클러스터 모드를 *호환*으로 설정해야 합니다. 호환 모드를 사용하면 클러스터 모드를 활성화한 상태와 클러스터 모드를 비활성화한 상태 모두에서 Valkey 또는 Redis OSS 클라이언트를 연결할 수 있습니다. 클러스터 모드 활성화를 사용하도록 모든 Valkey 또는 Redis OSS 클라이언트를 마이그레이션한 후 클러스터 모드 구성을 완료하고 클러스터 모드를 *활성화*로 설정할 수 있습니다.

Linux, macOS, Unix의 경우:

클러스터 모드를 *호환*으로 설정합니다.

```
aws elasticache modify-replication-group \
   --replication-group-id myReplGroup \
   --cache-parameter-group-name myParameterGroupName \
   --cluster-mode compatible
```

클러스터 모드를 *활성화*로 설정합니다.

```
aws elasticache modify-replication-group \
   --replication-group-id myReplGroup \
   --cluster-mode enabled
```

Windows의 경우:

클러스터 모드를 *호환*으로 설정합니다.

```
aws elasticache modify-replication-group ^
   --replication-group-id myReplGroup ^
   --cache-parameter-group-name myParameterGroupName ^
   --cluster-mode compatible
```

클러스터 모드를 *활성화*로 설정합니다.

```
aws elasticache modify-replication-group ^
   --replication-group-id myReplGroup ^
   --cluster-mode enabled
```

명령에 AWS CLI `modify-replication-group` 대한 자세한 내용은 *ElastiCache for Redis OSS 사용 설명서*의 [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html) 또는 [클러스터 모드 수정]()을 참조하세요.

## ElastiCache API 사용
<a name="Replication.Modify.API"></a>

다음 ElastiCache API 작업은 기존 Valkey 또는 Redis OSS 복제 그룹에서 다중 AZ를 활성화합니다. 동일한 작업을 사용하여 복제 그룹을 수정할 수 있습니다.

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=ModifyReplicationGroup
   &AutomaticFailoverEnabled=true  
   &Mutli-AZEnabled=true  
   &ReplicationGroupId=myReplGroup
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20141201T220302Z
   &Version=2014-12-01
   &X-Amz-Algorithm=&AWS;4-HMAC-SHA256
   &X-Amz-Date=20141201T220302Z
   &X-Amz-SignedHeaders=Host
   &X-Amz-Expires=20141201T220302Z
   &X-Amz-Credential=<credential>
   &X-Amz-Signature=<signature>
```

ElastiCache API `ModifyReplicationGroup` 작업에 대한 자세한 내용은 [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html) 섹션을 참조하세요.

# 복제 그룹 삭제
<a name="Replication.DeletingRepGroup"></a>

복제본이 있는 클러스터(API/CLI에서는 *복제 그룹*이라고 함)이 더 이상 필요하지 않으면 삭제할 수 있습니다. 복제 그룹을 삭제할 때 ElastiCache는 해당 그룹의 노드를 모두 삭제합니다.

작업을 시작한 후에는 중단하거나 취소할 수 없습니다.

**주의**  
ElastiCache for Redis OSS 클러스터를 삭제하는 경우 수동 스냅샷은 유지됩니다. 클러스터를 삭제하기 전에 최종 스냅샷을 생성할 수 있는 옵션도 있습니다. 자동 캐시 스냅샷은 보존되지 않습니다.
최종 스냅샷을 생성하려면 `CreateSnapshot` 권한이 필요합니다. 이 권한이 없으면 API 호출이 실패하고 `Access Denied` 예외가 발생합니다.

## 복제 그룹 삭제(콘솔)
<a name="Replication.DeletingRepGroup.CON"></a>

복제본이 있는 클러스터를 삭제하려면 [ElastiCache에서 클러스터 삭제](Clusters.Delete.md)를 참조하세요.

## 복제 그룹 삭제(AWS CLI)
<a name="Replication.DeletingRepGroup.CLI"></a>

[delete-replication-group](https://docs.aws.amazon.com/AmazonElastiCache/latest/CommandLineReference/CLIReference-cmd-DeleteReplicationGroup.html) 명령을 사용해 복제 그룹을 삭제합니다.

```
aws elasticache delete-replication-group --replication-group-id my-repgroup 
```

결정을 확인하라는 메시지가 나타납니다. 즉시 작업을 시작하려면 [*y*](예)를 입력합니다. 프로세스가 시작되면 되돌릴 수 없습니다.

```
						
   After you begin deleting this replication group, all of its nodes will be deleted as well.
   Are you sure you want to delete this replication group? [Ny]y

REPLICATIONGROUP  my-repgroup  My replication group  deleting
```

## 복제 그룹 삭제(ElastiCache API)
<a name="Replication.DeletingRepGroup.API"></a>

[DeleteReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteReplicationGroup.html) 파라미터를 사용하여 `ReplicationGroup`을 호출하세요.

**Example**  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DeleteReplicationGroup
   &ReplicationGroupId=my-repgroup
   &Version=2014-12-01
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20141201T220302Z
   &X-Amz-Algorithm=&AWS;4-HMAC-SHA256
   &X-Amz-Date=20141201T220302Z
   &X-Amz-SignedHeaders=Host
   &X-Amz-Expires=20141201T220302Z
   &X-Amz-Credential=<credential>
   &X-Amz-Signature=<signature>
```

**참고**  
`RetainPrimaryCluster` 파라미터를 `true`로 설정하면 모든 읽기 전용 복제본이 삭제되지만 기본 클러스터는 보존됩니다.

# 복제본 수 변경
<a name="increase-decrease-replica-count"></a>

AWS Management Console, AWS CLI 또는 ElastiCache API를 사용해 Valkey 또는 Redis OSS 복제 그룹의 읽기 전용 복제본 수를 동적으로 늘리거나 줄일 수 있습니다. 복제 그룹이 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹인 경우 복제본 수를 늘리거나 줄일 샤드(노드 그룹)를 선택할 수 있습니다.

복제 그룹의 복제본 수를 동적으로 변경하려면 다음 표에서 상황에 맞는 작업을 선택하세요.


| 수행 방법 | Valkey 또는 Redis OSS(클러스터 모드 활성화됨)의 경우 | Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)의 경우 | 
| --- | --- | --- | 
|  복제본 추가  |  [샤드의 복제본 수 늘리기](increase-replica-count.md)  |  [샤드의 복제본 수 늘리기](increase-replica-count.md) [Valkey 또는 Redis OSS에 대한 읽기 전용 복제본 추가(클러스터 모드 비활성화됨)](Replication.AddReadReplica.md)  | 
|  복제본 삭제  |  [샤드의 복제본 수 줄이기](decrease-replica-count.md)  |  [샤드의 복제본 수 줄이기](decrease-replica-count.md) [Valkey 또는 Redis OSS에 대한 읽기 전용 복제본 삭제(클러스터 모드 비활성화됨)](Replication.RemoveReadReplica.md)  | 

# 샤드의 복제본 수 늘리기
<a name="increase-replica-count"></a>

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 샤드 또는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹의 복제본 수를 최대 5개까지 늘릴 수 있습니다. AWS Management Console, AWS CLI 또는 ElastiCache API를 사용해 늘릴 수 있습니다.

**Topics**
+ [AWS Management Console 사용](#increase-replica-count-con)
+ [AWS CLI 사용](#increase-replica-count-cli)
+ [ElastiCache API 사용](#increase-replica-count-api)

## AWS Management Console 사용
<a name="increase-replica-count-con"></a>

다음 절차는 콘솔을 사용해 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹의 복제본 수를 늘립니다.

**샤드의 복제본 수를 늘리는 방법**

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

1. 탐색 창에서 **Valkey** 또는 **Redis OSS**를 선택한 후 복제본을 추가할 복제 그룹의 이름을 선택합니다.

1. 복제본을 추가할 각 샤드의 상자를 선택합니다.

1. **복제본 추가**를 선택합니다.

1. **샤드에 복제본 추가** 페이지를 완료합니다.
   + **새 복제본/샤드 수**에 선택한 모든 샤드에 있도록 하려는 복제본 수를 입력합니다. 이 값은 **샤드당 현재 복제본 수**보다 크거나 같아야 하며 5보다 작거나 같아야 합니다. 최소한 두 개의 복제본을 사용하는 것이 좋습니다.
   + **가용 영역**에서 **기본 설정 없음**을 선택하여 ElastiCache가 각각의 새 복제본에 대해 가용 영역을 지정하게 하거나 **가용 영역 지정**을 선택하여 각각의 새 복제본에 대해 가용 영역을 선택합니다.

     **가용 영역 지정**를 선택할 경우 목록을 사용해 각각의 새 복제본에 대해 가용 영역을 지정하세요.

1. **추가**를 선택하여 복제본을 추가하거나 **취소**를 선택하여 작업을 취소합니다.

## AWS CLI 사용
<a name="increase-replica-count-cli"></a>

Valkey 또는 Redis OSS 샤드의 복제본 수를 늘리려면 다음 파라미터와 함께 `increase-replica-count` 명령을 사용합니다.
+ `--replication-group-id` - 필수입니다. 복제본 수를 늘리려는 복제 그룹을 식별합니다.
+ `--apply-immediately` 또는 `--no-apply-immediately` – 필수입니다. 복제본 수를 즉시 늘릴 것인지(`--apply-immediately`) 아니면 다음 번 유지 관리 기간에 늘릴 것인지(`--no-apply-immediately`) 지정합니다. 현재 `--no-apply-immediately`는 지원되지 않습니다.
+ `--new-replica-count` – 선택 사항입니다. 완료된 경우 원하는 복제본 노드의 수를 최대 5개까지 지정합니다. 노드 그룹 또는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 그룹만 있거나 모든 노드 그룹에 동일한 수의 복제본을 포함하려는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에 대해 이 파라미터를 사용합니다. 이 값이 노드 그룹의 현재 복제본 수보다 크지 않은 경우 호출이 실패하고 예외가 발생합니다.
+ `--replica-configuration` – 선택 사항입니다. 각 노드 그룹에 대해 독립적으로 복제본 수와 가용 영역을 설정할 수 있도록 합니다. 각 노드 그룹을 독립적으로 구성하려는 경우 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 그룹에 대해 이 파라미터를 사용하세요.

  `--replica-configuration`에는 다음의 선택 멤버 3개가 있습니다.
  + `NodeGroupId` - 구성하는 노드 그룹의 4자리 ID입니다. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹의 경우 샤드 ID는 항상 `0001`입니다. Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 노드 그룹(샤드)의 ID를 찾으려면 [샤드 ID 찾기](Shards.md#shard-find-id) 섹션을 참조하세요.
  + `NewReplicaCount` - 이 작업이 끝날 때 이 노드 그룹에 둘 복제본의 수입니다. 값은 현재 복제본 수보다 커야 하며, 최대 5개까지입니다. 이 값이 노드 그룹의 현재 복제본 수보다 크지 않은 경우 호출이 실패하고 예외가 발생합니다.
  + `PreferredAvailabilityZones` - 복제 그룹의 노드가 있을 가용 영역을 지정하는 `PreferredAvailabilityZone` 문자열의 목록입니다. `PreferredAvailabilityZone` 값의 수는 프라이머리 노드를 고려하여 `NewReplicaCount`에 1을 더한 값과 같아야 합니다. 이 `--replica-configuration` 멤버가 생략되면 ElastiCache for Redis는 각각의 새 복제본에 대해 가용 영역을 선택합니다.

**중요**  
호출에 `--new-replica-count` 또는 `--replica-configuration` 파라미터를 포함해야 하지만, 둘 다 포함해서는 안 됩니다.

**Example**  
다음은 복제 그룹 `sample-repl-group`의 복제본 수를 3으로 늘리는 예입니다. 예제가 완료되면 각 노드 그룹에 복제본 3개가 있습니다. 단일 노드 그룹의 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 그룹이든 여러 노드 그룹의 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 그룹이든 관계없이 이 숫자가 적용됩니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache increase-replica-count \
    --replication-group-id sample-repl-group \
    --new-replica-count 3 \
    --apply-immediately
```
Windows의 경우:  

```
aws elasticache increase-replica-count ^
    --replication-group-id sample-repl-group ^
    --new-replica-count 3 ^
    --apply-immediately
```
다음은 복제 그룹 `sample-repl-group`의 복제본 수를 지정된 2개의 노드 그룹에 대해 지정된 값으로 늘리는 예입니다. 여러 노드 그룹이 있는 경우 이는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹입니다. 선택적 `PreferredAvailabilityZones`를 지정할 때 나열된 가용 영역 수는 `NewReplicaCount`에 1 이상을 더한 값과 같아야 합니다. 이러한 접근 방식은 `NodeGroupId`에서 식별한 그룹에 대한 프라이머리 노드를 설명합니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache increase-replica-count \
    --replication-group-id sample-repl-group \
    --replica-configuration \
        NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c,us-east-1b \
        NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c,us-east-1c \
    --apply-immediately
```
Windows의 경우:  

```
aws elasticache increase-replica-count ^
    --replication-group-id sample-repl-group ^
    --replica-configuration ^
        NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c,us-east-1b ^
        NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c,us-east-1c \
    --apply-immediately
```

CLI를 사용하여 복제본 수를 늘리는 것에 대한 자세한 내용은 *Amazon ElastiCache 명령줄 레퍼런스*의 [increase-replica-count](https://docs.aws.amazon.com/cli/latest/reference/elasticache/increase-replica-count.html)를 참조하세요.

## ElastiCache API 사용
<a name="increase-replica-count-api"></a>

Valkey 또는 Redis OSS 샤드의 복제본 수를 늘리려면 다음 파라미터와 함께 `IncreaseReplicaCount` 작업을 사용합니다.
+ `ReplicationGroupId` - 필수입니다. 복제본 수를 늘리려는 복제 그룹을 식별합니다.
+ `ApplyImmediately` - 필수입니다. 복제본 수를 즉시 늘릴 것인지(`ApplyImmediately=True`) 아니면 다음 번 유지 관리 기간에 늘릴 것인지(`ApplyImmediately=False`) 지정합니다. 현재 `ApplyImmediately=False`는 지원되지 않습니다.
+ `NewReplicaCount` – 선택 사항입니다. 완료된 경우 원하는 복제본 노드의 수를 최대 5개까지 지정합니다. 노드 그룹이 하나만 있는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에 대해 또는 모든 노드 그룹에 동일한 수의 복제본이 있도록 하려는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 그룹에 대해 이 파라미터를 사용합니다. 이 값이 노드 그룹의 현재 복제본 수보다 크지 않은 경우 호출이 실패하고 예외가 발생합니다.
+ `ReplicaConfiguration` – 선택 사항입니다. 각 노드 그룹에 대해 독립적으로 복제본 수와 가용 영역을 설정할 수 있도록 합니다. 각 노드 그룹을 독립적으로 구성하려는 경우 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 그룹에 대해 이 파라미터를 사용하세요.

  `ReplicaConfiguraion`에는 다음의 선택 멤버 3개가 있습니다.
  + `NodeGroupId` - 구성하는 노드 그룹의 4자리 ID입니다. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹의 경우 노드 그룹(샤드) ID는 항상 `0001`입니다. Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 노드 그룹(샤드)의 ID를 찾으려면 [샤드 ID 찾기](Shards.md#shard-find-id) 섹션을 참조하세요.
  + `NewReplicaCount` - 이 작업이 끝날 때 이 노드 그룹에 둘 복제본의 수입니다. 값은 현재 복제본 수보다 커야 하며 최대 5개까지입니다. 이 값이 노드 그룹의 현재 복제본 수보다 크지 않은 경우 호출이 실패하고 예외가 발생합니다.
  + `PreferredAvailabilityZones` - 복제 그룹의 노드가 있을 가용 영역을 지정하는 `PreferredAvailabilityZone` 문자열의 목록입니다. `PreferredAvailabilityZone` 값의 수는 프라이머리 노드를 고려하여 `NewReplicaCount`에 1을 더한 값과 같아야 합니다. 이 `ReplicaConfiguration` 멤버가 생략되면 ElastiCache for Redis는 각각의 새 복제본에 대해 가용 영역을 선택합니다.

**중요**  
호출에 `NewReplicaCount` 또는 `ReplicaConfiguration` 파라미터를 포함해야 하지만, 둘 다 포함해서는 안 됩니다.

**Example**  
다음은 복제 그룹 `sample-repl-group`의 복제본 수를 3으로 늘리는 예입니다. 예제가 완료되면 각 노드 그룹에 복제본 3개가 있습니다. 단일 노드 그룹의 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 그룹이든 여러 노드 그룹의 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 그룹이든 관계없이 이 숫자가 적용됩니다.  

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=IncreaseReplicaCount
      &ApplyImmediately=True
      &NewReplicaCount=3
      &ReplicationGroupId=sample-repl-group
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```
다음은 복제 그룹 `sample-repl-group`의 복제본 수를 지정된 2개의 노드 그룹에 대해 지정된 값으로 늘리는 예입니다. 여러 노드 그룹이 있는 경우 이는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹입니다. 선택적 `PreferredAvailabilityZones`를 지정할 때 나열된 가용 영역 수는 `NewReplicaCount`에 1 이상을 더한 값과 같아야 합니다. 이러한 접근 방식은 `NodeGroupId`에서 식별한 그룹에 대한 프라이머리 노드를 설명합니다.  

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=IncreaseReplicaCount
      &ApplyImmediately=True
      &ReplicaConfiguration.ConfigureShard.1.NodeGroupId=0001
      &ReplicaConfiguration.ConfigureShard.1.NewReplicaCount=2
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1c
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.3=us-east-1b
      &ReplicaConfiguration.ConfigureShard.2.NodeGroupId=0003
      &ReplicaConfiguration.ConfigureShard.2.NewReplicaCount=3
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1b
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.3=us-east-1c
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.4=us-east-1c
      &ReplicationGroupId=sample-repl-group
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```

API를 사용하여 복제본 수를 늘리는 것에 대한 자세한 내용은 *Amazon ElastiCache API 참조*의 [IncreaseReplicaCount](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_IncreaseReplicaCount.html)를 참조하세요.

# 샤드의 복제본 수 줄이기
<a name="decrease-replica-count"></a>

Valkey 또는 Redis OSS(클러스터 모드 활성화됨)에 대한 샤드 또는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)에 대한 복제 그룹의 복제본 수를 줄일 수 있습니다.
+ Valkey 또는 Redis OSS(클러스터 모드 비활성화됨)의 경우 다중 AZ가 활성화된 경우 1로, 활성화되지 않은 경우 0으로 복제본 수를 줄일 수 있습니다.
+ Valkey 또는 Redis OSS(클러스터 모드 활성화됨)의 경우 복제본 수를 0으로 줄일 수 있습니다. 그러나 프라이머리 노드가 실패할 경우 복제본으로 장애 조치를 수행할 수 없습니다.

AWS Management Console, AWS CLI 또는 ElastiCache API를 사용해 노드 그룹(샤드) 또는 복제 그룹의 복제본 수를 줄일 수 있습니다.

**Topics**
+ [AWS Management Console 사용](#decrease-replica-count-con)
+ [AWS CLI 사용](#decrease-replica-count-cli)
+ [ElastiCache API 사용](#decrease-replica-count-api)

## AWS Management Console 사용
<a name="decrease-replica-count-con"></a>

다음 절차는 콘솔을 사용해 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹의 복제본 수를 줄입니다.

**Valkey 또는 Redis OSS 샤드의 복제본 수 줄이는 방법**

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

1. 탐색 창에서 **Valkey** 또는 **Redis OSS**를 선택한 후 복제본을 삭제할 복제 그룹의 이름을 선택합니다.

1. 복제본 노드를 제거할 각 샤드의 상자를 선택합니다.

1. **Delete replicas(복제본 삭제)**를 선택합니다.

1. **Delete Replicas from Shards(샤드에서 복제본 삭제)** 페이지를 완료합니다.

   1. **New number of replicas/shard(새 복제본/샤드 수)**에 선택한 샤드에 있도록 하려는 복제본 수를 입력합니다. 이 숫자는 1보다 크거나 같아야 합니다. 샤드마다 최소한 두 개의 복제본을 사용하는 것이 좋습니다.

   1. **삭제**를 선택하여 복제본을 삭제하거나 **취소**를 선택하여 작업을 취소합니다.

**중요**  
삭제할 복제본 노드를 지정하지 않으면 ElastiCache for Redis OSS에서 삭제할 복제본 노드를 자동으로 선택합니다. 이렇게 하는 동안 ElastiCache for Redis OSS는 복제 그룹의 다중 AZ 아키텍처를 유지하고, 프라이머리 노드를 사용하여 최소 복제 지연 시간으로 복제본을 유지하려고 시도합니다.
복제 그룹의 프라이머리 노드는 삭제할 수 없습니다. 프라이머리 노드를 삭제하도록 지정하면 작업이 실패하고, 프라이머리 노드가 삭제되도록 선택되었음을 나타내는 오류 이벤트가 발생합니다.

## AWS CLI 사용
<a name="decrease-replica-count-cli"></a>

Valkey 또는 Redis OSS 샤드의 복제본 수를 줄이려면 다음 파라미터와 함께 `decrease-replica-count` 명령을 사용합니다.
+ `--replication-group-id` - 필수입니다. 복제본 수를 줄이려는 복제 그룹을 식별합니다.
+ `--apply-immediately` 또는 `--no-apply-immediately` – 필수입니다. 복제본 수를 즉시 줄일 것인지(`--apply-immediately`) 아니면 다음 번 유지 관리 기간에 줄일 것인지(`--no-apply-immediately`) 지정합니다. 현재 `--no-apply-immediately`는 지원되지 않습니다.
+ `--new-replica-count` – 선택 사항입니다. 원하는 복제본 노드의 수를 지정합니다. `--new-replica-count`의 값은 유효해야 하며, 노드 그룹의 현재 복제본 수보다 작아야 합니다. 허용된 최소값은 [샤드의 복제본 수 줄이기](#decrease-replica-count) 섹션을 참조하세요. `--new-replica-count`의 값이 이 요구 사항을 충족하지 않는 경우 호출이 실패합니다.
+ `--replicas-to-remove` – 선택 사항입니다. 제거할 복제본 노드를 지정하는 노드 ID 목록을 포함합니다.
+ `--replica-configuration` – 선택 사항입니다. 각 노드 그룹에 대해 독립적으로 복제본 수와 가용 영역을 설정할 수 있도록 합니다. 각 노드 그룹을 독립적으로 구성하려는 경우 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 그룹에 대해 이 파라미터를 사용하세요.

  `--replica-configuration`에는 다음의 선택 멤버 3개가 있습니다.
  + `NodeGroupId` - 구성하는 노드 그룹의 4자리 ID입니다. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹의 경우 샤드 ID는 항상 `0001`입니다. Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 노드 그룹(샤드)의 ID를 찾으려면 [샤드 ID 찾기](Shards.md#shard-find-id) 섹션을 참조하세요.
  + `NewReplicaCount` - 선택적 파라미터로, 원하는 복제본 노드의 수를 지정합니다. `NewReplicaCount`의 값은 유효해야 하며, 노드 그룹의 현재 복제본 수보다 작아야 합니다. 허용된 최소값은 [샤드의 복제본 수 줄이기](#decrease-replica-count) 섹션을 참조하세요. `NewReplicaCount`의 값이 이 요구 사항을 충족하지 않는 경우 호출이 실패합니다.
  + `PreferredAvailabilityZones` - 복제 그룹의 노드가 있는 가용 영역을 지정하는 `PreferredAvailabilityZone` 문자열의 목록입니다. `PreferredAvailabilityZone` 값의 수는 프라이머리 노드를 고려하여 `NewReplicaCount`에 1을 더한 값과 같아야 합니다. 이 `--replica-configuration` 멤버가 생략되면 ElastiCache for Redis는 각각의 새 복제본에 대해 가용 영역을 선택합니다.

**중요**  
`--new-replica-count`, `--replicas-to-remove` 또는 `--replica-configuration` 파라미터 중 하나만 포함해야 합니다.

**Example**  
다음은 `--new-replica-count`를 사용해 복제 그룹 `sample-repl-group`의 복제본 수를 1로 줄이는 예입니다. 예제가 완료되면 각 노드 그룹에 복제본 1개가 있습니다. 단일 노드 그룹의 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 그룹이든 여러 노드 그룹의 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 그룹이든 관계없이 이 숫자가 적용됩니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache decrease-replica-count
    --replication-group-id sample-repl-group \
    --new-replica-count 1 \
    --apply-immediately
```
Windows의 경우:  

```
aws elasticache decrease-replica-count ^
    --replication-group-id sample-repl-group ^
    --new-replica-count 1 ^
    --apply-immediately
```
다음은 노드 그룹에서 지정된 복제본 2개(`sample-repl-group` 및 `0001`)를 제거하여 복제 그룹 `0003`의 복제본 수를 줄이는 예입니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache decrease-replica-count \
    --replication-group-id sample-repl-group \
    --replicas-to-remove 0001,0003 \
    --apply-immediately
```
Windows의 경우:  

```
aws elasticache decrease-replica-count ^
    --replication-group-id sample-repl-group ^
    --replicas-to-remove 0001,0003 \
    --apply-immediately
```
다음은 `--replica-configuration`을 사용해 복제 그룹 `sample-repl-group`의 복제본 수를 지정된 2개의 노드 그룹에 대해 지정된 값으로 줄이는 예입니다. 여러 노드 그룹이 있는 경우 이는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹입니다. 선택적 `PreferredAvailabilityZones`를 지정할 때 나열된 가용 영역 수는 `NewReplicaCount`에 1 이상을 더한 값과 같아야 합니다. 이러한 접근 방식은 `NodeGroupId`에서 식별한 그룹에 대한 프라이머리 노드를 설명합니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache decrease-replica-count \
    --replication-group-id sample-repl-group \
    --replica-configuration \
        NodeGroupId=0001,NewReplicaCount=1,PreferredAvailabilityZones=us-east-1a,us-east-1c \
        NodeGroupId=0003,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c \
    --apply-immediately
```
Windows의 경우:  

```
aws elasticache decrease-replica-count ^
    --replication-group-id sample-repl-group ^
    --replica-configuration ^
        NodeGroupId=0001,NewReplicaCount=2,PreferredAvailabilityZones=us-east-1a,us-east-1c ^
        NodeGroupId=0003,NewReplicaCount=3,PreferredAvailabilityZones=us-east-1a,us-east-1b,us-east-1c \
    --apply-immediately
```

CLI를 사용하여 복제본 수를 줄이는 것에 대한 자세한 내용은 *Amazon ElastiCache 명령줄 레퍼런스*의 [decrease-replica-count](https://docs.aws.amazon.com/cli/latest/reference/elasticache/decrease-replica-count.html)를 참조하세요.

## ElastiCache API 사용
<a name="decrease-replica-count-api"></a>

Valkey 또는 Redis OSS 샤드의 복제본 수를 줄이려면 다음 파라미터와 함께 `DecreaseReplicaCount` 작업을 사용합니다.
+ `ReplicationGroupId` - 필수입니다. 복제본 수를 줄이려는 복제 그룹을 식별합니다.
+ `ApplyImmediately` - 필수입니다. 복제본 수를 즉시 줄일 것인지(`ApplyImmediately=True`) 아니면 다음 번 유지 관리 기간에 줄일 것인지(`ApplyImmediately=False`) 지정합니다. 현재 `ApplyImmediately=False`는 지원되지 않습니다.
+ `NewReplicaCount` – 선택 사항입니다. 원하는 복제본 노드의 수를 지정합니다. `NewReplicaCount`의 값은 유효해야 하며, 노드 그룹의 현재 복제본 수보다 작아야 합니다. 허용된 최소값은 [샤드의 복제본 수 줄이기](#decrease-replica-count) 섹션을 참조하세요. `--new-replica-count`의 값이 이 요구 사항을 충족하지 않는 경우 호출이 실패합니다.
+ `ReplicasToRemove` – 선택 사항입니다. 제거할 복제본 노드를 지정하는 노드 ID 목록을 포함합니다.
+ `ReplicaConfiguration` – 선택 사항입니다. 각 노드 그룹에 대해 독립적으로 복제본 수와 가용 영역을 설정할 수 있도록 허용하는 노드 그룹의 목록을 포함합니다. 각 노드 그룹을 독립적으로 구성하려는 경우 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 그룹에 대해 이 파라미터를 사용하세요.

  `ReplicaConfiguraion`에는 다음의 선택 멤버 3개가 있습니다.
  + `NodeGroupId` - 구성하는 노드 그룹의 4자리 ID입니다. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹의 경우 노드 그룹 ID는 항상 `0001`입니다. Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 노드 그룹(샤드)의 ID를 찾으려면 [샤드 ID 찾기](Shards.md#shard-find-id) 섹션을 참조하세요.
  + `NewReplicaCount` - 이 작업이 끝날 때 이 노드 그룹에 둘 복제본의 수입니다. 값은 현재 복제본 수보다 작아야 하며, 다중 AZ가 활성화된 경우 최소 1 또는 자동 장애 조치가 있는 다중 AZ가 활성화되지 않은 경우 0까지 줄입니다. 이 값이 노드 그룹의 현재 복제본 수보다 작지 않은 경우 호출이 실패하고 예외가 발생합니다.
  + `PreferredAvailabilityZones` - 복제 그룹의 노드가 있는 가용 영역을 지정하는 `PreferredAvailabilityZone` 문자열의 목록입니다. `PreferredAvailabilityZone` 값의 수는 프라이머리 노드를 고려하여 `NewReplicaCount`에 1을 더한 값과 같아야 합니다. 이 `ReplicaConfiguration` 멤버가 생략되면 ElastiCache for Redis는 각각의 새 복제본에 대해 가용 영역을 선택합니다.

**중요**  
`NewReplicaCount`, `ReplicasToRemove` 또는 `ReplicaConfiguration` 파라미터 중 하나만 포함해야 합니다.

**Example**  
다음은 `NewReplicaCount`를 사용해 복제 그룹 `sample-repl-group`의 복제본 수를 1로 줄이는 예입니다. 예제가 완료되면 각 노드 그룹에 복제본 1개가 있습니다. 단일 노드 그룹의 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 그룹이든 여러 노드 그룹의 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 그룹이든 관계없이 이 숫자가 적용됩니다.  

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=DecreaseReplicaCount
      &ApplyImmediately=True
      &NewReplicaCount=1
      &ReplicationGroupId=sample-repl-group
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```
다음은 노드 그룹에서 지정된 복제본 2개(`sample-repl-group` 및 `0001`)를 제거하여 복제 그룹 `0003`의 복제본 수를 줄이는 예입니다.  

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=DecreaseReplicaCount
      &ApplyImmediately=True
      &ReplicasToRemove.ReplicaToRemove.1=0001
      &ReplicasToRemove.ReplicaToRemove.2=0003
      &ReplicationGroupId=sample-repl-group
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```
다음은 `ReplicaConfiguration`을 사용해 복제 그룹 `sample-repl-group`의 복제본 수를 지정된 2개의 노드 그룹에 대해 지정된 값으로 줄이는 예입니다. 여러 노드 그룹이 있는 경우 이는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹입니다. 선택적 `PreferredAvailabilityZones`를 지정할 때 나열된 가용 영역 수는 `NewReplicaCount`에 1 이상을 더한 값과 같아야 합니다. 이러한 접근 방식은 `NodeGroupId`에서 식별한 그룹에 대한 프라이머리 노드를 설명합니다.  

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=DecreaseReplicaCount
      &ApplyImmediately=True
      &ReplicaConfiguration.ConfigureShard.1.NodeGroupId=0001
      &ReplicaConfiguration.ConfigureShard.1.NewReplicaCount=1
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a
      &ReplicaConfiguration.ConfigureShard.1.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1c
      &ReplicaConfiguration.ConfigureShard.2.NodeGroupId=0003
      &ReplicaConfiguration.ConfigureShard.2.NewReplicaCount=2
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.1=us-east-1a
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.2=us-east-1b
      &ReplicaConfiguration.ConfigureShard.2.PreferredAvailabilityZones.PreferredAvailabilityZone.4=us-east-1c
      &ReplicationGroupId=sample-repl-group
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```

API를 사용하여 복제본 수를 줄이는 것에 대한 자세한 내용은 *Amazon ElastiCache API 참조*의 [DecreaseReplicaCount](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DecreaseReplicaCount.html)를 참조하세요.

# Valkey 또는 Redis OSS에 대한 읽기 전용 복제본 추가(클러스터 모드 비활성화됨)
<a name="Replication.AddReadReplica"></a>

다음 주제의 정보는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에만 적용됩니다.

읽기 트래픽이 증가함에 따라 이러한 읽기를 더 많은 노드로 분산시켜 어느 한 노드에 대한 읽기 압력을 줄이려고 할 수 있습니다. 이 주제에서는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에 읽기 전용 복제본을 추가하는 방법을 확인할 수 있습니다.

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹은 최대 5개의 읽기 전용 복제본을 가질 수 있습니다. 읽기 전용 복제본 5개가 이미 있는 복제 그룹에 읽기 전용 복제본을 추가하려고 하면 작업이 실패합니다.

Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹에 복제본을 추가하는 방법에 대한 자세한 내용은 다음을 참조하세요.
+ [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 규모 조정](scaling-redis-cluster-mode-enabled.md)
+ [샤드의 복제본 수 늘리기](increase-replica-count.md)

ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 읽기 전용 복제본을 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터에 추가할 수 있습니다.

**관련 주제**
+ [ElastiCache 클러스터에 노드 추가](Clusters.AddNode.md)
+ [복제 그룹에 읽기 전용 복제본 추가(AWS CLI)](#Replication.AddReadReplica.CLI)
+ [API를 사용해 복제 그룹에 읽기 전용 복제본 추가](#Replication.AddReadReplica.API)

## 복제 그룹에 읽기 전용 복제본 추가(AWS CLI)
<a name="Replication.AddReadReplica.CLI"></a>

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에 읽기 전용 복제본을 추가하려면 `--replication-group-id` 파라미터와 함께 AWS CLI `create-cache-cluster` 명령을 사용해 클러스터(노드)를 추가할 복제 그룹을 지정합니다.

다음 예제에서는 `my-read replica`클러스터를 생성하고 해당 클러스터를 `my-replication-group` 복제 그룹에 추가합니다. 읽기 전용 복제본의 노드 유형, 파라미터 그룹, 보안 그룹, 유지 관리 기간 및 기타 설정이 `my-replication-group`의 다른 노드와 동일해집니다.

Linux, macOS, Unix의 경우:

```
aws elasticache create-cache-cluster \
      --cache-cluster-id my-read-replica \
      --replication-group-id my-replication-group
```

Windows의 경우:

```
aws elasticache create-cache-cluster ^
      --cache-cluster-id my-read-replica ^
      --replication-group-id my-replication-group
```

CLI를 사용해 읽기 전용 복제본을 추가하는 것에 대한 자세한 내용은 *Amazon ElastiCache 명령줄 레퍼런스*의 [create-cache-cluster](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-cache-cluster.html) 섹션을 참조하세요.

## API를 사용해 복제 그룹에 읽기 전용 복제본 추가
<a name="Replication.AddReadReplica.API"></a>

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에 읽기 전용 복제본을 추가하려면 `ReplicationGroupId` 파라미터와 함께 ElastiCache `CreateCacheCluster` 작업을 사용해 클러스터(노드)를 추가할 복제 그룹을 지정합니다.

다음 예제에서는 `myReadReplica`클러스터를 생성하고 해당 클러스터를 `myReplicationGroup` 복제 그룹에 추가합니다. 읽기 전용 복제본의 노드 유형, 파라미터 그룹, 보안 그룹, 유지 관리 기간 및 기타 설정이 `myReplicationGroup`의 다른 노드와 동일해집니다.

```
https://elasticache.us-west-2.amazonaws.com/
      ?Action=CreateCacheCluster
      &CacheClusterId=myReadReplica
      &ReplicationGroupId=myReplicationGroup
      &Version=2015-02-02
      &SignatureVersion=4
      &SignatureMethod=HmacSHA256
      &Timestamp=20150202T192317Z
      &X-Amz-Credential=<credential>
```

API를 사용해 읽기 전용 복제본을 추가하는 것에 대한 자세한 내용은 *Amazon ElastiCache API 참조*의 [CreateCacheCluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheCluster.html) 섹션을 참조하세요.

# Valkey 또는 Redis OSS에 대한 읽기 전용 복제본 삭제(클러스터 모드 비활성화됨)
<a name="Replication.RemoveReadReplica"></a>

다음 주제의 정보는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에만 적용됩니다.

Valkey 또는 Redis OSS 복제 그룹에서 읽기 트래픽이 변경되면 읽기 전용 복제본을 추가하거나 제거하려고 할 수 있습니다. 복제 그룹에서 노드를 제거하는 것은 클러스터를 삭제하는 것과 동일하지만 다음과 같은 제한이 있습니다.
+ 복제 그룹에서 기본을 제거할 수 없습니다. 기본을 삭제하려면 다음을 수행하세요.

  1. 읽기 전용 복제본을 기본으로 승격합니다. 기본으로 읽기 전용 복제본 승격에 대한 자세한 내용은 [Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에 대해 읽기 전용 복제본을 기본으로 승격](Replication.PromoteReplica.md)을 참조하세요.

  1. 이전 기본을 삭제합니다. 이 메서드에 대한 제한 사항은 다음 요점을 참조하세요.
+ 복제 그룹에서 다중 AZ가 활성화된 경우 이 복제 그룹에서 마지막 읽기 전용 복제본을 제거할 수 없습니다. 이 경우 다음과 같이 합니다.

  1. 복제 그룹을 수정하여 다중 AZ를 비활성화합니다. 자세한 내용은 [복제 그룹 수정](Replication.Modify.md) 섹션을 참조하세요.

  1. 읽기 전용 복제본을 삭제합니다.

ElastiCache 콘솔, ElastiCache용 AWS CLI 또는 ElastiCache API를 사용하여 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에서 읽기 전용 복제본을 제거할 수 있습니다.

Valkey 또는 Redis OSS 복제 그룹의 클러스터 삭제에 대한 지침은 다음을 참조하세요.
+ [사용AWS Management Console](Clusters.Delete.md#Clusters.Delete.CON)
+ [AWS CLI를 사용하여 ElastiCache 클러스터 삭제](Clusters.Delete.md#Clusters.Delete.CLI)
+ [ElastiCache API 사용](Clusters.Delete.md#Clusters.Delete.API)
+ [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 규모 조정](scaling-redis-cluster-mode-enabled.md)
+ [샤드의 복제본 수 줄이기](decrease-replica-count.md)

# Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에 대해 읽기 전용 복제본을 기본으로 승격
<a name="Replication.PromoteReplica"></a>

다음 주제의 정보는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹에만 적용됩니다.

AWS Management Console, AWS CLI 또는 ElastiCache API를 사용해 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 읽기 전용 복제본을 기본으로 승격할 수 있습니다. 자동 장애 조치가 포함된 다중 AZ가 복제 그룹에서 활성화되어 있는 동안에는 읽기 전용 복제본을 기본으로 승격할 수 없습니다. 다중 AZ가 활성화된 복제 그룹에서 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제본을 기본으로 승격하려면 다음을 수행하세요.

1. 다중 AZ를 비활성하도록 복제 그룹을 수정합니다(수정할 때 모든 클러스터가 동일 가용 영역에 있을 필요는 없음). 자세한 내용은 [복제 그룹 수정](Replication.Modify.md) 섹션을 참조하세요.

1. 읽기 전용 복제본을 기본으로 승격합니다.

1. 다중 AZ를 다시 활성화하도록 복제 그룹을 수정합니다.

Redis OSS 2.6.13 이전 버전을 실행하는 복제 그룹에서는 다중 AZ를 사용할 수 없습니다.

## AWS Management Console 사용
<a name="Replication.PromoteReplica.CON"></a>

다음 절차에서는 콘솔을 사용해 복제본 노드를 기본 노드로 승격합니다.

**읽기 전용 복제본을 기본으로 승격하려면(콘솔)**

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

1. 승격하려는 복제본이 다중 AZ가 활성화된 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹의 멤버이면 계속 진행하기 전에 복제 그룹을 수정하여 다중 AZ를 비활성화해야 합니다. 자세한 내용은 [복제 그룹 수정](Replication.Modify.md) 섹션을 참조하세요.

1. **Valkey** 또는 **Redis OSS**를 선택한 후 클러스터 목록에서 수정할 복제 그룹을 선택합니다. 이 복제 그룹은 "Clustered Redis" 엔진이 아닌 "Redis" 엔진에서 실행되어야 하며, 2개 이상의 노드가 있어야 합니다.

1. 노드 목록에서 기본으로 승격할 복제본 노드를 선택한 후 **작업**에서 **Promote(승격)**를 선택합니다.

1. **Promote Read Replica(읽기 전용 복제본 승격)** 대화 상자에서 다음을 수행합니다.

   1. **Apply Immediately(즉시 적용)**에서 **예**를 선택하여 읽기 전용 복제본을 즉시 승격하거나 **아니요**를 선택하여 클러스터의 다음 번 유지 관리 기간에 승격합니다.

   1. [**Promote**]를 선택하여 읽기 전용 복제본을 승격하거나 [**Cancel**]을 선택하여 작업을 취소합니다.

1. 승격 프로세스를 시작하기 전에 클러스터에 다중 AZ가 활성화된 경우 복제 그룹의 상태가 **사용 가능**으로 될 때까지 기다린 후 클러스터를 수정하여 다중 AZ를 재활성화합니다. 자세한 내용은 [복제 그룹 수정](Replication.Modify.md) 섹션을 참조하세요.

## AWS CLI 사용
<a name="Replication.PromoteReplica.CLI"></a>

복제 그룹에 다중 AZ가 활성화되어 있으면 읽기 전용 복제본을 기본으로 승격할 수 없습니다. 일부 경우에 승격하려는 복제본은 다중 AZ가 활성화되어 있는 복제 그룹의 일원일 수 있습니다. 이러한 경우 계속하기 전에 다중 AZ를 비활성화하도록 복제 그룹을 수정해야 합니다. 수정할 때 모든 클러스터가 동일 가용 영역에 있을 필요는 없습니다. 복제 그룹 수정에 대한 자세한 내용은 [복제 그룹 수정](Replication.Modify.md)을 참조하세요.

다음 AWS CLI 명령은 복제 그룹 `sample-repl-group`을 수정하여 읽기 전용 복제본 `my-replica-1`을 복제 그룹의 기본으로 만듭니다.

Linux, macOS, Unix의 경우:

```
aws elasticache modify-replication-group \
   --replication-group-id sample-repl-group \
   --primary-cluster-id my-replica-1
```

Windows의 경우:

```
aws elasticache modify-replication-group ^
   --replication-group-id sample-repl-group ^
   --primary-cluster-id my-replica-1
```

복제 그룹 수정에 대한 자세한 내용은 *Amazon ElastiCache 명령줄 레퍼런스*의 [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html) 섹션을 참조하세요.

## ElastiCache API 사용
<a name="Replication.PromoteReplica.API"></a>

복제 그룹에 다중 AZ가 활성화되어 있으면 읽기 전용 복제본을 기본으로 승격할 수 없습니다. 일부 경우에 승격하려는 복제본은 다중 AZ가 활성화되어 있는 복제 그룹의 일원일 수 있습니다. 이러한 경우 계속하기 전에 다중 AZ를 비활성화하도록 복제 그룹을 수정해야 합니다. 수정할 때 모든 클러스터가 동일 가용 영역에 있을 필요는 없습니다. 복제 그룹 수정에 대한 자세한 내용은 [복제 그룹 수정](Replication.Modify.md)을 참조하세요.

다음 ElastiCache API 업은 읽기 전용 복제본 `myReplica-1`을 복제 그룹의 기본으로 만드는 복제 그룹 `myReplGroup`을 수정합니다.

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=ModifyReplicationGroup
   &ReplicationGroupId=myReplGroup
   &PrimaryClusterId=myReplica-1  
   &Version=2014-12-01
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20141201T220302Z
   &X-Amz-Algorithm=&AWS;4-HMAC-SHA256
   &X-Amz-Date=20141201T220302Z
   &X-Amz-SignedHeaders=Host
   &X-Amz-Expires=20141201T220302Z
   &X-Amz-Credential=<credential>
   &X-Amz-Signature=<signature>
```

복제 그룹 수정에 대한 자세한 내용은 *Amazon ElastiCache API 참조*의 [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html) 섹션을 참조하세요.