

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

# ElastiCache에서 노드 기반 클러스터 관리
<a name="manage-self-designed-cluster"></a>

ElastiCache는 서버리스 캐시와 노드 기반 클러스터의 두 가지 배포 옵션을 제공합니다. 각각 고유한 기능과 요구 사항이 있습니다.

이 섹션에는 노드 기반 클러스터를 관리하는 데 도움이 되는 항목이 포함되어 있습니다.

**참고**  
이러한 주제는 ElastiCache 서버리스에는 적용되지 않습니다.

**Topics**
+ [오토 스케일링 Valkey 및 Redis OSS 클러스터](AutoScaling.md)
+ [클러스터 모드 수정](modify-cluster-mode.md)
+ [글로벌 데이터 스토어를 사용하여AWS리전 간 복제](Redis-Global-Datastore.md)
+ [고가용성을 위한 복제 그룹 사용](Replication.md)
+ [ElastiCache 클러스터 유지 관리](maintenance-window.md)
+ [ElastiCache 파라미터 그룹을 사용해 엔진 파라미터 구성](ParameterGroups.md)

# 오토 스케일링 Valkey 및 Redis OSS 클러스터
<a name="AutoScaling"></a>

## 사전 조건
<a name="AutoScaling-Prerequisites"></a>

ElastiCache 오토 스케일링은 다음으로 제한됩니다.
+ Valkey 7.2 이상을 실행하거나 Redis OSS 6.0 이상을 실행하는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터
+ Valkey 7.2 이상을 실행하거나 Redis OSS 7.0.7 이상을 실행하는 데이터 계층화(클러스터 모드 활성화됨) 클러스터 
+ 인스턴스 크기 - Large, XLarge, 2XLarge
+ 인스턴스 유형 패밀리 - R7g, R6g, R6gd, R5, M7g, M6g, M5, C7gn
+ ElastiCache에서의 오토 스케일링은 글로벌 데이터 저장소, Outposts 또는 Local Zones에서 실행되는 클러스터에는 지원되지 않습니다.

## Valkey 또는 Redis OSS를 사용하는 ElastiCache 오토 스케일링을 사용하여 자동으로 용량 관리
<a name="AutoScaling-Managing"></a>

Valkey 또는 Redis OSS를 사용한 ElastiCache 오토 스케일링은 ElastiCache 서비스에서 원하는 샤드 또는 복제본을 자동으로 늘리거나 줄일 수 있는 기능입니다. ElastiCache는 Application Auto Scaling 서비스를 활용하여이 기능을 제공합니다. 자세한 내용은 [Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/what-is-application-auto-scaling.html) 섹션을 참조하세요. 자동 조정을 사용하려면 할당한 CloudWatch 지표 및 대상 값을 사용하는 조정 정책을 정의하고 적용합니다. ElastiCache 오토 스케일링은 정책을 사용하여 실제 워크로드에 대한 응답으로 인스턴스 수를 늘리거나 줄입니다.

AWS Management Console를 사용하여 사전 정의된 지표를 기반으로 조정 정책을 적용할 수 있습니다. `predefined metric`이 열거 형식으로 정의되어 이를 코드의 이름별로 지정하거나AWS Management Console에서 사용할 수 있습니다.AWS Management Console을 사용하여 선택하는 경우에는 사용자 지정 지표를 사용할 수 없습니다. 또는AWS CLI또는 Application Auto Scaling API를 사용하여 사전 정의 또는 사용자 지정 지표를 기반으로 조정 정책을 적용할 수 있습니다.

ElastiCache for Valkey 및 Redis OSS는 다음 차원에 대한 크기 조정을 지원합니다.
+ **샤드** - 수동 온라인 리샤딩과 유사하게 클러스터에서 샤드를 자동으로 추가/제거합니다. 이 경우 ElastiCache 오토 스케일링이 사용자를 대신해 크기 조정을 트리거합니다.
+ **복제본** - 수동 복제본 증가/감소 작업과 유사하게 클러스터에서 복제본을 자동으로 추가/제거합니다. ElastiCache for Valkey 및 Redis OSS는 클러스터의 모든 샤드에서 균등하게 복제본을 추가/제거합니다.

ElastiCache for Valkey 및 Redis OSS는 다음과 같은 유형의 Auto Scaling 정책을 지원합니다.
+ [대상 추적 조정 정책](AutoScaling-Scaling-Policies-Target.md) - 특정 지표에 대한 대상 값을 기준으로 서비스가 실행하는 샤드/복제본의 수를 늘리거나 줄입니다. 이 과정은 온도 조절기를 사용하여 집안 온도를 유지하는 방법과 비슷합니다. 사용자가 온도를 선택하면 나머지는 모두 온도 조절기에서 자동으로 수행됩니다.
+ [ 애플리케이션의 예약된 조정입니다. ](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html) - ElastiCache for Valkey 및 Redis OSS Auto Scaling은 날짜 및 시간을 기준으로 서비스가 실행하는 샤드/복제본의 수를 늘리거나 줄일 수 있습니다.

![\[ElastiCache for Valkey 및 Redis OSS의 오토 스케일링 이미지\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/Auto-scaling.png)


다음은 앞의 그림에 소개된 ElastiCache for Valkey 및 Redis OSS Auto Scaling 프로세스를 요약한 단계입니다.

1. 복제 그룹에 대한 ElastiCache 오토 스케일링 정책을 생성합니다.

1. ElastiCache Auto Scaling이 사용자를 대신하여 CloudWatch 경보 쌍을 생성합니다. 각 쌍은 지표의 상한값과 하한값을 나타냅니다. 클러스터의 실제 사용률이 일정한 시간 동안 목표 사용률을 벗어나면 이러한 CloudWatch 경보가 트리거됩니다. 콘솔에서 경보를 볼 수 있습니다.

1. 구성된 지표 값이 특정 기간의 목표 사용률을 초과하는 경우(또는 목표에 미달하는 경우), CloudWatch가 오토 스케일링을 호출하여 크기 조정 정책을 평가하는 경보를 트리거합니다.

1. ElastiCache Auto Scaling은 클러스터 용량을 조정하는 수정 요청을 발행합니다.

1. ElastiCache는 이 수정 요청을 처리하고 목표 사용률에 근접하도록 클러스터 샤드/복제본 용량을 동적으로 늘리거나 줄입니다.

 ElastiCache Auto Scaling의 작동 방식을 알아보기 위해 `UsersCluster`라는 클러스터가 있다고 가정합니다. `UsersCluster`의 CloudWatch 지표를 모니터링하여 트래픽이 가장 높을 때 클러스터에 필요한 최대 샤드 수와 트래픽이 가장 낮을 때 필요한 최소 샤드 수를 결정합니다. 또한 `UsersCluster` 클러스터의 CPU 사용률에 대한 목표 값을 결정합니다. ElastiCache 오토 스케일링에서는 목표 추적 알고리즘을 사용하여 `UsersCluster`의 프로비저닝된 샤드 수를 필요에 따라 조절함으로써 사용률이 목표 값 안팎으로 유지되도록 합니다.

**참고**  
크기 조정에는 상당한 시간이 소요될 수 있으며 샤드가 재분배되려면 추가적인 클러스터 리소스가 필요합니다. ElastiCache Auto Scaling은 실제 워크로드가 일정 시간(분) 동안 높게(또는 낮게) 유지되는 경우에 한해 리소스 설정을 수정합니다. 오토 스케일링의 목표 추적 알고리즘은 목표 사용률을 장기적으로 사용자가 선택한 값 안팎으로 유지되도록 합니다.

# Auto Scaling 정책
<a name="AutoScaling-Policies"></a>

스케일링 정책에는 다음과 같은 구성 요소가 있습니다.
+ 대상 지표 - ElastiCache for Valkey 및 Redis OSS Auto Scaling에서 조정 시기 및 규모를 결정하는 데 사용하는 CloudWatch 지표입니다.
+ 최소 및 최대 용량 - 크기 조정에 사용할 최소 및 최대 샤드 또는 복제본 수입니다.
**중요**  
Auto Scaling 정책을 생성하는 동안 현재 용량이 구성된 최대 용량보다 크면 정책을 생성하면서 MaxCapacity로 축소됩니다. 마찬가지로 현재 용량이 구성된 최소 용량보다 작으면 MinCapacity로 확장됩니다.
+ 휴지 기간 - 축소 또는 확장 활동이 완료되고 다른 확장 활동이 시작되기 전의 시간(초 단위)입니다.
+ 서비스 연결 역할 – 특정 AWS 서비스에 연결된 AWS Identity and Access Management(IAM) 역할입니다. 서비스 연결 역할에는 서비스가 다른 AWS 서비스를 자동으로 호출하기 위해 필요한 모든 권한이 포함됩니다. ElastiCache Auto Scaling은 자동으로 이 역할(`AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG`)을 생성합니다.
+ 스케일 인 활동 활성화 또는 비활성화 - 정책의 스케일 인 활동을 활성화하거나 비활성화할 수 있는 기능입니다.

**Topics**
+ [Auto Scaling을 위한 대상 지표](#AutoScaling-TargetMetric)
+ [최소 및 최대 용량](#AutoScaling-MinMax)
+ [휴지 기간](#AutoScaling-Cooldown)
+ [스케일 인 활동 활성화 또는 비활성화](#AutoScaling-enable-disable-scale-in)

## Auto Scaling을 위한 대상 지표
<a name="AutoScaling-TargetMetric"></a>

이 유형의 정책에서는 미리 정의된 지표나 사용자 지정 지표 및 지표의 대상 값이 대상 추적 조정 정책 구성에 지정됩니다. ElastiCache for Valkey 및 Redis OSS Auto Scaling은 조정 정책을 트리거하는 CloudWatch 경보를 생성 및 관리하고 지표와 대상 값을 기준으로 조정 조절을 계산합니다. 조정 정책은 필요에 따라 샤드/복제본을 추가하거나 제거하여 지표를 지정한 대상 값으로 또는 대상 값에 가깝게 유지합니다. 대상 추적 조정 정책은 지표를 대상 값에 가깝게 유지하는 것 외에도 워크로드 변화로 인한 지표의 변동에 따라 조정되기도 합니다. 이 정책은 클러스터의 사용 가능한 샤드/복제본 수의 급격한 변동을 최소화하기도 합니다.

미리 정의된 평균 `ElastiCachePrimaryEngineCPUUtilization` 지표가 사용되는 조정 정책을 예로 든다면, 그러한 정책이 CPU 사용률을 70%의 지정된 사용률(퍼센트)로 또는 그에 가깝게 유지할 수 있습니다.

**참고**  
클러스터마다 대상 지표에 대해 Auto Scaling 정책을 하나씩만 생성할 수 있습니다.

## 최소 및 최대 용량
<a name="AutoScaling-MinMax"></a>

**샤드**

ElastiCache for Valkey 및 Redis OSS Auto Scaling에 의해 조정될 수 있는 최대 샤드 수를 지정할 수 있습니다. 이 값은 250보다 작거나 같아야 하며 최소값은 1입니다. 오토 스케일링에 의해 관리되는 최소 샤드 수를 지정할 수도 있습니다. 이 값은 최소 1이어야 하고, 최대 샤드 수(250)에 지정된 값과 동일하거나 그보다 작아야 합니다.

**복제본**

ElastiCache for Valkey 및 Redis OSS Auto Scaling에 의해 관리되는 최대 복제본 수를 지정할 수 있습니다. 이 값은 5보다 작거나 같아야 합니다. 오토 스케일링에서 관리할 최소 복제본 수를 지정할 수도 있습니다. 이 값은 최소 1이어야 하고, 최대 복제본 수(5)에 지정된 값과 동일하거나 그보다 작아야 합니다.

일반 트래픽에서 필요한 샤드/복제본의 최소 및 최대 수를 결정하려면 모델에 대한 예상 트래픽 레이트를 이용해 Auto Scaling 구성을 테스트합니다.

**참고**  
ElastiCache Auto Scaling 정책은 정의된 최대 크기에 도달할 때까지 또는 서비스 한도가 적용될 때까지 클러스터 용량을 늘립니다. 한도 증가를 요청하려면 [AWS 서비스 한도](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)를 참조하고 한도 유형을 **인스턴스 유형별 클러스터당 노드**로 선택하세요.

**중요**  
트래픽이 없는 경우 축소가 발생합니다. 변형의 트래픽이 0이 되는 경우 ElastiCache가 자동으로 지정된 최소 인스턴스 수로 축소됩니다.

## 휴지 기간
<a name="AutoScaling-Cooldown"></a>

클러스터의 조정에 영향을 미치는 휴지 기간을 추가하여 대상 추적 조정 정책의 응답성을 조정할 수 있습니다. 휴지 기간은 기간이 만료될 때까지 후속 스케일 인 또는 스케일 아웃 요청을 차단합니다. 이렇게 하면 스케일 인 요청에 대한 ElastiCache for Valkey 및 Redis OSS 클러스터의 샤드/복제본 삭제 및 스케일 아웃 요청에 대한 샤드/복제본 생성의 속도가 느려집니다. 다음과 같은 휴지 기간을 지정할 수 있습니다.
+ 스케일 인 활동은 클러스터에 있는 샤드/복제본 수를 줄입니다. 스케일 인 휴지 기간은 스케일 인 활동이 완료되고 다른 스케일 인 활동이 시작되기 전의 시간을 초 단위로 지정합니다.
+ 스케일 아웃 활동은 클러스터에 있는 샤드/복제본 수를 늘립니다. 스케일 아웃 휴지 기간은 스케일 아웃 활동이 완료되고 다른 스케일 아웃 활동이 시작되기 전의 시간을 초 단위로 지정합니다.

스케일 인 또는 스케일 아웃 휴지 기간을 지정하지 않은 경우 스케일 인의 기본값은 600초이고 스케일 아웃의 기본값은 900초입니다.

## 스케일 인 활동 활성화 또는 비활성화
<a name="AutoScaling-enable-disable-scale-in"></a>

정책의 스케일 인 활동을 활성화하거나 비활성화할 수 있습니다. 스케일 인 활동을 활성화하면 조정 정책을 통해 샤드/복제본을 삭제할 수 있습니다. 스케일 인 활동이 활성화되면 조정 정책의 스케일 인 휴지 기간이 스케일 인 활동에 적용됩니다. 스케일 인 활동을 비활성화하면 조정 정책을 통해 샤드/복제본을 삭제할 수 없습니다.

**참고**  
조정 정책이 필요에 따라 ElastiCache 샤드 또는 복제본을 생성할 수 있도록 스케일 아웃 활동이 항상 활성화됩니다.

## 오토 스케일링에 필요한 IAM 권한
<a name="AutoScaling-IAM-permissions"></a>

ElastiCache for Valkey 및 Redis OSS Auto Scaling은 ElastiCache, CloudWatch 및 Application Auto Scaling API의 조합을 통해 작동합니다. 클러스터는 ElastiCache를 통해 생성 및 업데이트되고, 경보는 CloudWatch를 통해 생성되고, 규모 조정 정책은 Application Auto Scaling을 통해 생성됩니다. ElastiCache 오토 스케일링 설정에 액세스하는 IAM 사용자에게는 클러스터 생성 및 업데이트에 대한 표준 IAM 권한에 더해 동적 크기 조정을 지원하는 서비스에 대한 적절한 권한이 있어야 합니다. 이 최신 정책에서는 작업 `elasticache:ModifyCacheCluster`와 함께 Memcached 수직적 스케일링에 대한 지원을 추가했습니다. IAM 사용자에게는 다음 예제 정책에 나온 태스크를 수행할 수 있는 권한이 있어야 합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:*",
                "elasticache:DescribeReplicationGroups",
                "elasticache:ModifyReplicationGroupShardConfiguration",
                "elasticache:IncreaseReplicaCount",
                "elasticache:DecreaseReplicaCount",
                "elasticache:DescribeCacheClusters",
                "elasticache:DescribeCacheParameters",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DescribeAlarmHistory",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:DescribeAlarmsForMetric",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:DisableAlarmActions",
                "cloudwatch:EnableAlarmActions",
                "iam:CreateServiceLinkedRole",
                "sns:CreateTopic",
                "sns:Subscribe",
                "sns:Get*",
                "sns:List*"
            ],
            "Resource": "arn:aws:iam::123456789012:role/autoscaling-roles-for-cluster"
        }
    ]
}
```

------

## 서비스 연결 역할
<a name="AutoScaling-SLR"></a>

ElastiCache for Valkey 및 Redis OSS Auto Scaling 서비스에는 클러스터 및 CloudWatch 경보를 설명할 수 있는 권한과 사용자를 대신하여 ElastiCache 대상 용량을 수정할 수 있는 권한이 필요합니다. 클러스터에 오토 스케일링을 활성화하면 `AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG`라는 서비스 연결 역할이 생성됩니다. 이 서비스 연결 역할은 ElastiCache 오토 스케일링에 정책에 대한 경보를 설명하고, 플릿의 현재 용량을 모니터링하고, 플릿의 용량을 수정할 수 있는 권한을 부여합니다. 서비스 연결 역할은 ElastiCache 오토 스케일링의 기본 역할입니다. 자세한 내용은 Application Auto Scaling 사용 설명서의 [ElastiCache for Redis OSS Auto Scaling에 대한 서비스 연결 역할](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html)을 참조하세요.

## Auto Scaling 모범 사례
<a name="AutoScaling-best-practices"></a>

Auto Scaling에 등록하기 전에 다음 작업을 수행하는 것이 좋습니다.

1. **하나의 추적 지표만 사용** - 클러스터에 CPU 또는 데이터 사용량이 많은 워크로드가 있는지 확인하고 해당하는 사전 정의된 지표를 사용하여 크기 조정 정책을 정의합니다.
   + 엔진 CPU: `ElastiCachePrimaryEngineCPUUtilization`(샤드 차원) 또는 `ElastiCacheReplicaEngineCPUUtilization`(복제본 차원)
   + 데이터베이스 사용: `ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage` 이 크기 조정 정책은 클러스터에서 maxmemory-policy를 noeviction으로 설정한 경우에 가장 잘 작동합니다.

   클러스터에서 측정기준당 여러 정책을 사용하지 않는 것이 좋습니다. ElastiCache for Valkey 및 Redis OSS Auto Scaling은 대상 추적 정책 중 하나라도 스케일 아웃할 준비가 된 경우 확장 가능한 대상을 스케일 아웃하지만, 모든 대상 추적 정책(스케일 인 부분이 활성화됨)이 스케일 인할 준비가 된 경우에만 스케일 인합니다. 여러 정책이 조정 가능한 대상에 스케일 아웃 또는 인을 동시에 지시하는 경우 대상은 스케일 인과 스케일 아웃 모두에 대해 가장 큰 용량을 제공하는 정책에 따라 조정합니다.

1. **대상 추적을 위한 사용자 지정 지표** - Auto Scaling은 정책에 대해 선택한 지표의 변화에 비례하는 스케일 아웃/인에 가장 적합하므로 대상 추적에 사용자 지정 지표를 사용할 경우 주의해야 합니다. 이와 같이 크기 조정 작업에 비례하여 변경되지 않는 지표가 정책 생성에 사용되는 경우 가용성이나 비용에 영향을 줄 수 있는 지속적인 스케일 아웃 또는 스케일 인 작업이 발생할 수 있습니다.

    데이터 계층화 클러스터(r6gd 패밀리 인스턴스 유형)의 경우 크기 조정에 메모리 기반 지표를 사용하지 마세요.

1. **예약된 조정(Scheduled Scaling)** - 워크로드가 결정적인지(특정 시간에 상한/하한에 도달) 확인되면 예약 조정을 사용하고 필요에 따라 대상 용량을 구성하는 것이 좋습니다. 대상 추적은 비결정적 워크로드와 필요한 대상 지표에 따라 더 많은 리소스가 필요할 때 스케일 아웃되고 더 적은 리소스가 필요할 때 스케일 인되는 방식으로 작동하는 클러스터에 가장 적합합니다.

1. **스케일 인 사용 중지(Disable Scale-In)** - 지표의 급속한 증가/감소는 연속적인 스케일 아웃/인 변동을 트리거할 수 있으므로 대상 추적의 자동 크기 조정은 워크로드가 점진적으로 증가/감소하는 클러스터에 가장 적합합니다. 이러한 변동을 방지하기 위해 스케일 인을 사용 중지한 상태로 시작하고 나중에 언제든지 필요에 따라 수동으로 스케일 인할 수 있습니다.

1. **애플리케이션 테스트(Test your application)** - 예상 최소/최대 워크로드를 사용하여 애플리케이션을 테스트하여 가용성 문제를 방지하기 위한 조정 정책을 생성하는 동안 클러스터에 필요한 최소, 최대 샤드/복제본의 절대 수를 확인하는 것이 좋습니다. 자동 크기 조정은 대상에 구성된 최대 임계값까지 스케일 아웃하고 최소 임계값까지 스케일 인할 수 있습니다.

1. **대상 값 정의(Defining Target Value)** - 4주간의 클러스터 사용률에 대한 해당 CloudWatch 지표를 분석하여 대상 값 임계값을 확인할 수 있습니다. 어떤 값을 선택할지 잘 모르는 경우 지원되는 최소 사전 정의 지표 값으로 시작하는 것이 좋습니다.

1. 대상 추적의 자동 크기 조정은 샤드/복제본 측정기준에서 워크로드가 균일하게 분산된 클러스터에 가장 적합합니다. 균일하게 분산되지 않으면 다음과 같은 결과가 발생할 수 있습니다.
   + 사용량이 많은 몇 개의 샤드/복제본에서 워크로드의 급격한 증가/감소로 인해 필요하지 않을 때 조정이 발생할 수 있습니다.
   + 사용량이 많은 샤드/복제본이 있어도 전체 평균이 대상에 가깝기 때문에 필요할 때 조정이 발생하지 않을 수 있습니다.

**참고**  
클러스터를 스케일 아웃할 때, ElastiCache는 (임의로 선택된) 기존 노드 중 하나에 로드된 함수를 새 노드에 자동으로 복제합니다. 클러스터에 Valkey 또는 Redis OSS 7.0 이상이 설치되어 있고 애플리케이션이 [함수](https://valkey.io/topics/functions-intro/)를 사용하는 경우, 모든 함수를 모든 샤드에 로드해야 스케일 아웃으로 인해 클러스터가 샤드마다 다른 함수로 종결되는 상황을 방지할 수 있습니다.

자동 크기 조정에 등록한 후에는 다음 사항에 주의하세요.
+ 자동 크기 조정의 지원되는 구성에 제한이 있으므로 자동 크기 조정에 등록된 복제 그룹의 구성을 변경하지 않는 것이 좋습니다. 예를 들어, 다음과 같습니다.
  + 인스턴스 유형을 지원되지 않는 유형으로 수동으로 수정합니다.
  + 복제 그룹을 글로벌 데이터 스토어에 연결합니다.
  + `ReservedMemoryPercent` 파라미터를 변경합니다.
  + 정책 생성 중에 구성된 최소/최대 용량을 초과하여 샤드/복제본을 수동으로 늘리거나 줄입니다.

# 샤드에 Auto Scaling 사용
<a name="AutoScaling-Using-Shards"></a>

ElastiCache 오토 스케일링을 사용하면 Valkey 또는 Redis OSS 엔진에서 추적 및 예약 정책을 사용할 수 있습니다.

다음은 대상 추적 및 예약된 정책에 대한 세부 정보와 AWS Management Console AWS CLI 및 API를 사용하여 이를 적용하는 방법을 제공합니다.

**Topics**
+ [대상 추적 조정 정책](AutoScaling-Scaling-Policies-Target.md)
+ [조정 정책 추가](AutoScaling-Scaling-Adding-Policy-Shards.md)
+ [확장 가능 목표 등록](AutoScaling-Scaling-Registering-Policy-CLI.md)
+ [조정 정책 정의](AutoScaling-Scaling-Defining-Policy-API.md)
+ [스케일 인 활동 비활성화](AutoScaling-Scaling-Disabling-Scale-in.md)
+ [조정 정책 적용](AutoScaling-Scaling-Applying-a-Scaling-Policy.md)
+ [조정 정책 편집](AutoScaling-Scaling-Editing-a-Scaling-Policy.md)
+ [조정 정책 삭제](AutoScaling-Scaling-Deleting-a-Scaling-Policy.md)
+ [Auto Scaling 정책을 위한 CloudFormation 사용](AutoScaling-with-Cloudformation-Shards.md)
+ [예약된 조정](AutoScaling-with-Scheduled-Scaling-Shards.md)

# 대상 추적 조정 정책
<a name="AutoScaling-Scaling-Policies-Target"></a>

대상 추적 조정 정책을 사용하는 경우 지표를 선택하고 목표 값을 설정합니다. ElastiCache for Valkey 및 Redis OSS Auto Scaling은 조정 정책을 트리거하는 CloudWatch 경보를 생성 및 관리하고 지표와 대상 값을 기준으로 조정 조절을 계산합니다. 조정 정책은 필요에 따라 샤드를 추가하거나 제거하여 지표를 지정한 대상 값으로 또는 대상 값에 가깝게 유지합니다. 대상 추적 조정 정책은 지표를 목표 값에 가깝게 유지하는 것 외에도 로드 패턴의 변화로 인한 지표 변동에 따라 반응하여 플릿의 용량이 갑작스럽게 바뀌는 것을 최소화합니다.

목표 값이 구성되어 있으며 미리 정의된 평균 `ElastiCachePrimaryEngineCPUUtilization` 지표가 사용되는 조정 정책을 예로 든다면, 이러한 정책은 CPU 사용률을 지정된 목표 값에 근접하게 유지할 수 있습니다.

## 사전 정의된 지표
<a name="AutoScaling-Scaling-Criteria-predfined-metrics"></a>

사전 정의된 지표는 해당 CloudWatch 지표의 특정 이름, 차원 및 통계(`average`)를 참조하는 구조입니다. Auto Scaling 정책은 클러스터에 대해 다음 사전 정의된 지표 중 하나를 정의합니다.


****  

| 사전 정의된 지표 유형 | CloudWatch 지표 이름 | CloudWatch 지표 차원 | 부적격 인스턴스 유형  | 
| --- | --- | --- | --- | 
| ElastiCachePrimaryEngineCPUUtilization |  `EngineCPUUtilization`  |  ReplicationGroupId, 역할 = 프라이머리  | 없음 | 
| ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage |  `DatabaseCapacityUsageCountedForEvictPercentage`  |  Valkey 또는 Redis OSS 복제 그룹 지표  | 없음 | 
| ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage |  `DatabaseMemoryUsageCountedForEvictPercentage`  |  Valkey 또는 Redis OSS 복제 그룹 지표  | R6gd | 

데이터 계층형 인스턴스 유형은 데이터를 메모리와 SSD 모두에 저장하므로 `ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage`를 사용할 수 없습니다. 데이터 계층형 인스턴스의 예상 사용 사례는 100% 메모리를 사용하고 필요에 따라 SSD를 가득 채우는 것입니다.

## 샤드의 Auto Scaling 기준
<a name="AutoScaling-Scaling-Criteria"></a>

서비스에서 사전 정의된 지표가 목표 설정보다 크거나 같음을 감지하면 자동으로 샤드 용량을 증가시킵니다. ElastiCache for Valkey 및 Redis OSS는 두 개의 숫자(목표 기준 변동 백분율 및 현재 샤드 수의 20%) 중 더 큰 수만큼 클러스터 샤드를 스케일 아웃합니다. 스케일 인의 경우 ElastiCache는 전체 지표 값이 정의된 목표의 75% 미만인 경우가 아니면 자동으로 스케일 인하지 않습니다.

스케일 아웃 예제로, 샤드가 50개 있다고 가정합니다.
+ 목표가 30% 위반되면 ElastiCache는 30%만큼 스케일 아웃하여 클러스터당 65개의 샤드를 유지합니다.
+ 목표가 10% 위반되면 ElastiCache는 기본적으로 최솟값인 20%만큼 스케일 아웃하여 클러스터당 60개의 샤드를 유지합니다.

스케일 인 예제로, 목표 값을 60%로 선택했다고 가정합니다. ElastiCache는 지표가 45%(목표 60%보다 25% 아래)보다 작거나 같아질 때까지 자동으로 스케일 인하지 않습니다.

## Auto Scaling 고려 사항
<a name="AutoScaling-Scaling-Considerations"></a>

다음 사항에 유의하세요.
+ 대상 추적 조정 정책은 지정한 지표가 목표 값을 초과할 때 한해서 확장을 수행해야 합니다. 대상 추적 조정 정책에서는 지정한 지표가 목표 값보다 작을 때 확장할 수 없습니다. ElastiCache for Valkey 및 Redis OSS는 클러스터에 있는 기존 샤드의 목표 편차 최솟값인 20%만큼 샤드를 스케일 아웃합니다.
+ 대상 추적 조정 정책에서는 지정한 지표에 데이터가 부족할 때 조정을 수행하지 않습니다. 데이터가 부족하다고 해서 사용량이 낮은 것으로 해석하지 않기 때문에 축소를 수행하지 않습니다.
+ 목표 값과 실제 지표 데이터 포인트 사이에는 차이가 발생할 수 있습니다. 이것은 ElastiCache Auto Scaling이 추가하거나 제거할 용량을 결정할 때마다 항상 반올림 또는 내림을 통해 어림짐작으로 동작하기 때문입니다. 이는 용량을 부족하게 추가하거나 너무 많이 제거하는 일을 방지하기 위해서입니다.
+ 애플리케이션 가용성을 보장하기 위해 서비스는 지표에 비례하여 가능한 한 빠르게 스케일 아웃하지만, 스케일 인은 훨씬 보수적으로 수행합니다.
+ 각각 다른 지표를 사용한다는 전제하에 다수의 대상 추적 조정 정책을 ElastiCache for Valkey 및 Redis OSS 클러스터에 구성할 수 있습니다. ElastiCache Auto Scaling은 항상 가용성을 우선시하므로, 대상 추적 정책이 스케일 아웃 또는 스케일 인을 허용하는지에 따라 그 동작이 달라집니다. 대상 추적 정책 중 하나라도 확장을 허용할 경우 서비스를 확장하지만, 모든 대상 추적 정책(축소 부분이 활성화됨)이 축소를 허용하는 경우에만 서비스를 축소합니다.
+ ElastiCache Auto Scaling의 대상 추적 조정 정책에서 관리되는 CloudWatch 경보는 편집하거나 삭제하지 마세요. 조정 정책을 삭제하면 ElastiCache 오토 스케일링에서 경보가 자동으로 삭제됩니다.
+ ElastiCache 오토 스케일링은 클러스트 샤드를 사용자가 수동으로 수정하는 것도 허용합니다. 이러한 수동 조정은 조정 정책에 연결된 기존의 CloudWatch 경보에는 영향을 주지 않지만 이러한 CloudWatch 경보를 트리거하는 지표에 영향을 줄 수 있습니다.
+ Auto Scaling으로 관리되는 이러한 CloudWatch 경보는 클러스터의 모든 샤드에 대한 AVG 지표를 통해 정의됩니다. 따라서 사용량이 많은 샤드가 있으면 다음 시나리오 중 하나가 발생할 수 있습니다.
  + CloudWatch 경보를 트리거하는 몇 개의 사용량이 많은 샤드에 대한 로드로 인해 필요하지 않을 때 조정이 발생합니다.
  + 경보에 영향을 미치는 모든 샤드에서 집계된 AVG는 정책을 위반하지 않기 때문에 필요할 때 조정이 발생하지 않습니다.
+ 클러스터당 노드에 대한 ElastiCache의 기본 제한은 계속 적용됩니다. 따라서 Auto Scaling을 선택할 때 최대 노드 수가 기본 제한보다 클 것으로 예상되는 경우 [AWS 서비스 한도](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)에서 한도 향상을 요청하고 한도 유형을 **인스턴스 유형별 클러스터당 노드**로 선택합니다.
+ VPC에서 스케일 아웃 중에 필요한 충분한 수의 ENI(탄력적 네트워크 인터페이스)를 사용할 수 있는지 확인합니다. 자세한 내용은 [탄력적 네트워크 인터페이스](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html)를 참조하세요.
+ EC2에서 사용할 수 있는 용량이 충분하지 않은 경우 ElastiCache 오토 스케일링은 조정하지 않고 용량을 사용할 수 있게 될 때까지 지연됩니다.
+ 스케일 인 중에 ElastiCache for Redis OSS Auto Scaling은 직렬화 후 크기가 256MB 이상인 항목이 있는 슬롯이 포함된 샤드를 제거하지 않습니다.
+ 스케일 인 중에 결과 샤드 구성에서 사용할 수 있는 메모리가 충분하지 않으면 샤드를 제거하지 않습니다.

# 조정 정책 추가
<a name="AutoScaling-Scaling-Adding-Policy-Shards"></a>

AWS Management Console을 사용하여 조정 정책을 추가할 수 있습니다.

**ElastiCache for Valkey 및 Redis OSS 클러스터에 Auto Scaling 정책을 추가하려면**

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

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

1. 정책을 추가할 클러스터를 선택합니다(클러스터 이름 왼쪽에 있는 버튼이 아닌 클러스터 이름 선택).

1. **Auto Scaling 정책** 탭을 선택합니다.

1. **동적 크기 조정 추가(add dynamic scaling)**를 선택합니다.

1. **정책 이름**에 정책 이름을 입력합니다.

1. **조정 가능 차원**에서 **샤드**를 선택합니다.

1. 대상 지표로 다음 중 하나를 선택합니다.
   + **기본 CPU 사용률** - 평균 CPU 사용률을 기반으로 정책을 생성합니다.
   + **메모리** - 평균 데이터베이스 메모리를 기반으로 정책을 생성합니다.
   + **용량** - 평균 데이터베이스 용량 사용률을 기반으로 정책을 생성합니다. 용량 지표에는 데이터 계층형 인스턴스의 메모리 및 SSD 사용률과 기타 모든 인스턴스 유형의 메모리 사용률이 포함됩니다.

1. 목표값으로 35 이상 70 이하의 값을 선택합니다. Auto Scaling은 ElastiCache 샤드 전체에서 선택한 대상 지표에 대해 이 값을 유지합니다.
   + **프라이머리 CPU 사용률**: 프라이머리 노드의 `EngineCPUUtilization` 지표에 대한 대상 값을 유지합니다.
   + **메모리**: `DatabaseMemoryUsageCountedForEvictPercentage` 지표의 목표 값을 유지합니다.
   + **용량**: `DatabaseCapacityUsageCountedForEvictPercentage` 지표의 목표 값을 유지합니다.

   클러스터 샤드가 추가되거나 제거되어 지정한 값에 가깝게 지표가 유지됩니다.

1. (선택 사항) 콘솔에서는 스케일 인 또는 스케일 아웃 휴지 기간이 지원되지 않습니다. 휴지 기간 값을 수정하려면 AWS CLI를 사용합니다.

1. **최소 용량**에 ElastiCache 오토 스케일링 정책에 따라 유지해야 할 최소 샤드 수를 입력합니다.

1. **최대 용량**에 ElastiCache 오토 스케일링 정책에 따라 유지해야 할 최대 샤드 수를 입력합니다. 이 값은 250보다 작거나 같아야 합니다.

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

# 확장 가능 목표 등록
<a name="AutoScaling-Scaling-Registering-Policy-CLI"></a>

ElastiCache for Valkey 및 Redis OSS 클러스터에서 Auto Scaling을 사용하려면 먼저 ElastiCache Auto Scaling에 클러스터를 등록합니다. 그렇게 하려면 해당 클러스터에 적용할 크기 조정 차원 및 한계를 정의합니다. ElastiCache 오토 스케일링은 클러스터 샤드 수를 나타내는 확장 가능한 차원 `elasticache:replication-group:NodeGroups`에 따라 클러스터를 조정합니다.

 ** 사용AWS CLI** 

ElastiCache for Valkey 및 Redis OSS 클러스터를 등록하려면 [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) 명령과 다음 파라미터를 사용합니다.
+ `--service-namespace` - 이 값을 로 설정하세요.`elasticache`
+ `--resource-id` – 클러스터의 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 `ReplicationGroup`이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ `--scalable-dimension` - 이 값을 로 설정하세요.`elasticache:replication-group:NodeGroups`
+ `--max-capacity ` – ElastiCache 오토 스케일링에 의해 관리되는 최대 샤드 수입니다. `--min-capacity`, `--max-capacity` 및 클러스터의 샤드 수 간의 관계에 대한 자세한 내용은 [최소 및 최대 용량](AutoScaling-Policies.md#AutoScaling-MinMax) 섹션을 참조하세요.
+ `--min-capacity ` – ElastiCache 오토 스케일링에 의해 관리되는 최소 샤드 수입니다. `--min-capacity`, `--max-capacity` 및 클러스터의 샤드 수 간의 관계에 대한 자세한 내용은 [최소 및 최대 용량](AutoScaling-Policies.md#AutoScaling-MinMax) 섹션을 참조하세요.

**Example**  
 다음 예제에서는 이름이 `myscalablecluster`인 ElastiCache 클러스터를 등록합니다. 등록은 1개에서 10개까지 샤드를 포함하도록 클러스터 크기를 동적으로 조정해야 함을 나타냅니다.  
Linux, macOS, Unix의 경우:  

```
aws application-autoscaling register-scalable-target \
    --service-namespace elasticache \
    --resource-id replication-group/myscalablecluster \
    --scalable-dimension elasticache:replication-group:NodeGroups \
    --min-capacity 1 \
    --max-capacity 10 \
```
Windows의 경우:  

```
aws application-autoscaling register-scalable-target ^
    --service-namespace elasticache ^
    --resource-id replication-group/myscalablecluster ^
    --scalable-dimension elasticache:replication-group:NodeGroups ^
    --min-capacity 1 ^
    --max-capacity 10 ^
```

**API 사용**

ElastiCache 클러스터를 등록하려면 [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) 명령과 다음 파라미터를 사용합니다.
+ ServiceNamespace - 이 값을 elasticache로 설정합니다.
+ ResourceID – ElastiCache 클러스터의 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 ReplicationGroup이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ ScalableDimension - 이 값을 `elasticache:replication-group:NodeGroups`로 설정합니다.
+ MinCapacity – ElastiCache 오토 스케일링에 의해 관리되는 최소 샤드 수입니다. --min-capacity, --max-capacity 및 클러스터의 복제본 수 간의 관계에 대한 자세한 내용은 [최소 및 최대 용량](AutoScaling-Policies.md#AutoScaling-MinMax) 섹션을 참조하세요.
+ MaxCapacity – ElastiCache 오토 스케일링에 의해 관리되는 최대 샤드 수입니다. --min-capacity, --max-capacity 및 클러스터의 복제본 수 간의 관계에 대한 자세한 내용은 [최소 및 최대 용량](AutoScaling-Policies.md#AutoScaling-MinMax) 섹션을 참조하세요.

**Example**  
다음 예제에서는 Application Auto Scaling API를 사용하여 이름이 `myscalablecluster`인 ElastiCache 클러스터를 등록합니다. 이 등록은 1개에서 5개까지 복제본을 포함하도록 클러스터 크기를 동적으로 조정해야 함을 나타냅니다.  

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:NodeGroups",
    "MinCapacity": 1,
    "MaxCapacity": 5
}
```

# 조정 정책 정의
<a name="AutoScaling-Scaling-Defining-Policy-API"></a>

대상 추적 조정 정책 구성은 지표와 대상 값이 정의되어 있는 JSON 블록으로 나타냅니다. 텍스트 파일에 JSON 블록으로 조정 정책 구성을 저장할 수 있습니다. AWS CLI 또는 Application Auto Scaling API를 호출할 때 이 텍스트 파일을 사용합니다. 정책 구성 구문에 대한 자세한 정보는 Application Auto Scaling API 참조의 [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)을 참조하세요.

대상 추적 조정 정책 구성을 정의하기 위해 다음과 같은 옵션을 사용할 수 있습니다.

**Topics**
+ [미리 정의된 지표 사용](#AutoScaling-Scaling-Predefined-Metric)
+ [사용자 지정 지표 사용](#AutoScaling-Scaling-Custom-Metric)
+ [휴지 기간 사용](#AutoScaling-Scaling-Cooldown-periods)

## 미리 정의된 지표 사용
<a name="AutoScaling-Scaling-Predefined-Metric"></a>

미리 정의된 지표를 사용하여 ElastiCache Auto Scaling의 대상 추적에서 작동하는 ElastiCache for Valkey 및 Redis OSS 클러스터에 대한 대상 추적 조정 정책을 신속하게 정의할 수 있습니다.

현재 ElastiCache는 NodeGroup 오토 스케일링에서 다음과 같이 미리 정의된 지표를 지원합니다.
+ **ElastiCachePrimaryEngineCPUUtilization** – 클러스터의 모든 프라이머리 노드에 대한 CloudWatch의 `EngineCPUUtilization` 지표 평균 값입니다.
+ **ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage** – 클러스터의 모든 프라이머리 노드에 대한 CloudWatch의 `DatabaseMemoryUsageCountedForEvictPercentage` 지표 평균 값입니다.
+ **ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage** – 클러스터의 모든 프라이머리 노드에 대한 CloudWatch의 `ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage` 지표 평균 값입니다.

`EngineCPUUtilization`, `DatabaseMemoryUsageCountedForEvictPercentage` 및 `DatabaseCapacityUsageCountedForEvictPercentage` 지표에 대한 자세한 정보는 [CloudWatch 지표를 사용한 사용량 모니터링](CacheMetrics.md) 섹션을 참조하세요. 조정 정책에서 미리 정의된 지표를 사용하려면 조정 정책을 위한 대상 추적 구성을 생성합니다. 미리 정의된 지표의 `PredefinedMetricSpecification` 및 해당 지표의 대상 값에 대한 TargetValue를 이 구성에 포함해야 합니다.

**Example**  
다음 예제에서는 ElastiCache for Valkey 및 Redis OSS 클러스터의 대상 추적 조정을 위한 일반적인 정책 구성을 설명합니다. 이 구성에서 `ElastiCachePrimaryEngineCPUUtilization` 미리 정의된 지표는 해당 클러스터에 있는 모든 프라이머리 노드에 대해 평균 CPU 사용률 40%를 기반으로 클러스터를 조정하는 데 사용됩니다.  

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    }
}
```

## 사용자 지정 지표 사용
<a name="AutoScaling-Scaling-Custom-Metric"></a>

 사용자 지정 지표를 사용하여 사용자 지정 요구 사항에 맞는 대상 추적 조정 정책을 정의할 수 있습니다. 조정에 따라 변경되는 모든 ElastiCache 지표를 기반으로 사용자 지정 지표를 정의할 수 있습니다. 일부 ElastiCache 지표를 대상 추적에 사용할 수 있습니다. 지표는 유효한 사용량 수치로서 인스턴스의 사용량을 설명해야 합니다. 클러스터에 있는 샤드 수에 따라 지표 값이 증가하거나 줄어들어야 합니다. 지표 데이터를 사용하여 샤드 수를 비례적으로 확장 또는 축소하려면 이 비례적인 증가나 감소가 필요합니다.

**Example**  
다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 사용자 지정 지표는 `my-db-cluster`라는 클러스터의 모든 샤드에 대해 평균 CPU 사용률 50%를 기반으로 ElastiCache for Redis OSS 클러스터를 조정합니다.

```
{
    "TargetValue": 50,
    "CustomizedMetricSpecification":
    {
        "MetricName": "EngineCPUUtilization",
        "Namespace": "AWS/ElastiCache",
        "Dimensions": [
            {
                "Name": "ReplicationGroup","Value": "my-db-cluster"
            },
            {
                "Name": "Role","Value": "PRIMARY"
            }
        ],
        "Statistic": "Average",
        "Unit": "Percent"
    }
}
```

## 휴지 기간 사용
<a name="AutoScaling-Scaling-Cooldown-periods"></a>

`ScaleOutCooldown`에 초 단위로 값을 지정하여 클러스터를 확장하기 위한 휴지 기간을 추가할 수 있습니다. 마찬가지로 `ScaleInCooldown`에 초 단위로 값을 추가하여 클러스터를 축소하기 위한 휴지 기간을 추가할 수 있습니다. 자세한 내용은 Application Auto Scaling API 참조의 [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)을 참조하세요.

 다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 `ElastiCachePrimaryEngineCPUUtilization` 미리 정의된 지표는 해당 클러스터에 있는 모든 프라이머리 노드에 대해 평균 CPU 사용률 40%를 기반으로 ElastiCache for Redis OSS 클러스터를 조정하는 데 사용됩니다. 구성에서는 스케일 인 휴지 기간 10분과 스케일 아웃 휴지 기간 5분을 제공합니다.

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    },
    "ScaleInCooldown": 600,
    "ScaleOutCooldown": 300
}
```

# 스케일 인 활동 비활성화
<a name="AutoScaling-Scaling-Disabling-Scale-in"></a>

축소 활동을 비활성화하여 대상 추적 조정 정책 구성에서 클러스터를 축소하지 않도록 할 수 있습니다. 스케일 인 활동을 비활성화하면 조정 정책에서 필요에 따라 샤드를 생성할 수 있지만 삭제할 수는 없습니다.

`DisableScaleIn`에 부울 값을 지정하여 클러스터에 대한 스케일 인 활동을 활성화하거나 비활성화할 수 있습니다. 자세한 내용은 Application Auto Scaling API 참조의 [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)을 참조하세요.

다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 `ElastiCachePrimaryEngineCPUUtilization` 미리 정의된 지표는 해당 클러스터에 있는 모든 프라이머리 노드에 대해 평균 CPU 사용률 40%를 기반으로 ElastiCache for Valkey 및 Redis OSS 클러스터를 조정합니다. 구성에서는 조정 정책의 스케일 인 활동을 비활성화합니다.

```
{
    "TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {
        "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
    },
    "DisableScaleIn": true
}
```

# 조정 정책 적용
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy"></a>

ElastiCache for Valkey 및 Redis OSS Auto Scaling으로 클러스터를 등록하고 조정 정책을 정의한 후 등록된 클러스터에 조정 정책을 적용합니다. 조정 정책을 ElastiCache for Redis OSS 클러스터에 적용하려면 AWS CLI 또는 Application Auto Scaling API를 사용할 수 있습니다.

## AWS CLI를 사용하여 조정 정책 적용
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy-CLI"></a>

ElastiCache for Valkey 및 Redis OSS 클러스터에 조정 정책을 적용하려면 다음 파라미터와 함께 [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) 명령을 사용합니다.
+ **--policy-name** – 조정 정책의 이름입니다.
+ **--policy-type** – 이 값을 `TargetTrackingScaling`으로 설정합니다.
+ **--resource-id** – 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 `ReplicationGroup`이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ **--service-namespace** – 이 값을 `elasticache`로 설정합니다.
+ **--scalable-dimension** – 이 값을 `elasticache:replication-group:NodeGroups`로 설정합니다.
+ **--target-tracking-scaling-policy-configuration** – 클러스터에 사용할 대상 추적 조정 정책 구성입니다.

다음 예제에서는 ElastiCache Auto Scaling을 사용하여 `myscalablepolicy`라는 대상 추적 조정 정책을 `myscalablecluster`라는 ElastiCache for Valkey 및 Redis OSS 클러스터에 적용합니다. 이를 위해 `config.json`이라는 파일에 저장된 정책 구성을 사용합니다.

Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

```
aws application-autoscaling put-scaling-policy \
    --policy-name myscalablepolicy \
    --policy-type TargetTrackingScaling \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:NodeGroups \
    --target-tracking-scaling-policy-configuration file://config.json
```

Windows의 경우:

```
aws application-autoscaling put-scaling-policy ^
    --policy-name myscalablepolicy ^
    --policy-type TargetTrackingScaling ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:NodeGroups ^
    --target-tracking-scaling-policy-configuration file://config.json
```

## API를 사용하여 조정 정책 적용
<a name="AutoScaling-Scaling-Applying-a-Scaling-Policy-API"></a>

ElastiCache for Valkey 및 Redis OSS 클러스터에 조정 정책을 적용하려면 다음 파라미터와 함께 [PutScalingPolicy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html) AWS CLI 명령을 사용합니다.
+ **--policy-name** – 조정 정책의 이름입니다.
+ **--resource-id** – 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 `ReplicationGroup`이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ **--service-namespace** – 이 값을 `elasticache`로 설정합니다.
+ **--scalable-dimension** – 이 값을 `elasticache:replication-group:NodeGroups`로 설정합니다.
+ **--target-tracking-scaling-policy-configuration** – 클러스터에 사용할 대상 추적 조정 정책 구성입니다.

다음 예제에서는 ElastiCache Auto Scaling을 사용하여 `myscalablepolicy`라는 대상 추적 조정 정책을 `myscalablecluster`라는 ElastiCache 클러스터에 적용합니다. `ElastiCachePrimaryEngineCPUUtilization` 사전 정의 지표를 기반으로 하는 정책 구성을 사용합니다.

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "PolicyName": "myscalablepolicy",
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:NodeGroups",
    "PolicyType": "TargetTrackingScaling",
    "TargetTrackingScalingPolicyConfiguration": {
        "TargetValue": 40.0,
        "PredefinedMetricSpecification":
        {
            "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization"
        }
    }
}
```

# 조정 정책 편집
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy"></a>

AWS Management Console, AWS CLI 또는 Application Auto Scaling API를 사용하여 크기 조정 정책을 편집할 수 있습니다.

## AWS Management Console을 사용하여 조정 정책 편집
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CON"></a>

**ElastiCache for Valkey 및 Redis OSS 클러스터에 대한 Auto Scaling 정책을 편집하려면**

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

1. 탐색 창에서 적절한 엔진을 선택합니다.

1. 정책을 추가할 클러스터를 선택합니다(클러스터 이름 왼쪽에 있는 버튼이 아닌 클러스터 이름 선택).

1. **Auto Scaling 정책** 탭을 선택합니다.

1. **조정 정책(Scaling policies)**에서 변경할 자동 크기 조정 정책 왼쪽에 있는 버튼을 선택한 다음 **수정(Modify)**을 선택합니다.

1. 정책을 필요에 따라 변경합니다.

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

## AWS CLI 및 API를 사용하여 조정 정책 편집
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CLI"></a>

크기 조정 정책을 적용하는 것과 같은 방식으로 AWS CLI 또는 Application Auto Scaling API를 사용하여 크기 조정 정책을 편집할 수 있습니다.
+ AWS CLI를 사용할 때는 `--policy-name` 파라미터에서 편집할 정책의 이름을 지정하세요. 변경할 파라미터의 새로운 값을 지정합니다.
+ Application Auto Scaling API를 사용할 때는 `PolicyName` 파라미터에서 편집하려는 정책의 이름을 지정하세요. 변경할 파라미터의 새로운 값을 지정합니다.

자세한 내용은 [조정 정책 적용](AutoScaling-Scaling-Applying-a-Scaling-Policy.md) 섹션을 참조하세요.

# 조정 정책 삭제
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy"></a>

AWS Management Console, AWS CLI 또는 Application Auto Scaling API를 사용하여 크기 조정 정책을 삭제할 수 있습니다.

## AWS Management Console을 사용하여 조정 정책 삭제
<a name="AutoScaling-Scaling-Editing-a-Scaling-Policy-CON"></a>

**ElastiCache for Redis OSS 클러스터의 Auto Scaling 정책을 삭제하려면**

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

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

1. 자동 크기 조정 정책을 편집할 클러스터를 선택합니다(클러스터 이름 왼쪽에 있는 버튼이 아닌 클러스터 이름 선택).

1. **Auto Scaling 정책** 탭을 선택합니다.

1. **조정 정책(Scaling policies)**에서 자동 크기 조정 정책을 선택한 후 **삭제(Delete)**를 선택합니다.

## AWS CLI을 사용하여 조정 정책 삭제
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy-CLI"></a>

ElastiCache for Valkey 및 Redis OSS 클러스터에 대한 조정 정책을 삭제하려면 다음 파라미터와 함께 [delete-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scaling-policy.html) AWS CLI 명령을 사용합니다.
+ **--policy-name** – 조정 정책의 이름입니다.
+ **--resource-id** – 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 `ReplicationGroup`이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ **--service-namespace** – 이 값을 `elasticache`로 설정합니다.
+ **--scalable-dimension** – 이 값을 `elasticache:replication-group:NodeGroups`로 설정합니다.

다음 예제에서는 `myscalablepolicy`라는 대상 추적 조정 정책을 `myscalablecluster`라는 클러스터에서 삭제합니다.

Linux, macOS, Unix의 경우:

```
aws application-autoscaling delete-scaling-policy \
    --policy-name myscalablepolicy \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:NodeGroups
```

Windows의 경우:

```
aws application-autoscaling delete-scaling-policy ^
    --policy-name myscalablepolicy ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:NodeGroups
```

## API를 사용하여 조정 정책 삭제
<a name="AutoScaling-Scaling-Deleting-a-Scaling-Policy-API"></a>

ElastiCache for Valkey 및 Redis OSS 클러스터에 대한 조정 정책을 삭제하려면 다음 파라미터와 함께 [DeleteScalingPolicy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scaling-policy.html) AWS CLI 명령을 사용합니다.
+ **--policy-name** – 조정 정책의 이름입니다.
+ **--resource-id** – 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 `ReplicationGroup`이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ **--service-namespace** – 이 값을 `elasticache`로 설정합니다.
+ **--scalable-dimension** – 이 값을 `elasticache:replication-group:NodeGroups`로 설정합니다.

다음 예제에서는 `myscalablepolicy`라는 대상 추적 조정 정책을 `myscalablecluster`라는 클러스터에서 삭제합니다.

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "PolicyName": "myscalablepolicy",
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:NodeGroups"
}
```

# Auto Scaling 정책을 위한 CloudFormation 사용
<a name="AutoScaling-with-Cloudformation-Shards"></a>

이 코드 조각은 대상 추적 정책을 생성하고 [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) 리소스를 사용하여 [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) 리소스에 적용하는 방법을 보여줍니다. [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) 및 [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) 내장 함수를 사용하여 동일한 템플릿에 지정된 `AWS::ElastiCache::ReplicationGroup` 리소스의 논리적 이름으로 `ResourceId` 속성을 구성합니다.

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 3
     MinCapacity: 1
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:NodeGroups'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"

  ScalingPolicy:
    Type: "AWS::ApplicationAutoScaling::ScalingPolicy"
    Properties:
      ScalingTargetId: !Ref ScalingTarget
      ServiceNamespace: elasticache
      PolicyName: testpolicy
      PolicyType: TargetTrackingScaling
      ScalableDimension: 'elasticache:replication-group:NodeGroups'
      TargetTrackingScalingPolicyConfiguration:
        PredefinedMetricSpecification:
          PredefinedMetricType: ElastiCachePrimaryEngineCPUUtilization
        TargetValue: 40
```

# 예약된 조정
<a name="AutoScaling-with-Scheduled-Scaling-Shards"></a>

일정을 기반으로 조정을 수행하면 수요에 따른 로드 변경에 맞게 애플리케이션을 조정할 수 있습니다. 예약된 조정을 사용하려면 ElastiCache for Valkey 및 Redis OSS가 특정 시간에 조정 작업을 수행하도록 하는 예약된 작업을 생성할 수 있습니다. 예약된 작업을 생성할 때, 기존 클러스터, 규모 조정 활동이 발생해야 할 시점, 최소 용량 및 최대 용량을 지정할 수 있습니다. 규모를 한 번만 조정하거나 반복되는 일정으로 조정하도록 예약된 작업을 생성할 수 있습니다.

 이미 존재하는 클러스터에 대한 예약된 작업만 생성할 수 있습니다. 클러스터를 생성하는 동시에 예약된 작업을 생성할 수는 없습니다.

예약된 작업 생성, 관리 및 삭제와 관련된 용어에 대한 자세한 내용은 [예약된 작업 생성, 관리 및 삭제에 일반적으로 사용되는 명령](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#scheduled-scaling-commonly-used-commands)을 참조하세요.

**반복되는 일정으로 생성하려면**

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

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

1. 정책을 추가할 클러스터를 선택합니다.

1. **작업** 드롭다운 목록에서 **Auto Scaling 정책 관리**를 선택합니다.

1. **Auto Scaling 정책** 탭을 선택합니다.

1. **Auto Scaling 정책** 섹션에서 **조정 정책 추가** 대화 상자가 나타납니다. **예약된 조정**을 선택합니다.

1. **정책 이름**에 정책 이름을 입력합니다.

1. **조정 가능 차원**에서 **샤드**를 선택합니다.

1. **대상 샤드**에서 값을 선택합니다.

1. **반복**에서 **반복**을 선택합니다.

1. **빈도**에서 해당하는 값을 선택합니다.

1. **시작일** 및 **시작 시간**에서 정책이 시행될 시간을 선택합니다.

1. **정책 추가**를 선택합니다.

**1회성 예약된 작업을 생성하려면**

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

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

1. 정책을 추가할 클러스터를 선택합니다.

1. **작업** 드롭다운 목록에서 **Auto Scaling 정책 관리**를 선택합니다.

1. **Auto Scaling 정책** 탭을 선택합니다.

1. **Auto Scaling 정책** 섹션에서 **조정 정책 추가** 대화 상자가 나타납니다. **예약된 조정**을 선택합니다.

1. **정책 이름**에 정책 이름을 입력합니다.

1. **조정 가능 차원**에서 **샤드**를 선택합니다.

1. **대상 샤드**에서 값을 선택합니다.

1. **반복**에서 **한 번**을 선택합니다.

1. **시작일** 및 **시작 시간**에서 정책이 시행될 시간을 선택합니다.

1. **종료일**에서 정책이 시행되는 기한을 선택합니다.

1. **정책 추가**를 선택합니다.

**예약된 작업을 삭제하려면**

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

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

1. 정책을 추가할 클러스터를 선택합니다.

1. **작업** 드롭다운 목록에서 **Auto Scaling 정책 관리**를 선택합니다.

1. **Auto Scaling 정책** 탭을 선택합니다.

1. **Auto Scaling 정책** 섹션에서 Auto Scaling 정책을 선택한 다음 **작업** 메뉴에서 **삭제**를 선택합니다.

**를 사용하여 예약된 조정을 관리하려면 AWS CLI**

다음과 같은 애플리케이션 자동 크기 조정 API를 사용합니다.
+ [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scheduled-action.html) 
+ [describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/describe-scheduled-actions.html) 
+ [delete-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/delete-scheduled-action.html) 

## CloudFormation을 사용하여 예약된 작업 생성
<a name="AutoScaling-with-Cloudformation-Declare-Scheduled-Action"></a>

이 코드 조각은 대상 추적 정책을 생성하고 [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) 리소스를 사용하여 [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) 리소스에 적용하는 방법을 보여줍니다. [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) 및 [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) 내장 함수를 사용하여 동일한 템플릿에 지정된 `AWS::ElastiCache::ReplicationGroup` 리소스의 논리적 이름으로 `ResourceId` 속성을 구성합니다.

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 3
     MinCapacity: 1
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:NodeGroups'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"
     ScheduledActions:
       - EndTime: '2020-12-31T12:00:00.000Z'
         ScalableTargetAction:
           MaxCapacity: '5'
           MinCapacity: '2'
         ScheduledActionName: First
         Schedule: 'cron(0 18 * * ? *)'
```

# 복제본에 Auto Scaling 사용
<a name="AutoScaling-Using-Replicas"></a>

ElastiCache 복제 그룹은 단일 논리적 노드로 작동하도록 하나 이상의 캐시를 설정할 수 있습니다.

다음은 대상 추적 및 예약된 정책에 대한 세부 정보와 AWS Management Console AWS CLI 및 API를 사용하여 이를 적용하는 방법을 제공합니다.

# 대상 추적 조정 정책
<a name="AutoScaling-Scaling-Policies-Replicas-Replicas"></a>

대상 추적 조정 정책을 사용하는 경우 지표를 선택하고 목표 값을 설정합니다. ElastiCache for Valkey 및 Redis OSS Auto Scaling은 조정 정책을 트리거하는 CloudWatch 경보를 생성 및 관리하고 지표와 대상 값을 기준으로 조정 조절을 계산합니다. 조정 정책은 필요에 따라 모든 샤드에서 균등하게 복제본을 추가하거나 제거하여 지표를 지정한 대상 값으로 또는 대상 값에 가깝게 유지합니다. 대상 추적 조정 정책은 지표를 목표 값에 가깝게 유지하는 것 외에도 로드 패턴의 변화로 인한 지표 변동에 따라 반응하여 플릿의 용량이 갑작스럽게 바뀌는 것을 최소화합니다.

## 복제본에 대한 Auto Scaling 기준
<a name="AutoScaling-Scaling-Criteria-Replicas"></a>

Auto Scaling 정책은 클러스터에 대해 다음과 같은 사전 정의된 지표를 정의합니다.

`ElastiCacheReplicaEngineCPUUtilization`: ElastiCache가 오토 스케일링 작업을 트리거하는 데 사용하는 모든 복제본에서 집계된 AVG EngineCPU 사용률 임계값입니다. 사용률 목표를 35%에서 70% 사이로 설정할 수 있습니다.

서비스에서 `ElastiCacheReplicaEngineCPUUtilization` 지표가 목표 설정보다 크거나 같음을 감지하면 자동으로 샤드 전체에서 복제본을 증가시킵니다. ElastiCache는 2개의 숫자(목표 및 한 복제본 기준 변동 백분율) 중 더 큰 수만큼 클러스터 복제본을 스케일 아웃합니다. 스케일 인의 경우 ElastiCache는 전체 지표 값이 정의된 목표의 75% 미만인 경우가 아니면 자동으로 스케일 인하지 않습니다.

스케일 아웃 예제로, 샤드가 5개 있고 각각 복제본 1개가 있다고 가정합니다.

목표가 30% 위반되면 ElastiCache for Valkey 및 Redis OSS는 모든 샤드에서 복제본 1개(max(0.3, 기본값 1))씩 스케일 아웃합니다. 결과적으로 5개 샤드 각각이 복제본 2개를 갖게 됩니다.

스케일 인 예제로, 목표 값을 60%로 선택했다고 가정합니다. ElastiCache for Valkey 및 Redis OSS는 지표가 45%(목표 60%보다 25% 아래)보다 작거나 같아질 때까지 자동으로 스케일 인하지 않습니다.

### Auto Scaling 고려 사항
<a name="AutoScaling-Scaling-Considerations-Replicas"></a>

다음 사항에 유의하세요.
+ 대상 추적 조정 정책은 지정한 지표가 목표 값을 초과할 때 한해서 확장을 수행해야 합니다. 대상 추적 조정 정책에서는 지정한 지표가 목표 값보다 작을 때 확장할 수 없습니다. ElastiCache for Valkey 및 Redis OSS는 클러스터의 모든 샤드에서 기존 복제본의 최댓값(목표에서 반올림된 % 편차, 기본값 1)까지 복제본을 스케일 아웃합니다.
+ 대상 추적 조정 정책에서는 지정한 지표에 데이터가 부족할 때 조정을 수행하지 않습니다. 데이터가 부족하다고 해서 사용량이 낮은 것으로 해석하지 않기 때문에 축소를 수행하지 않습니다.
+ 목표 값과 실제 지표 데이터 포인트 사이에는 차이가 발생할 수 있습니다. 이것은 ElastiCache Auto Scaling이 추가하거나 제거할 용량을 결정할 때마다 항상 반올림 또는 내림을 통해 어림짐작으로 동작하기 때문입니다. 이는 용량을 부족하게 추가하거나 너무 많이 제거하는 일을 방지하기 위해서입니다.
+ 애플리케이션 가용성을 보장하기 위해 서비스는 지표에 비례하여 가능한 한 빠르게 스케일 아웃하지만, 스케일 인은 클러스터의 전체 샤드에서 복제본 1개의 최대 스케일 인을 사용하여 비교적 점진적으로 진행됩니다.
+ 각각 다른 지표를 사용한다는 전제 하에 다수의 대상 추적 조정 정책을 ElastiCache for Valkey 및 Redis OSS 클러스터에 구성할 수 있습니다. 오토 스케일링은 항상 가용성을 우선시하므로, 대상 추적 정책이 스케일 아웃 또는 스케일 인을 허용하는지에 따라 그 동작이 달라집니다. 대상 추적 정책 중 하나라도 확장을 허용할 경우 서비스를 확장하지만, 모든 대상 추적 정책(축소 부분이 활성화됨)이 축소를 허용하는 경우에만 서비스를 축소합니다.
+ ElastiCache Auto Scaling의 대상 추적 조정 정책에서 관리되는 CloudWatch 경보는 편집하거나 삭제하지 마세요. 조정 정책을 삭제하거나 클러스터를 삭제하면 오토 스케일링에서 경보가 자동으로 삭제됩니다.
+ ElastiCache Auto Scaling은 샤드 전체에서 복제본을 사용자가 수동으로 수정하는 것도 허용합니다. 이러한 수동 조정은 조정 정책에 연결된 기존의 CloudWatch 경보에는 영향을 주지 않지만 이러한 CloudWatch 경보를 트리거하는 지표에 영향을 줄 수 있습니다.
+ Auto Scaling으로 관리되는 이러한 CloudWatch 경보는 클러스터의 모든 샤드에 대한 AVG 지표를 통해 정의됩니다. 따라서 사용량이 많은 샤드가 있으면 다음 시나리오 중 하나가 발생할 수 있습니다.
  + CloudWatch 경보를 트리거하는 몇 개의 사용량이 많은 샤드에 대한 로드로 인해 필요하지 않을 때 조정이 발생합니다.
  + 경보에 영향을 미치는 모든 샤드에서 집계된 AVG는 정책을 위반하지 않기 때문에 필요할 때 조정이 발생하지 않습니다.
+ 클러스터당 노드에 대한 ElastiCache의 기본 제한은 계속 적용됩니다. 따라서 Auto Scaling을 선택할 때 최대 노드 수가 기본 제한보다 클 것으로 예상되는 경우 [AWS 서비스 한도](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)에서 한도 향상을 요청하고 한도 유형을 **인스턴스 유형별 클러스터당 노드**로 선택합니다.
+ VPC에서 스케일 아웃 중에 필요한 충분한 수의 ENI(탄력적 네트워크 인터페이스)를 사용할 수 있는지 확인합니다. 자세한 내용은 [탄력적 네트워크 인터페이스](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_ElasticNetworkInterfaces.html)를 참조하세요.
+ EC2에서 사용할 수 있는 용량이 충분하지 않은 경우 ElastiCache Auto Scaling은 용량을 사용할 수 있을 때까지 또는 클러스터를 충분한 용량이 있는 인스턴스 유형으로 수동으로 수정할 때까지 스케일 아웃하지 않습니다.
+ ElastiCache Auto Scaling은 클러스터의 `ReservedMemoryPercent`가 25% 미만인 복제본의 조정을 지원하지 않습니다. 자세한 내용은 [Valkey 및 Redis OSS에 대한 예약된 메모리 관리](redis-memory-management.md) 섹션을 참조하세요.

# 조정 정책 추가
<a name="AutoScaling-Adding-Policy-Replicas"></a>

AWS Management Console을 사용하여 조정 정책을 추가할 수 있습니다.

**AWS Management Console을 사용하여 조정 정책 추가**

ElastiCache for Valkey 및 Redis OSS에 오토 스케일링 정책을 추가하는 방법

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

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

1. 정책을 추가할 클러스터를 선택합니다(클러스터 이름 왼쪽에 있는 버튼이 아닌 클러스터 이름 선택).

1. **Auto Scaling 정책** 탭을 선택합니다.

1. **동적 크기 조정 추가(add dynamic scaling)**를 선택합니다.

1. **조정 정책(Scaling policies)**에서 **동적 크기 조정 추가(Add dynamic scaling)**를 선택합니다.

1. **정책 이름**에 정책 이름을 입력합니다.

1. **조정 가능 차원**의 대화 상자에서 **복제본**을 선택합니다.

1. 목표 값에 ElastiCache 복제본에서 유지하려는 CPU 사용률의 평균 백분율을 입력합니다. 이 값은 >=35 및 <=70이어야 합니다. 클러스터 복제본이 추가되거나 제거되어 지정한 값에 가깝게 지표가 유지됩니다.

1. (선택 사항) 콘솔에서는 스케일 인 또는 스케일 아웃 휴지 기간이 지원되지 않습니다. 휴지 기간 값을 수정하려면 AWS CLI를 사용합니다.

1. **최소 용량**에 ElastiCache Auto Scaling 정책에 따라 유지해야 할 최소 복제본 수를 입력합니다.

1. **최대 용량**에 ElastiCache Auto Scaling 정책에 따라 유지해야 할 최대 복제본 수를 입력합니다. 이 값은 >=5이어야 합니다.

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

# 확장 가능 목표 등록
<a name="AutoScaling-Register-Policy"></a>

미리 정의된 지표나 사용자 지정 지표를 기반으로 조정 정책을 적용할 수 있습니다. 이를 위해 AWS CLI 또는 Application Auto Scaling API를 사용할 수 있습니다. 첫 번째 단계는 Auto Scaling을 사용하여 ElastiCache for Valkey 및 Redis OSS 복제 그룹을 등록하는 것입니다.

클러스터에서 ElastiCache Auto Scaling을 사용하려면 먼저 ElastiCache Auto Scaling을 사용하여 클러스터를 등록해야 합니다. 그렇게 하려면 해당 클러스터에 적용할 크기 조정 차원 및 한계를 정의합니다. ElastiCache Auto Scaling은 샤드당 클러스터 복제본 수를 나타내는 확장 가능한 차원 `elasticache:replication-group:Replicas`에 따라 클러스터를 조정합니다.

**CLI 사용**: 

ElastiCache 클러스터를 등록하려면 [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) 명령과 다음 파라미터를 사용합니다.
+ --service-namespace – 이 값을 elasticache로 설정합니다.
+ --resource-id – ElastiCache 클러스터의 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 ReplicationGroup이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ --scalable-dimension – 이 값을 로 설정합니다`elasticache:replication-group:Replicas` 
+ --min-capacity – ElastiCache Auto Scaling에 의해 관리되는 최소 복제본 수입니다. --min-capacity, --max-capacity 및 클러스터의 복제본 수 간의 관계에 대한 자세한 내용은 [최소 및 최대 용량](AutoScaling-Policies.md#AutoScaling-MinMax) 섹션을 참조하세요.
+ --max-capacity – ElastiCache Auto Scaling에 의해 관리되는 최대 복제본 수입니다. --min-capacity, --max-capacity 및 클러스터의 복제본 수 간의 관계에 대한 자세한 내용은 [최소 및 최대 용량](AutoScaling-Policies.md#AutoScaling-MinMax) 섹션을 참조하세요.

**Example**  
다음 예제에서는 이름이 `myscalablecluster`인 ElastiCache 클러스터를 등록합니다. 등록은 1개에서 5개까지 복제본을 포함하도록 클러스터 크기를 동적으로 조정해야 함을 나타냅니다.  
Linux, macOS, Unix의 경우:  

```
aws application-autoscaling register-scalable-target \
    --service-namespace elasticache \
    --resource-id replication-group/myscalablecluster \
    --scalable-dimension elasticache:replication-group:Replicas \
    --min-capacity 1 \
    --max-capacity 5 \
```
Windows의 경우:  

```
aws application-autoscaling register-scalable-target ^
    --service-namespace elasticache ^
    --resource-id replication-group/myscalablecluster ^
    --scalable-dimension elasticache:replication-group:Replicas ^
    --min-capacity 1 ^
    --max-capacity 5 ^
```

**API 사용**

ElastiCache 클러스터를 등록하려면 [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html) 명령과 다음 파라미터를 사용합니다.
+ ServiceNamespace - 이 값을 elasticache로 설정합니다.
+ ResourceID – ElastiCache 클러스터의 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 ReplicationGroup이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ ScalableDimension - 이 값을 `elasticache:replication-group:Replicas`로 설정합니다.
+ MinCapacity – ElastiCache Auto Scaling에 의해 관리되는 최소 복제본 수입니다. --min-capacity, --max-capacity 및 클러스터의 복제본 수 간의 관계에 대한 자세한 내용은 [최소 및 최대 용량](AutoScaling-Policies.md#AutoScaling-MinMax) 섹션을 참조하세요.
+ MaxCapacity – ElastiCache Auto Scaling에 의해 관리되는 최대 복제본 수입니다. --min-capacity, --max-capacity 및 클러스터의 복제본 수 간의 관계에 대한 자세한 내용은 [최소 및 최대 용량](AutoScaling-Policies.md#AutoScaling-MinMax) 섹션을 참조하세요.

**Example**  
다음 예제에서는 Application 오토 스케일링 API를 사용하여 이름이 `myscalablecluster`인 클러스터를 등록합니다. 이 등록은 1개에서 5개까지 복제본을 포함하도록 클러스터 크기를 동적으로 조정해야 함을 나타냅니다.

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:Replicas",
    "MinCapacity": 1,
    "MaxCapacity": 5
}
```

# 조정 정책 정의
<a name="AutoScaling-Defining-Policy"></a>

대상 추적 조정 정책 구성은 지표와 대상 값이 정의되어 있는 JSON 블록으로 나타냅니다. 텍스트 파일에 JSON 블록으로 조정 정책 구성을 저장할 수 있습니다. AWS CLI 또는 Application Auto Scaling API를 호출할 때 이 텍스트 파일을 사용합니다. 정책 구성 구문에 대한 자세한 정보는 *Application Auto Scaling API 참조*의 [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)을 참조하세요.

대상 추적 조정 정책 구성을 정의하기 위해 다음과 같은 옵션을 사용할 수 있습니다.

**Topics**
+ [미리 정의된 지표 사용](#AutoScaling-Predefined-Metric)
+ [조정 정책 편집](AutoScaling-Editing-Policy.md)
+ [조정 정책 삭제](AutoScaling-Deleting-Policy.md)
+ [Auto Scaling 정책을 위한 CloudFormation 사용](AutoScaling-with-Cloudformation.md)
+ [예약된 조정](AutoScaling-with-Scheduled-Scaling-Replicas.md)

## 미리 정의된 지표 사용
<a name="AutoScaling-Predefined-Metric"></a>

대상 추적 조정 정책 구성은 지표와 대상 값이 정의되어 있는 JSON 블록으로 나타냅니다. 텍스트 파일에 JSON 블록으로 조정 정책 구성을 저장할 수 있습니다. AWS CLI 또는 Application Auto Scaling API를 호출할 때 이 텍스트 파일을 사용합니다. 정책 구성 구문에 대한 자세한 정보는 *Application Auto Scaling API 참조*의 [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)을 참조하세요.

대상 추적 조정 정책 구성을 정의하기 위해 다음과 같은 옵션을 사용할 수 있습니다.

**Topics**
+ [미리 정의된 지표 사용](#AutoScaling-Predefined-Metric)
+ [사용자 지정 지표 사용](#AutoScaling-Custom-Metric)
+ [휴지 기간 사용](#AutoScaling-Using-Cooldowns)
+ [스케일 인 활동 비활성화](#AutoScaling-Disabling-Scalein)
+ [ElastiCache for Valkey 및 Redis OSS 클러스터에 조정 정책 적용](#AutoScaling-Applying-Policy)

### 미리 정의된 지표 사용
<a name="AutoScaling-Predefined-Metric"></a>

미리 정의된 지표를 사용하여 ElastiCache Auto Scaling의 대상 추적에서 작동하는 ElastiCache for Valkey 및 Redis OSS 클러스터에 대한 대상 추적 조정 정책을 신속하게 정의할 수 있습니다. 현재 ElastiCache는 ElastiCache 복제본 오토 스케일링에서 다음과 같이 미리 정의된 지표를 지원합니다.

`ElastiCacheReplicaEngineCPUUtilization` – 클러스터의 모든 복제본에 대한 CloudWatch의 EngineCPUUtilization 지표 평균 값입니다. CloudWatch의 집계된 지표 값은 필요한 ReplicationGroupId 및 Role Replica에 대한 ElastiCache `ReplicationGroupId, Role`에서 찾을 수 있습니다.

조정 정책에서 미리 정의된 지표를 사용하려면 조정 정책을 위한 대상 추적 구성을 생성합니다. 미리 정의된 지표의 `PredefinedMetricSpecification` 및 해당 지표의 대상 값에 대한 `TargetValue`를 이 구성에 포함해야 합니다.

### 사용자 지정 지표 사용
<a name="AutoScaling-Custom-Metric"></a>

사용자 지정 지표를 사용하여 사용자 지정 요구 사항에 맞는 대상 추적 조정 정책을 정의할 수 있습니다. 조정에 따라 변경되는 모든 ElastiCache for Valkey 및 Redis OSS 지표를 기반으로 사용자 지정 지표를 정의할 수 있습니다. 일부 ElastiCache 지표를 대상 추적에 사용할 수 있습니다. 지표는 유효한 사용량 수치로서 인스턴스의 사용량을 설명해야 합니다. 클러스터에 있는 복제본 수에 비례하여 지표 값이 증가하거나 줄어들어야 합니다. 지표 데이터를 사용하여 복제본 수를 비례적으로 늘리거나 줄이려면 이 비례적인 증가나 감소가 필요합니다.

**Example**  
다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 사용자 지정 지표는 `my-db-cluster`라는 클러스터의 모든 복제본에 대해 평균 CPU 사용률 50%를 기반으로 클러스터를 조정합니다.  

```
{"TargetValue": 50,
    "CustomizedMetricSpecification":
    {"MetricName": "EngineCPUUtilization",
        "Namespace": "AWS/ElastiCache",
        "Dimensions": [
            {"Name": "ReplicationGroup","Value": "my-db-cluster"},
            {"Name": "Role","Value": "REPLICA"}
        ],
        "Statistic": "Average",
        "Unit": "Percent"
    }
}
```

### 휴지 기간 사용
<a name="AutoScaling-Using-Cooldowns"></a>

`ScaleOutCooldown`에 초 단위로 값을 지정하여 클러스터를 확장하기 위한 휴지 기간을 추가할 수 있습니다. 마찬가지로 `ScaleInCooldown`에 초 단위로 값을 추가하여 클러스터를 축소하기 위한 휴지 기간을 추가할 수 있습니다. `ScaleInCooldown` 및 `ScaleOutCooldown`에 대한 자세한 내용은 *Application Auto Scaling API 참조*의 [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)을 참조하세요. 다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 `ElastiCacheReplicaEngineCPUUtilization`미리 정의된 지표는 해당 클러스터의 모든 복제본에서 40%의 평균 CPU 사용률을 기준으로 클러스터를 조정하는 데 사용됩니다. 구성에서는 스케일 인 휴지 기간 10분과 스케일 아웃 휴지 기간 5분을 제공합니다.

```
{"TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization"
    },
    "ScaleInCooldown": 600,
    "ScaleOutCooldown": 300
}
```

### 스케일 인 활동 비활성화
<a name="AutoScaling-Disabling-Scalein"></a>

스케일 인 활동을 비활성화하여 대상 추적 조정 정책 구성에서 ElastiCache for Valkey 및 Redis OSS 클러스터를 축소하지 않도록 할 수 있습니다. 스케일 인 활동을 비활성화하면 조정 정책에서 필요에 따라 복제본을 추가할 수 있지만 삭제할 수는 없습니다.

`DisableScaleIn`에 부울 값을 지정하여 클러스터에 대한 스케일 인 활동을 활성화하거나 비활성화할 수 있습니다. `DisableScaleIn`에 대한 자세한 내용은 *Application Auto Scaling API 참조*의 [TargetTrackingScalingPolicyConfiguration](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_TargetTrackingScalingPolicyConfiguration.html)을 참조하세요.

**Example**  
다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 `ElastiCacheReplicaEngineCPUUtilization` 미리 정의된 지표는 해당 클러스터에 있는 모든 복제본에 대해 평균 CPU 사용률 40%를 기반으로 클러스터를 조정합니다. 구성에서는 조정 정책의 스케일 인 활동을 비활성화합니다.

```
{"TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization"
    },
    "DisableScaleIn": true
}
```

### ElastiCache for Valkey 및 Redis OSS 클러스터에 조정 정책 적용
<a name="AutoScaling-Applying-Policy"></a>

ElastiCache for Valkey 및 Redis OSS Auto Scaling으로 클러스터를 등록하고 조정 정책을 정의한 후 등록된 클러스터에 조정 정책을 적용합니다. 조정 정책을 ElastiCache for Valkey 및 Redis OSS 클러스터에 적용하려면 AWS CLI 또는 Application Auto Scaling API를 사용할 수 있습니다.

** 사용AWS CLI**

ElastiCache for Valkey 및 Redis OSS 클러스터에 조정 정책을 적용하려면 다음 파라미터와 함께 [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/autoscaling/put-scaling-policy.html) 명령을 사용합니다.
+ --policy-name – 조정 정책의 이름입니다.
+ --policy-type – 이 값을 으로 설정합니다`TargetTrackingScaling` 
+ --resource-id – 클러스터의 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 ReplicationGroup이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ --service-namespace – 이 값을 elasticache로 설정합니다.
+ --scalable-dimension – 이 값을 `elasticache:replication-group:Replicas`로 설정합니다.
+ --target-tracking-scaling-policy-configuration – 클러스터에 사용할 대상 추적 조정 정책 구성입니다.

**Example**  
다음 예제에서는 ElastiCache Auto Scaling을 사용하여 `myscalablepolicy`라는 대상 추적 조정 정책을 `myscalablecluster`라는 클러스터에 적용합니다. 이를 위해 `config.json`이라는 파일에 저장된 정책 구성을 사용합니다.

Linux, macOS 또는 Unix의 경우는 다음과 같습니다.

```
aws application-autoscaling put-scaling-policy \
    --policy-name myscalablepolicy \
    --policy-type TargetTrackingScaling \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:Replicas \
    --target-tracking-scaling-policy-configuration file://config.json
```

```
{"TargetValue": 40.0,
    "PredefinedMetricSpecification":
    {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization"
    },
    "DisableScaleIn": true
}
```

Windows의 경우:

```
aws application-autoscaling put-scaling-policy ^
    --policy-name myscalablepolicy ^
    --policy-type TargetTrackingScaling ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:Replicas ^
    --target-tracking-scaling-policy-configuration file://config.json
```

**API 사용**

Application Auto Scaling API를 사용하여 ElastiCache 클러스터에 조정 정책을 적용하려면 다음 파라미터와 함께 [PutScalingPolicy](https://docs.aws.amazon.com/autoscaling/application/APIReference/API_PutScalingPolicy.html) Application Auto Scaling API 작업을 사용합니다.
+ PolicyName – 조정 정책의 이름입니다.
+ PolicyType – 이 값을 `TargetTrackingScaling`으로 설정합니다.
+ ResourceID – 클러스터의 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 ReplicationGroup이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 ElastiCache for Redis OSS 클러스터의 이름입니다.
+ ServiceNamespace - 이 값을 elasticache로 설정합니다.
+ ScalableDimension - 이 값을 `elasticache:replication-group:Replicas`로 설정합니다.
+ TargetTrackingScalingPolicyConfiguration – 클러스터에 사용할 대상 추적 조정 정책 구성입니다.

**Example**  
다음 예제에서는 ElastiCache Auto Scaling을 사용하여 `scalablepolicy`라는 대상 추적 조정 정책을 `myscalablecluster`라는 클러스터에 적용합니다. `ElastiCacheReplicaEngineCPUUtilization` 사전 정의 지표를 기반으로 하는 정책 구성을 사용합니다.

```
POST / HTTP/1.1
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.PutScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "PolicyName": "myscalablepolicy",
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:Replicas",
    "PolicyType": "TargetTrackingScaling",
    "TargetTrackingScalingPolicyConfiguration": {
        "TargetValue": 40.0,
        "PredefinedMetricSpecification":
        {
            "PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization"
        }
    }
}
```

# 조정 정책 편집
<a name="AutoScaling-Editing-Policy"></a>

AWS Management Console, AWS CLI 또는 Application Auto Scaling API를 사용하여 크기 조정 정책을 편집할 수 있습니다.

**AWS Management Console을 사용하여 조정 정책 편집**

AWS Management Console을 사용하여 미리 정의된 지표 유형이 있는 정책을 편집할 수 있습니다.

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

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

1. 정책을 추가할 클러스터를 선택합니다(클러스터 이름 왼쪽에 있는 버튼이 아닌 클러스터 이름 선택).

1. **Auto Scaling 정책** 탭을 선택합니다.

1. **조정 정책(Scaling policies)**에서 변경할 자동 크기 조정 정책 왼쪽에 있는 버튼을 선택한 다음 **수정(Modify)**을 선택합니다.

1. 정책을 필요에 따라 변경합니다.

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

1. 정책을 변경합니다.

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

**AWS CLI 또는 Application Auto Scaling API를 사용하여 크기 조정 정책 편집 **

스케일링 정책을 적용하는 것과 같은 방식으로 AWS CLI 또는 Application Auto Scaling API를 사용하여 스케일링 정책을 편집할 수 있습니다.
+ Application Auto Scaling API를 사용할 때는 `PolicyName` 파라미터에서 편집하려는 정책의 이름을 지정하세요. 변경할 파라미터의 새로운 값을 지정합니다.

자세한 내용은 [ElastiCache for Valkey 및 Redis OSS 클러스터에 조정 정책 적용](AutoScaling-Defining-Policy.md#AutoScaling-Applying-Policy) 섹션을 참조하세요.

# 조정 정책 삭제
<a name="AutoScaling-Deleting-Policy"></a>

AWS Management Console, AWS CLI 또는 Application Auto Scaling API를 사용하여 크기 조정 정책을 삭제할 수 있습니다.

**AWS Management Console을 사용하여 조정 정책 삭제**

AWS Management Console을 사용하여 미리 정의된 지표 유형이 있는 정책을 편집할 수 있습니다.

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

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

1. 자동 크기 조정 정책을 삭제할 클러스터를 선택합니다.

1. **Auto Scaling 정책** 탭을 선택합니다.

1. **조정 정책(Scaling policies)**에서 자동 크기 조정 정책을 선택한 후 **삭제(Delete)**를 선택합니다.

**AWS CLI 또는 Application Auto Scaling API를 사용하여 크기 조정 정책 삭제 **

AWS CLI 또는 Application 오토 스케일링 API를 사용하여 ElastiCache 클러스터에서 크기 조정 정책을 삭제할 수 있습니다.

** CLI**

ElastiCache for Valkey 및 Redis OSS 클러스터에서 조정 정책을 삭제하려면 다음 파라미터와 함께 [delete-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scaling-policy.html) 명령을 사용합니다.
+ --policy-name – 조정 정책의 이름입니다.
+ --resource-id – 클러스터의 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 ReplicationGroup이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ --service-namespace – 이 값을 elasticache로 설정합니다.
+ --scalable-dimension – 이 값을 `elasticache:replication-group:Replicas`로 설정합니다.

**Example**  
다음 예제에서는 `myscalablepolicy`라는 대상 추적 조정 정책을 `myscalablecluster`라는 ELC; 클러스터에서 삭제합니다.

Linux, macOS, Unix의 경우:

```
aws application-autoscaling delete-scaling-policy \
    --policy-name myscalablepolicy \
    --resource-id replication-group/myscalablecluster \
    --service-namespace elasticache \
    --scalable-dimension elasticache:replication-group:Replicas \
```

Windows의 경우:

```
aws application-autoscaling delete-scaling-policy ^
    --policy-name myscalablepolicy ^
    --resource-id replication-group/myscalablecluster ^
    --service-namespace elasticache ^
    --scalable-dimension elasticache:replication-group:Replicas ^
```

**API**.

ElastiCache for Valkey 및 Redis OSS 클러스터에서 조정 정책을 삭제하려면 다음 파라미터와 함께 [DeleteScalingPolicy](https://docs.aws.amazon.com/ApplicationAutoScaling/latest/APIReference/API_DeleteScalingPolicy.html) Application Auto Scaling API 작업을 사용합니다.
+ PolicyName – 조정 정책의 이름입니다.
+ ResourceID – 클러스터의 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 ReplicationGroup이고 고유 식별자는 `replication-group/myscalablecluster`와 같은 클러스터의 이름입니다.
+ ServiceNamespace - 이 값을 elasticache로 설정합니다.
+ ScalableDimension - 이 값을 `elasticache:replication-group:Replicas`로 설정합니다.

다음 예제에서는 Application 오토 스케일링 API를 사용하여 `myscalablepolicy`라는 대상 추적 조정 정책을 `myscalablecluster`라는 클러스터에서 삭제합니다.

```
POST / HTTP/1.1
>>>>>>> mainline
Host: autoscaling.us-east-2.amazonaws.com
Accept-Encoding: identity
Content-Length: 219
X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy
X-Amz-Date: 20160506T182145Z
User-Agent: aws-cli/1.10.23 Python/2.7.11 Darwin/15.4.0 botocore/1.4.8
Content-Type: application/x-amz-json-1.1
Authorization: AUTHPARAMS
{
    "PolicyName": "myscalablepolicy",
    "ServiceNamespace": "elasticache",
    "ResourceId": "replication-group/myscalablecluster",
    "ScalableDimension": "elasticache:replication-group:Replicas"
}
```

# Auto Scaling 정책을 위한 CloudFormation 사용
<a name="AutoScaling-with-Cloudformation"></a>

이 코드 조각은 예약된 작업을 생성하고 [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) 리소스를 사용하여 [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) 리소스에 적용하는 방법을 보여줍니다. [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) 및 [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) 내장 함수를 사용하여 동일한 템플릿에 지정된 `AWS::ElastiCache::ReplicationGroup` 리소스의 논리적 이름으로 `ResourceId` 속성을 구성합니다.

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 0
     MinCapacity: 0
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:Replicas'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"

  ScalingPolicy:
    Type: "AWS::ApplicationAutoScaling::ScalingPolicy"
    Properties:
      ScalingTargetId: !Ref ScalingTarget
      ServiceNamespace: elasticache
      PolicyName: testpolicy
      PolicyType: TargetTrackingScaling
      ScalableDimension: 'elasticache:replication-group:Replicas'
      TargetTrackingScalingPolicyConfiguration:
        PredefinedMetricSpecification:
          PredefinedMetricType: ElastiCacheReplicaEngineCPUUtilization
        TargetValue: 40
```

# 예약된 조정
<a name="AutoScaling-with-Scheduled-Scaling-Replicas"></a>

일정을 기반으로 조정을 수행하면 수요에 따른 로드 변경에 맞게 애플리케이션을 조정할 수 있습니다. 예약된 조정을 사용하려면 ElastiCache for Valkey 및 Redis OSS가 특정 시간에 조정 작업을 수행하도록 하는 예약된 작업을 생성할 수 있습니다. 예약된 작업을 생성할 때, 기존 ElastiCache 클러스터, 규모 조정 활동이 발생해야 할 시점, 최소 용량 및 최대 용량을 지정할 수 있습니다. 규모를 한 번만 조정하거나 반복되는 일정으로 조정하도록 예약된 작업을 생성할 수 있습니다.

 이미 존재하는 ElastiCache 클러스터에 대한 예약된 작업만 생성할 수 있습니다. 클러스터를 생성하는 동시에 예약된 작업을 생성할 수는 없습니다.

예약된 작업 생성, 관리 및 삭제와 관련된 용어에 대한 자세한 내용은 [예약된 작업 생성, 관리 및 삭제에 일반적으로 사용되는 명령](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-scheduled-scaling.html#scheduled-scaling-commonly-used-commands)을 참조하세요.

**1회성 예약된 작업을 생성하려면**

샤드 차원과 유사합니다. [예약된 조정](AutoScaling-with-Scheduled-Scaling-Shards.md) 섹션을 참조하세요.

**예약된 작업 삭제**

샤드 차원과 유사합니다. [예약된 조정](AutoScaling-with-Scheduled-Scaling-Shards.md) 섹션을 참조하세요.

**를 사용하여 예약된 조정을 관리하려면 AWS CLI**

다음과 같은 애플리케이션 자동 크기 조정 API를 사용합니다.
+ [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scheduled-action.html) 
+ [describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scheduled-actions.html) 
+ [delete-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scheduled-action.html) 

## CloudFormation을 사용하여 Auto Scaling 정책 생성
<a name="AutoScaling-with-Cloudformation-Update-Action"></a>

이 코드 조각은 예약된 작업을 생성하고 [AWS::ApplicationAutoScaling::ScalableTarget](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-applicationautoscaling-scalabletarget.html) 리소스를 사용하여 [AWS::ElastiCache::ReplicationGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticache-replicationgroup.html) 리소스에 적용하는 방법을 보여줍니다. [Fn::Join](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-join.html) 및 [Ref](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) 내장 함수를 사용하여 동일한 템플릿에 지정된 `AWS::ElastiCache::ReplicationGroup` 리소스의 논리적 이름으로 `ResourceId` 속성을 구성합니다.

```
ScalingTarget:
   Type: 'AWS::ApplicationAutoScaling::ScalableTarget'
   Properties:
     MaxCapacity: 0
     MinCapacity: 0
     ResourceId: !Sub replication-group/${logicalName}
     ScalableDimension: 'elasticache:replication-group:Replicas'
     ServiceNamespace: elasticache
     RoleARN: !Sub "arn:aws:iam::${AWS::AccountId}:role/aws-service-role/elasticache.application-autoscaling.amazonaws.com/AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG"
     ScheduledActions:
       - EndTime: '2020-12-31T12:00:00.000Z'
         ScalableTargetAction:
           MaxCapacity: '5'
           MinCapacity: '2'
         ScheduledActionName: First
         Schedule: 'cron(0 18 * * ? *)'
```

# 클러스터 모드 수정
<a name="modify-cluster-mode"></a>

Valkey 및 Redis OSS는 샤딩 및 복제를 지원하는 분산형 인 메모리 데이터베이스입니다. ElastiCache Valkey 및 Redis OSS 클러스터는 데이터를 여러 노드로 분할할 수 있는 분산 구현입니다. ElastiCache for Redis OSS 클러스터에는 클러스터 모드 활성화(CME)와 클러스터 모드 비활성화(CMD)라는 두 가지 작동 모드가 있습니다. CME에서 Valkey 및 Redis OSS 엔진은 여러 샤드와 노드가 있는 분산 데이터베이스로 작동하지만 CMD에서 Valkey 및 Redis OSS는 단일 노드로 작동합니다.

CMD에서 CME로 마이그레이션하려면 다음 조건을 충족해야 합니다.

**중요**  
클러스터 모드 구성은 클러스터 모드 비활성화에서 클러스터 모드 활성화로만 변경할 수 있습니다. 이 구성은 되돌릴 수 없습니다.
+ 클러스터에는 데이터베이스 0에만 키가 있을 수 있습니다.
+ 애플리케이션은 클러스터 프로토콜을 사용할 수 있고 구성 엔드포인트를 사용하는 Valkey 또는 Redis OSS 클라이언트를 사용해야 합니다.
+ 최소 1개의 복제본이 있는 클러스터에서 자동 장애 조치를 활성화해야 합니다.
+ 마이그레이션에 필요한 최소 엔진 버전은 Valkey 7.2 이상 또는 Redis OSS 7.0 이상입니다.

CMD에서 CME로 마이그레이션하려면 클러스터 모드 구성을 클러스터 모드 비활성화에서 클러스터 모드 활성화로 변경해야 합니다. 이는 마이그레이션 프로세스 중에 클러스터 가용성을 보장하는 2단계 절차입니다.

**참고**  
파라미터 그룹에 클러스터 지원 구성을 제공해야 합니다. 즉, 클러스터 지원 파라미터는 `yes`로 설정되어 있어야 합니다. 기본 파라미터 그룹을 사용하는 경우 ElastiCache for Redis OSS는 클러스터 지원 구성이 있는 해당 기본 파라미터 그룹을 자동으로 선택합니다. 클러스터 지원 파라미터 값은 CMD 클러스터의 경우 `no`로 설정됩니다. 클러스터가 호환 모드로 이동하면 수정 작업의 일부로 클러스터 지원 파라미터 값이 `yes`로 업데이트됩니다.  
자세한 내용은 [ElastiCache 파라미터 그룹을 사용해 엔진 파라미터 구성](ParameterGroups.md) 섹션을 참조하세요.

1. **준비** – 테스트 CME 클러스터를 만들고 스택이 CME 클러스터와 함께 작동할 준비가 되었는지 확인합니다. ElastiCache for Redis OSS는 준비 상태를 확인할 방법이 없습니다. 자세한 내용은 [Valkey 또는 Redis OSS용 클러스터 생성](Clusters.Create.md) 섹션을 참조하세요.

1. **기존 CMD 클러스터 구성을 클러스터 모드 호환으로 수정** – 이 모드에서는 단일 샤드가 배포되며 ElastiCache for Redis OSS는 단일 노드로도 작동하지만 단일 샤드 클러스터로도 작동합니다. 호환 모드란 클라이언트 애플리케이션이 두 프로토콜 중 하나를 사용하여 클러스터와 통신할 수 있음을 의미합니다. 이 모드에서는 Valkey 또는 Redis OSS 클러스터 프로토콜 및 구성 엔드포인트를 사용하도록 애플리케이션을 재구성해야 합니다. Valkey 또는 Redis OSS 클러스터 모드를 클러스터 모드 호환으로 변경하려면 아래 단계를 따르세요.
**참고**  
호환 모드에서는 크기 조정 및 엔진 버전과 같은 다른 수정 작업이 클러스터에 허용되지 않습니다. 또한 [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html) 요청 내에서 클러스터 모드 파라미터를 정의할 때는 파라미터(`cacheParameterGroupName` 제외)를 수정할 수 없습니다.

   1. AWS Management Console을 사용할 때 [복제 그룹 수정](Replication.Modify.md) 섹션을 참조하여 클러스터 모드를 **호환 가능**으로 설정합니다.

   1. API를 사용하여 [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)을 참조하고 `ClusterMode` 파라미터를 `compatible`로 업데이트하세요.

   1. AWS CLI를 사용하여 [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)을 참조하고 `cluster-mode` 파라미터를 `compatible`로 업데이트하세요.

   Valkey 또는 Redis OSS 클러스터 모드를 클러스터 모드 호환으로 변경한 후 [DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html) API는 ElastiCache for Redis OSS 클러스터 구성 엔드포인트를 반환합니다. 클러스터 구성 엔드포인트는 애플리케이션이 클러스터에 연결하는 데 사용할 수 있는 단일 엔드포인트입니다. 자세한 내용은 [ElastiCache에서 연결 엔드포인트 찾기](Endpoints.md) 섹션을 참조하세요.

1. **클러스터 구성을 클러스터 모드활성화로 수정** – 클러스터 모드가 클러스터 모드 호환으로 설정되면 두 번째 단계는 클러스터 모드 활성화로 클러스터 구성을 수정하는 것입니다. 이 모드에서는 단일 샤드가 실행되고 고객은 이제 클러스터 크기를 조정하거나 다른 클러스터 구성을 수정할 수 있습니다.

   클러스터 모드를 활성화로 변경하려면 아래 단계를 따릅니다.

   시작하기 전에 Valkey 또는 Redis OSS 클라이언트가 클러스터 프로토콜을 사용하도록 마이그레이션되었고 클러스터의 구성 엔드포인트가 사용 중이 아닌지 확인하세요.

   1. AWS Management Console을 사용할 때 [복제 그룹 수정](Replication.Modify.md) 섹션을 참조하여 클러스터 모드를 **활성화됨**으로 설정합니다.

   1. API를 사용하여 [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)을 참조하고 `ClusterMode` 파라미터를 `enabled`로 업데이트하세요.

   1. AWS CLI를 사용하여 [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)을 참조하고 `cluster-mode` 파라미터를 `enabled`로 업데이트하세요.

   클러스터 모드를 활성화로 변경하면 엔드포인트가 Valkey 또는 Redis OSS 클러스터 사양에 따라 구성됩니다. [DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html) API는 클러스터 모드 파라미터를 `enabled` 및 이제 애플리케이션에서 클러스터에 연결하는 데 사용할 수 있는 클러스터 엔드포인트로 반환합니다.

   클러스터 모드가 활성화로 변경되면 클러스터 엔드포인트가 변경된다는 점에 유의하세요. 새 엔드포인트로 애플리케이션을 업데이트해야 합니다.

또한 클러스터 모드 호환에서 클러스터 모드 비활성화(CMD)로 되돌리고 원래 구성을 보존하도록 선택할 수 있습니다.

**클러스터 모드 호환에서 클러스터 모드 비활성화로 클러스터 구성을 수정합니다.**

1. AWS Management Console을 사용할 때 [복제 그룹 수정](Replication.Modify.md) 섹션을 참조하여 클러스터 모드를 **비활성화됨**으로 설정합니다.

1. API를 사용하여 [ModifyReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyReplicationGroup.html)을 참조하고 `ClusterMode` 파라미터를 `disabled`로 업데이트하세요.

1. AWS CLI를 사용하여 [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html)을 참조하고 `cluster-mode` 파라미터를 `disabled`로 업데이트하세요.

클러스터 모드를 비활성화로 변경한 후 [DescribeReplicationGroups](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeReplicationGroups.html) API는 클러스터 모드 파라미터를 `disabled`로 반환합니다.

# 글로벌 데이터 스토어를 사용하여AWS리전 간 복제
<a name="Redis-Global-Datastore"></a>

**참고**  
글로벌 데이터 저장소는 현재 노드 기반 클러스터에만 사용할 수 있습니다.

글로벌 데이터 스토어 기능을 사용하면AWS리전 간 완전 관리형, 빠르고 안정적이며 안전한 Valkey 또는 Redis OSS 클러스터 복제 작업을 수행할 수 있습니다. 이 기능을 사용하면 리전 간 읽기 전용 복제본 클러스터를 생성하여AWS리전 간 지연 시간이 짧은 읽기 및 재해 복구를 활성화할 수 있습니다.

다음 섹션에서는 글로벌 데이터 스토어로 작업하는 방법에 대한 설명을 찾을 수 있습니다.

**Topics**
+ [개요](#Redis-Global-Data-Stores-Overview)
+ [사전 조건 및 제한 사항](Redis-Global-Datastores-Getting-Started.md)
+ [글로벌 데이터 스토어 사용(콘솔)](Redis-Global-Datastores-Console.md)
+ [글로벌 데이터 저장소 사용(CLI)](Redis-Global-Datastores-CLI.md)

## 개요
<a name="Redis-Global-Data-Stores-Overview"></a>

각 *글로벌 데이터 스토어*는 서로 복제하는 하나 이상의 클러스터 모음입니다.

글로벌 데이터 스토어는 다음과 같이 구성됩니다.
+ **기본(활성) 클러스터** - 기본 클러스터는 글로벌 데이터 스토어 내의 모든 클러스터에 복제되는 쓰기를 허용합니다. 기본 클러스터는 읽기 요청도 허용합니다.
+ **보조(수동) 클러스터** - 보조 클러스터는 읽기 요청만 허용하고 기본 클러스터에서 데이터 업데이트를 복제합니다. 보조 클러스터는 기본 클러스터와 다른AWS리전에 있어야 합니다.

ElastiCache에서 글로벌 데이터 저장소를 생성하면 ElastiCache for Valkey 및 Redis OSS에서 기본 클러스터에서 보조 클러스터로 데이터를 자동으로 복제합니다. Valkey 또는 Redis OSS 데이터를 복제해야 하는AWS리전을 선택한 다음 해당AWS리전에 보조 클러스터를 생성합니다. 그런 다음 ElastiCache는 두 클러스터 간의 자동 비동기식 데이터 복제를 설정하고 관리합니다.

Valkey 또는 Redis OSS용 글로벌 데이터 저장소를 사용하면 다음과 같은 이점을 얻을 수 있습니다.
+ **지리적 성능** - 추가AWS리전에 원격 복제본 클러스터를 설정하고 이들 간에 데이터를 동기화하면 해당AWS리전의 데이터 액세스 지연 시간을 줄일 수 있습니다. 글로벌 데이터 스토어는AWS리전 간에 지연 시간이 짧은 지리로컬 읽기를 제공하여 애플리케이션의 응답성을 높이는 데 도움이 될 수 있습니다.
+ **재해 복구** - 글로벌 데이터 스토어의 기본 클러스터에서 성능 저하가 발생하는 경우 보조 클러스터를 새 기본 클러스터로 승격할 수 있습니다. 보조 클러스터가 포함된 모든AWS리전에 연결하여이 작업을 수행할 수 있습니다.

다음 다이어그램은 글로벌 데이터 스토어가 작동하는 방식을 보여줍니다.

![\[글로벌 데이터 스토어\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/Global-DataStore.png)


# 사전 조건 및 제한 사항
<a name="Redis-Global-Datastores-Getting-Started"></a>

글로벌 데이터 스토어를 시작하기 전에 다음 사항에 유의하세요.
+ 글로벌 데이터 저장소는 다음 AWS 리전에서 지원됩니다.
  + **아프리카** - 케이프타운
  + **아시아 태평양** - 홍콩, 하이데라바드, 자카르타, 말레이시아, 멜버른, 뭄바이, 오사카, 서울, 싱가포르, 시드니, 태국, 도쿄 
  + **캐나다** - 캐나다 중부 및 캐나다 서부(캘거리)
  + **중국** - 베이징 및 닝샤
  + **유럽** - 프랑크푸르트, 런던, 아일랜드, 밀라노, 파리, 스페인, 스톡홀름, 취리히
  + **AWS GovCloud** - 미국 서부 및 미국 동부
  + **이스라엘** - 텔아비브
  + **중동** - 바레인 및 UAE
  + **미국** - 동부(버지니아 북부 및 오하이오) 및 미국 서부(캘리포니아 북부 및 오리건)
  + **남아메리카** - 멕시코(중부) 및 상파울루
+  글로벌 데이터 스토어의 모든 클러스터(기본 및 보조)에는 동일한 수의 프라이머리 노드, 노드 유형, 엔진 버전 및 샤드 수(클러스터 모드가 활성화된 경우)가 있어야 합니다. 글로벌 데이터 스토어의 각 클러스터에는 해당 클러스터에 대한 로컬 읽기 트래픽을 수용하기 위해 다른 수의 읽기 복제본이 있을 수 있습니다.

  기존 단일 노드 클러스터를 사용하려는 경우 복제를 활성화해야 합니다.
+ 글로벌 데이터 저장소는 크기가 큰 인스턴스 이상에서 지원됩니다.
+ 한 AWS 리전의 기본 클러스터에서 최대 두 개의 다른 AWS 리전의 보조 클러스터로 복제를 설정할 수 있습니다.
**참고**  
중국(베이징) 리전과 중국(닝샤) 리전은 예외로, 두 리전 간에서만 복제가 실행될 수 있습니다.
+ VPC 클러스터에서만 글로벌 데이터 스토어로 작업할 수 있습니다. 자세한 내용은 [Amazon VPC에 있는 ElastiCache 캐시에 액세스하기 위한 액세스 패턴](elasticache-vpc-accessing.md) 섹션을 참조하세요. EC2-Classic을 사용하는 경우 글로벌 데이터 스토어가 지원되지 않습니다. 자세한 내용은 *Amazon EC2 사용 설명서*의 [EC2-Classic](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/ec2-classic-platform.html)을 참조하세요.
**참고**  
현재 [ElastiCache에서 로컬 영역 사용](Local_zones.md)에서 글로벌 데이터 스토어를 사용할 수 없습니다.
+ ElastiCache는 한 AWS 리전에서 다른 리전으로 자동 장애 조치를 지원하지 않습니다. 필요한 경우 보조 클러스터를 수동으로 승격할 수 있습니다. 문제 해결 예는 [보조 클러스터를 기본 클러스터로 승격](Redis-Global-Datastores-Console.md#Redis-Global-Datastores-Console-Promote-Secondary)을(를) 참조하세요.
+ 기존 데이터에서 부트스트랩하려면 기존 클러스터를 기본 클러스터로 사용하여 글로벌 데이터 스토어를 생성합니다. 기존 클러스터를 보조 클러스터로 추가하는 것은 지원하지 않습니다. 클러스터를 보조 클러스터로 추가하는 프로세스로 데이터가 지워져 데이터가 손실될 수 있습니다.
+ 파라미터 업데이트는 글로벌 데이터 스토어에 속한 클러스터의 로컬 파라미터 그룹을 수정할 때 모든 클러스터에 적용됩니다.
+ 리전 클러스터를 수직(확장 및 축소) 및 수평(확장 및 축소)으로 확장할 수 있습니다. 글로벌 데이터 스토어를 수정하여 클러스터를 조정할 수 있습니다. 그러면 글로벌 데이터 스토어의 모든 리전 클러스터가 중단 없이 확장됩니다. 자세한 내용은 [ElastiCache 규모 조정](Scaling.md) 섹션을 참조하세요.
+ 글로벌 데이터 저장소는 [저장된 데이터 암호화](at-rest-encryption.md), [전송 중 데이터 암호화](in-transit-encryption.md), [AUTH](auth.md)를 지원합니다.
+ 글로벌 데이터 저장소는 인터넷 프로토콜 버전 6(IPv6)을 지원하지 않습니다.
+  글로벌 데이터 스토어는 AWS KMS 키를 지원합니다. 자세한 내용은 *AWS Key Management Service 개발자 안내서*의 [AWS key management service concepts](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys)를 참조하세요.

**참고**  
글로벌 데이터 스토어는 다음 규정에 따라 [pub/sub 메시지](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-use-cases.html#elasticache-for-redis-use-cases-messaging)를 지원합니다.  
클러스터 모드가 비활성화된 경우 pub/sub가 완전히 지원됩니다. 기본 AWS 리전의 기본 클러스터에 게시된 이벤트는 보조 AWS 리전으로 전파됩니다.
클러스터 모드가 활성화된 경우 다음 사항이 적용됩니다.  
키스페이스에 없는 게시된 이벤트의 경우 동일한 AWS 리전의 구독자만 이벤트를 수신합니다.
게시된 키스페이스 이벤트의 경우 모든 AWS 리전의 구독자가 이벤트를 수신합니다.

# 글로벌 데이터 스토어 사용(콘솔)
<a name="Redis-Global-Datastores-Console"></a>

콘솔을 사용하여 글로벌 데이터 스토어를 생성하려면 다음 2단계 프로세스를 수행합니다.

1. 기존 클러스터를 사용하거나 새 클러스터를 생성하여 기본 클러스터를 생성합니다. 엔진은 Valkey 7.2 이상 또는 Redis OSS 5.0.6 이상이어야 합니다.

1. Valkey 7.2 이상 또는 Redis OSS 5.0.6 이상을 사용하여 서로 다른 AWS 리전에 최대 2개의 보조 클러스터를 추가합니다.

다음 절차에서는 Valkey 또는 Redis OSS용 글로벌 데이터 저장소를 생성하고 ElastiCache 콘솔을 사용하여 다른 작업을 수행하는 방법에 대해 설명합니다.

**Topics**
+ [기존 클러스터를 사용하여 글로벌 데이터 스토어 생성](#Redis-Global-Datastores-Console-Create-Primary)
+ [새 기본 클러스터를 사용하여 새 글로벌 데이터 스토어 생성](#Redis-Global-Datastores-Create-From-Scratch)
+ [글로벌 데이터 스토어 세부 정보 보기](#Redis-Global-Datastores-Console-Details)
+ [글로벌 데이터 스토어에 리전 추가](#Redis-Global-Datastores-Console-Create-Secondary)
+ [글로벌 데이터 스토어 수정](#Redis-Global-Datastores-Console-Modify-Regional-Clusters)
+ [보조 클러스터를 기본 클러스터로 승격](#Redis-Global-Datastores-Console-Promote-Secondary)
+ [글로벌 데이터 스토어에서 리전 제거](#Redis-Global-Datastore-Console-Remove-Region)
+ [글로벌 데이터 스토어 삭제](#Redis-Global-Datastores-Console-Delete-GlobalDatastore)

## 기존 클러스터를 사용하여 글로벌 데이터 스토어 생성
<a name="Redis-Global-Datastores-Console-Create-Primary"></a>

이 시나리오에서는 기존 클러스터를 사용하여 새 글로벌 데이터 스토어의 기본 클러스터 역할을 합니다. 그런 다음 별도의 AWS 리전에 보조 읽기 전용 클러스터를 생성합니다. 이 보조 클러스터는 기본 클러스터에서 자동 및 비동기 업데이트를 받습니다.

**중요**  
기존 클러스터는 Valkey 7.2 이상 또는 Redis OSS 5.0.6 이상의 엔진을 사용해야 합니다.

**기존 클러스터를 사용하여 글로벌 데이터 스토어를 생성하려면**

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

1. 탐색 창에서 **글로벌 데이터 저장소**를 선택한 다음 **글로벌 데이터 저장소 생성**을 선택합니다.

1. **기본 클러스 설정** 페이지에서 다음 작업을 수행합니다.
   + **글로벌 데이터 저장소 정보** 필드에 새 글로벌 데이터 저장소의 이름을 입력합니다.
   + (선택 사항) **설명** 값을 입력합니다.

1. **리전 클러스터**에서 **기존 리전 클러스터 사용**을 선택합니다.

1. **기존 클러스터**에서 사용하려는 기존 클러스터를 선택합니다.

1. 다음 옵션을 그대로 유지하세요. 기본 클러스터 구성과 일치하도록 미리 채워져 있으므로 변경할 수 없습니다.
   + 엔진 버전
   + 노드 유형
   + 파라미터 그룹
**참고**  
ElastiCache는 제공된 파라미터 그룹의 값에서 새 파라미터 그룹을 자동으로 생성하고 새 파라미터 그룹을 클러스터에 적용합니다. 글로벌 데이터 스토어의 파라미터를 수정하려면 이 새 파라미터 그룹을 사용합니다. 자동 생성된 각 파라미터 그룹은 하나의 클러스터에만 연결되므로 하나의 글로벌 데이터 스토어에만 연결됩니다.
   + 샤드 수
   + 저장된 데이터 암호화 - 디스크에 저장된 데이터 암호화를 활성화합니다. 자세한 내용은 [저장된 데이터 암호화](at-rest-encryption.md)를 참조하세요.
**참고**  
**고객 관리형 AWS KMS 키**를 선택하고 키를 선택하여 다른 암호화 키를 제공할 수 있습니다. 자세한 내용은 [고객 관리형 AWS KMS 키 사용](at-rest-encryption.md#using-customer-managed-keys-for-elasticache-security)을 참조하세요.
   + 전송 중 데이터 암호화 – 전송 데이터 암호화를 활성화합니다. 자세한 내용은 [전송 중 데이터 암호화](in-transit-encryption.md)를 참조하세요. Valkey 7.2 이상 및 Redis OSS 6.0 이상의 경우 전송 중 데이터 암호화를 활성화하면 다음 **액세스 제어** 옵션 중 하나를 지정하라는 메시지가 표시됩니다.
     + **액세스 제어 안 함** – 기본 설정입니다. 이 옵션은 제한하지 않는다는 의미입니다.
     + **사용자 그룹 액세스 제어 목록** - 사용 가능한 작업에 대한 사용자 및 권한 집합이 정의된 사용자 그룹을 선택합니다. 자세한 내용은 [콘솔 및 CLI를 사용하여 사용자 그룹 관리](Clusters.RBAC.md#User-Groups) 섹션을 참조하세요.
     + **AUTH 기본 사용자** – Valkey 또는 Redis OSS 서버의 인증 메커니즘입니다. 자세한 정보는 [AUTH](auth.md)를 참조하세요.

1. (선택 사항) 필요에 따라 나머지 보조 클러스터 설정을 업데이트합니다. 기본 클러스터와 동일한 값으로 미리 채워지지만 해당 클러스터에 대한 특정 요구 사항을 충족하도록 업데이트할 수 있습니다.
   + Port
   + 복제본 개수
   + Subnet Group
   + 기본 가용 영역
   + 보안 그룹
   + 고객 관리형(AWS KMS 키)
   + AUTH 토큰
   + 자동 백업 활성화
   + 백업 보존 기간
   + 백업 기간
   + 유지 관리 기간
   + SNS 알림에 대한 주제

1. **생성(Create)**을 선택합니다. 이렇게 하면 글로벌 데이터 스토어의 상태가 **생성 중**으로 설정됩니다. 기본 클러스터가 글로벌 데이터 스토어에 연결되고 보조 클러스터가 **연결 중(Associating)** 상태가 된 후 상태가 **수정 중(Modifying)**으로 전환됩니다.

   기본 클러스터 및 보조 클러스터가 글로벌 데이터 스토어와 연결되면 상태가 **사용 가능**으로 변경됩니다. 이 시점에서 읽기 및 쓰기를 허용하는 기본 클러스터와 기본 클러스터에서 복제된 읽기를 허용하는 보조 클러스터가 있습니다.

   페이지가 업데이트되어 클러스터가 글로벌 데이터 저장소의 일부인지 여부를 나타냅니다.
   + **글로벌 데이터 스토어** - 클러스터가 속한 글로벌 데이터 스토어의 이름입니다.
   + **글로벌 데이터 스토어 역할** - 클러스터의 역할(기본 또는 보조)입니다.

다른 AWS 리전에 보조 클러스터를 최대 1개까지 추가할 수 있습니다. 자세한 내용은 [글로벌 데이터 스토어에 리전 추가](#Redis-Global-Datastores-Console-Create-Secondary) 섹션을 참조하세요.

## 새 기본 클러스터를 사용하여 새 글로벌 데이터 스토어 생성
<a name="Redis-Global-Datastores-Create-From-Scratch"></a>

새 클러스터를 사용하여 글로벌 데이터 스토어를 생성하도록 선택한 경우 다음 절차를 따르십시오.

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

1. 탐색 창에서 **글로벌 데이터 저장소**를 선택한 다음 **글로벌 데이터 저장소 생성**을 선택합니다.

1. **기본 클러스터 설정(Primary cluster settings)**에서 다음을 수행합니다.

   1. **클러스터 모드(Cluster mode)**에서 **사용 설정됨(Enabled)** 또는 **사용 중지됨(Disabled)**을 선택합니다.

   1. **글로벌 데이터 스토어 정보(Global Datastore info)**에 **이름(Name)** 값을 입력합니다. ElastiCache는 이 접미사를 사용하여 글로벌 데이터 스토어의 고유한 이름을 생성합니다. 여기에서 지정하는 접미사를 사용하여 글로벌 데이터 저장소를 검색할 수 있습니다.

   1. (선택 사항) **글로벌 데이터 스토어 설명**에 값을 입력합니다.

1. **리전 클러스터(Regional cluster)**에서 다음을 수행합니다.

   1. **리전(Region)**의 경우 사용 가능한 AWS 리전을 선택합니다.

   1. **새 리전 클러스터 생성(Create new regional cluster)** 또는 **기존 리전 클러스터 사용(Use existing regional cluster)**을 선택합니다.

   1. **새 리전 클러스터 생성(Create new regional cluster)**을 선택한 경우 **클러스터 정보(Cluster info)**에서 클러스터의 이름과 설명(선택 사항)을 입력합니다.

   1. **위치(Location)**에서 **다중 AZ(Multi-AZ)** 및 **자동 장애 조치(Auto-failover)**의 기본 설정을 수락하는 것이 좋습니다.

1. **클러스터 설정(Cluster settings)**에서 다음을 수행합니다.

   1. **엔진 버전(Engine version)**의 경우 사용 가능한 버전(5.0.6 이상)을 선택합니다.

   1. **포트(Port)**의 경우 기본 포트인 6379를 사용합니다. 다른 포트를 사용해야 하는 경우 포트 번호를 입력합니다.

   1. **파라미터 그룹**에서 파라미터 그룹을 선택하거나 새 파라미터 그룹을 만듭니다. 파라미터 그룹은 클러스터의 런타임 파라미터를 제어합니다. 파라미터 그룹에 대한 자세한 정보는 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis) 및 [ElastiCache 파라미터 그룹 생성](ParameterGroups.Creating.md) 섹션을 참조하세요.
**참고**  
파라미터 그룹을 선택하여 엔진 구성 값을 설정하면 해당 파라미터 그룹이 글로벌 데이터 스토어의 모든 클러스터에 적용됩니다. **파라미터 그룹** 페이지에서 yes/no **글로벌** 속성은 파라미터 그룹이 글로벌 데이터 스토어의 일부인지 여부를 나타냅니다.

   1. **노드 유형**에서 아래쪽 화살표(![\[Downward-pointing triangle icon, typically used to indicate a dropdown menu.\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCache-DnArrow.png))를 선택합니다. **노드 유형 변경** 대화 상자에서 원하는 노드 유형의 **인스턴스 패밀리** 값을 선택합니다. 그런 다음 이 클러스터에 사용할 노드 유형을 선택한 다음 **저장**을 선택합니다.

      자세한 정보는 [노드 크기 선택](CacheNodes.SelectSize.md) 섹션을 참조하세요.

      r6gd 노드 유형을 선택하는 경우 데이터 계층화가 자동으로 사용 설정됩니다. 자세한 내용은 [ElastiCache의 데이터 계층화](data-tiering.md) 섹션을 참조하세요.

   1. Valkey 또는 Redis OSS(클러스터 모드 사용 중지됨) 클러스터를 생성하는 경우

      **복제본 개수(Number of replicas)**의 경우 이 클러스터에 대해 원하는 복제본 개수를 선택합니다.

   1. Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터를 생성하는 경우

      1. **샤드 수**에서 이 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터에 사용할 샤드(파티션/노드 그룹) 수를 선택합니다.

         일부 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 버전의 경우 클러스터의 샤드 수를 동적으로 변경할 수 있습니다.
         + **Redis OSS 3.2.10 이상** - 클러스터에서 Redis OSS 3.2.10 이상 버전을 실행하는 경우 클러스터의 샤드 수를 동적으로 변경할 수 있습니다. 자세한 내용은 [Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 규모 조정](scaling-redis-cluster-mode-enabled.md) 섹션을 참조하세요.
         + **다른 Redis OSS 버전** - 클러스터에서 버전 3.2.10 이전의 Redis OSS 버전을 실행하는 경우 다른 방법이 있습니다. 이 경우 클러스터의 샤드 수를 변경하려면 새 샤드 수로 새 클러스터를 만듭니다. 자세한 내용은 [백업에서 새 캐시로 복원](backups-restoring.md) 섹션을 참조하세요.

      1. **샤드당 복제본**에서 각 샤드에 포함할 읽기 전용 복제본 노드 수를 선택합니다.

         Valkey 또는 Redis OSS(클러스터 모드 활성화됨)에는 다음과 같은 제한 사항이 있습니다.
         + 다중 AZ를 활성화한 경우 샤드당 복제본이 하나 이상 있어야 합니다.
         + 콘솔을 사용하여 클러스터를 생성할 때 샤드마다 복제본 수가 동일합니다.
         + 샤드당 읽기 전용 복제본 수가 고정되어 변경할 수 없습니다. 샤드(API/CLI: 노드 그룹)당 복제본 수를 늘리거나 줄이려면 새로운 복제본 수로 새 클러스터를 생성해야 합니다. 자세한 내용은 [자습서: 외부에서 생성된 백업으로 새로운 노드 기반 클러스터 시드](backups-seeding-redis.md) 섹션을 참조하세요.

1. **서브넷 그룹 설정(Subnet group settings)**에서 이 클러스터에 적용할 서브넷을 선택합니다. ElastiCache는 기본 IPv4 서브넷 그룹을 제공하거나 선택하여 새 서브넷 그룹을 생성할 수 있습니다. IPv6의 경우 IPv6 CIDR 블록이 있는 서브넷 그룹을 생성해야 합니다. **듀얼 스택**을 선택한 경우 검색 IP 유형으로 IPv6 또는 IPv4 중에 선택해야 합니다.

   자세한 정보는 [VPC에서 서브넷 생성](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet)을 참조하세요.

1. **가용 영역 배치(Availability zone placements)**의 경우 다음 두 가지 옵션이 있습니다.
   + **기본 설정 없음** – ElastiCache에서 가용 영역을 선택합니다.
   + **가용 영역 지정** – 각 클러스터의 가용 영역을 지정합니다.

     가용 영역을 지정하도록 선택한 경우 샤드에 있는 각 클러스터에 대해 목록에서 가용 영역을 선택합니다.

   자세한 내용은 [ElastiCache에 대한 리전 및 가용 영역 선택](RegionsAndAZs.md) 섹션을 참조하세요.  
![\[이미지: Keyspaces 및 가용 영역 지정\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCache-ClusterOn-Slots-AZs.png)

   *Keyspaces 및 가용 영역 지정*

1. **다음(Next)**을 선택합니다.

1. **고급 Valkey 및 Redis OSS 설정**에서

   1. **보안(Security)**의 경우 

     1. 데이터를 암호화하려면 다음과 같은 옵션이 있습니다.
        + **저장된 데이터 암호화** - 디스크에 저장된 데이터 암호화를 활성화합니다. 자세한 정보는 [저장된 데이터 암호화](at-rest-encryption.md)를 참조하세요.
**참고**  
**고객 관리형 AWS KMS 키**를 선택하고 키를 선택하여 다른 암호화 키를 제공하는 옵션이 있습니다. 자세한 정보는 [AWS KMS에서 고객 관리형 키 사용](at-rest-encryption.md#using-customer-managed-keys-for-elasticache-security)을 참조하세요.
        + **전송 중 데이터 암호화** – 전송 데이터 암호화를 활성화합니다. 자세한 정보는 [전송 중 데이터 암호화](in-transit-encryption.md)를 참조하세요. Valkey 7.2 이상 및 Redis OSS 6.0 이상의 경우 전송 중 암호화를 활성화하면 다음 **액세스 제어** 옵션 중 하나를 지정하라는 메시지가 표시됩니다.
          + **액세스 제어 안 함** – 기본 설정입니다. 이 옵션은 클러스터에 대한 사용자 액세스를 제한하지 않는다는 의미입니다.
          + **사용자 그룹 액세스 제어 목록** - 클러스터에 액세스할 수 있는 사용자 집합이 정의된 사용자 그룹을 선택합니다. 자세한 내용은 [콘솔 및 CLI를 사용하여 사용자 그룹 관리](Clusters.RBAC.md#User-Groups) 섹션을 참조하세요.
          + **AUTH 기본 사용자** – Valkey 또는 Redis OSS 서버의 인증 메커니즘입니다. 자세한 정보는 [AUTH](auth.md)를 참조하세요.
        + **AUTH** – Valkey 또는 Redis OSS 서버의 인증 메커니즘입니다. 자세한 정보는 [AUTH](auth.md)를 참조하세요.
**참고**  
버전 3.2.10을 제외한 3.2.6 이상의 Redis OSS 버전의 경우 AUTH가 유일한 옵션입니다.

     1. **보안 그룹**에서 이 클러스터에 사용할 보안 그룹을 선택합니다. *보안 그룹*은 클러스터에 대한 네트워크 액세스를 제어하는 방화벽 역할을 합니다. VPC의 기본 보안 그룹을 사용하거나 새 보안 그룹을 만들 수 있습니다.

        보안 그룹에 대한 자세한 정보는 *Amazon VPC 사용 설명서*의 [VPC의 보안 그룹](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)을 참조하세요.

1. 정기적인 자동 백업을 예약할 경우 **Enable automatic backups(자동 백업 활성화)**를 선택한 후 자동으로 삭제되기 전에 각 자동 백업을 보존할 기간(일)을 입력합니다. 정기적인 자동 백업을 예약하지 않으려면 [**Enable automatic backups**] 확인란의 선택을 취소합니다. 어떤 경우든 수동 백업을 항상 생성할 수 있습니다.

   백업 및 복원에 대한 자세한 정보는 [스냅샷 및 복원](backups.md) 섹션을 참조하세요.

1. (선택 사항) 유지 관리 기간을 지정합니다. *유지 관리 기간*은 ElastiCache가 클러스터의 시스템 유지 관리를 예약하는 시간이며 일반적으로 매주 한 시간입니다. ElastiCache에서 유지 관리 기간의 요일과 시간을 선택하도록 허용하거나(*기본 설정 없음*) 요일 시간 및 기간을 직접 선택할 수 있습니다(*유지 관리 기간 지정*). *유지 관리 기간 지정*을 선택할 경우 목록에서 유지 관리 기간의 *시작 요일*, *시작 시간* 및 *기간*을 선택합니다. 모든 시간은 UCT 시간입니다.

   자세한 내용은 [ElastiCache 클러스터 유지 관리](maintenance-window.md) 섹션을 참조하세요.

1. (선택 사항) **로그**의 경우:
   + **로그 형식**에서 **텍스트** 또는 **JSON**을 선택합니다.
   + **대상 유형(Destination Type)**에서 **CloudWatch Logs** 또는 **Kinesis Firehose**를 선택합니다.
   + **로그 대상**에서 **새로 생성**을 선택하고 CloudWatch Logs 로그 그룹 이름이나 Firehose 스트림 이름을 입력하거나 **기존 항목 선택**을 선택한 다음 CloudWatch Logs 로그 그룹 이름이나 Firehose 스트림 이름을 선택합니다.

1. **태그(Tags)**의 경우 클러스터 및 기타 ElastiCache 리소스 관리를 돕기 위해 태그 형식으로 각 리소스에 고유한 메타데이터를 할당할 수 있습니다. 자세한 정보는 [ElastiCache 리소스에 태그 지정](Tagging-Resources.md) 섹션을 참조하세요.

1. 입력 및 선택한 내용을 모두 검토한 다음 필요한 내용을 수정합니다. 준비가 되면 **다음**을 선택합니다.

1. 이전 단계에서 클러스터를 구성한 후 이제 보조 클러스터 세부 정보를 구성합니다.

1. **리전 클러스터(Regional cluster)**에서 클러스터가 있는 AWS 리전을 선택합니다.

1. **클러스터 정보(Cluster info)**에 클러스터의 이름과 설명(선택 사항)을 입력합니다.

1. 다음 옵션은 기본 클러스터 구성과 일치하도록 미리 채워지며 변경할 수 없습니다.
   + 위치
   + 엔진 버전
   + 인스턴스 유형
   + 노드 유형
   + 샤드 수
   + 파라미터 그룹
**참고**  
ElastiCache는 제공된 파라미터 그룹의 값에서 새 파라미터 그룹을 자동으로 생성하고 새 파라미터 그룹을 클러스터에 적용합니다. 글로벌 데이터 스토어의 파라미터를 수정하려면 이 새 파라미터 그룹을 사용합니다. 자동 생성된 각 파라미터 그룹은 하나의 클러스터에만 연결되므로 하나의 글로벌 데이터 스토어에만 연결됩니다.
   + 저장된 데이터 암호화 - 디스크에 저장된 데이터 암호화를 활성화합니다. 자세한 내용은 [저장된 데이터 암호화](at-rest-encryption.md)를 참조하세요.
**참고**  
**고객 관리형 AWS KMS 키**를 선택하고 키를 선택하여 다른 암호화 키를 제공할 수 있습니다. 자세한 내용은 [고객 관리형 AWS KMS 키 사용](at-rest-encryption.md#using-customer-managed-keys-for-elasticache-security)을 참조하세요.
   + 전송 중 데이터 암호화 – 전송 데이터 암호화를 활성화합니다. 자세한 내용은 [전송 중 데이터 암호화](in-transit-encryption.md)를 참조하세요. Valkey 7.2 이상 및 Redis OSS 6.4 이상의 경우 전송 중 암호화를 활성화하면 다음 **액세스 제어** 옵션 중 하나를 지정하라는 메시지가 표시됩니다.
     + **액세스 제어 안 함** – 기본 설정입니다. 이 옵션은 클러스터에 대한 사용자 액세스를 제한하지 않는다는 의미입니다.
     + **사용자 그룹 액세스 제어 목록** - 클러스터에 액세스할 수 있는 사용자 집합이 정의된 사용자 그룹을 선택합니다. 자세한 내용은 [콘솔 및 CLI를 사용하여 사용자 그룹 관리](Clusters.RBAC.md#User-Groups) 섹션을 참조하세요.
     + **AUTH 기본 사용자** – Valkey 또는 Redis OSS 서버의 인증 메커니즘입니다. 자세한 정보는 [AUTH](auth.md)를 참조하세요.
**참고**  
전송 중 암호화가 먼저 지원되기 시작한 4.0.2 버전과 6.0.4 버전 사이에 있는 Redis OSS 버전의 경우 AUTH가 유일한 옵션입니다.

   나머지 보조 클러스터 설정은 기본 클러스터와 동일한 값으로 미리 채워지지만, 다음은 해당 클러스터에 대한 특정 요구 사항을 충족하도록 업데이트할 수 있습니다.
   + Port
   + 복제본 개수
   + Subnet Group
   + 기본 가용 영역 
   + 보안 그룹
   + 고객 관리형(AWS KMS 키) 
   + AUTH 토큰
   + 자동 백업 활성화
   + 백업 보존 기간
   + 백업 기간
   + 유지 관리 기간
   + SNS 알림에 대한 주제

1. **생성(Create)**을 선택합니다. 이렇게 하면 글로벌 데이터 스토어의 상태가 **생성 중**으로 설정됩니다. 기본 클러스터 및 보조 클러스터가 글로벌 데이터 스토어와 연결되면 상태가 **사용 가능**으로 변경됩니다. 읽기 및 쓰기를 허용하는 기본 클러스터와 기본 클러스터에서 복제된 읽기를 허용하는 보조 클러스터가 있습니다.

   또한 페이지가 업데이트되어 클러스터가 다음을 포함하여 글로벌 데이터 저장소의 일부인지 여부를 나타냅니다.
   + **글로벌 데이터 스토어** - 클러스터가 속한 글로벌 데이터 스토어의 이름입니다.
   + **글로벌 데이터 스토어 역할** - 클러스터의 역할(기본 또는 보조)입니다.

다른 AWS 리전에 보조 클러스터를 최대 1개까지 추가할 수 있습니다. 자세한 내용은 [글로벌 데이터 스토어에 리전 추가](#Redis-Global-Datastores-Console-Create-Secondary) 섹션을 참조하세요.

## 글로벌 데이터 스토어 세부 정보 보기
<a name="Redis-Global-Datastores-Console-Details"></a>

기존 글로벌 데이터 저장소의 세부 정보를 보고 **글로벌 데이터 저장소** 페이지에서 수정할 수도 있습니다.

**글로벌 데이터 스토어 세부 정보를 보려면**

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

1. 탐색 창에서 **글로벌 데이터 저장소**를 선택한 다음 사용 가능한 글로벌 데이터 저장소를 선택합니다.

그러면 다음 글로벌 데이터 스토어 속성을 검사할 수 있습니다.
+ **글로벌 데이터 스토어 이름:** 글로벌 데이터 스토어의 이름입니다.
+ **설명:** 글로벌 데이터 스토어에 대한 설명입니다.
+ **상태:** 옵션은 다음과 같습니다.
  + 생성 중
  + [Modifying]
  + Available
  + 삭제 중
  + 기본 전용 - 이 상태는 글로벌 데이터 스토어에 기본 클러스터만 포함되어 있음을 나타냅니다. 모든 보조 클러스터가 삭제되거나 성공적으로 생성되지 않습니다.
+ **클러스터 모드:** 활성화되거나 비활성화됩니다.
+ **엔진 버전:** 글로벌 데이터 저장소를 실행하는 Valkey 또는 Redis OSS 엔진 버전입니다.
+ **인스턴스 노드 유형:** 글로벌 데이터 스토어에 사용되는 노드 유형입니다.
+ **미사용 데이터 암호화:** 활성화되거나 비활성화됩니다.
+ **전송 중 데이터 암호화:** 활성화되거나 비활성화됩니다.
+ **AUTH:** 활성화되거나 비활성화됩니다.

글로벌 데이터 스토어를 다음과 같이 변경할 수 있습니다.
+ [글로벌 데이터 스토어에 리전 추가](#Redis-Global-Datastores-Console-Create-Secondary) 
+ [글로벌 데이터 스토어에서 리전 제거](#Redis-Global-Datastore-Console-Remove-Region) 
+ [보조 클러스터를 기본 클러스터로 승격](#Redis-Global-Datastores-Console-Promote-Secondary)
+ [글로벌 데이터 스토어 수정](#Redis-Global-Datastores-Console-Modify-Regional-Clusters)

글로벌 데이터 스토어 페이지에는 글로벌 데이터 스토어를 구성하는 개별 클러스터와 각각에 해당하는 다음 속성도 나열됩니다.
+ **리전** - 클러스터가 저장된 AWS 리전입니다.
+ **역할** - 기본 또는 보조입니다.
+ **클러스터 이름** - 클러스터의 이름입니다.
+ **상태** - 옵션은 다음과 같습니다.
  + **연결 중** - 클러스터가 글로벌 데이터 스토어에 연결되는 중입니다.
  + **연관됨** - 클러스터가 글로벌 데이터 스토어에 연결되어 있습니다.
  + **연결 해제 중** - 글로벌 데이터 스토어 이름을 사용하여 글로벌 데이터 스토어에서 보조 클러스터를 제거하는 중입니다. 이후에는 보조 클러스터가 더 이상 기본 클러스터에서 업데이트를 수신하지 않지만 해당 AWS 리전에서 독립 실행형 클러스터로 유지됩니다.
  + **연결 해제됨** - 보조 클러스터가 글로벌 데이터 스토어에서 제거되었으며 이제 AWS 리전에서 독립 실행형 클러스터가 되었습니다.
+ **글로벌 데이터 스토어 지연** - 글로벌 데이터 스토어에 보조 AWS 리전당 하나의 값을 표시합니다. 보조 리전의 프라이머리 노드와 기본 리전의 프라이머리 노드 간의 지연입니다. 클러스터 모드가 활성화된 Valkey 또는 Redis OSS의 경우 지연은 샤드 간의 최대 지연(초)을 나타냅니다.

## 글로벌 데이터 스토어에 리전 추가
<a name="Redis-Global-Datastores-Console-Create-Secondary"></a>

기존 글로벌 데이터 스토어에 최대 하나의 AWS 리전을 추가할 수 있습니다. 이 시나리오에서는 기본 클러스터로부터 자동 및 비동기 업데이트를 수신하는 별도의 AWS 리전에 읽기 전용 클러스터를 생성합니다.

**글로벌 데이터 스토어에 AWS 리전을 추가하려면**

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

1. 탐색 창에서 **글로벌 데이터 저장소**를 선택한 다음 기존 글로벌 데이터 저장소를 선택합니다.

1. **리전 클러스터 추가**를 선택하고 보조 클러스터가 상주할 AWS 리전을 선택합니다.

1. **클러스터 정보**에서 클러스터의 **이름**에 대한 값과 필요에 따라 **설명**에 값을 입력합니다.

1. 다음 옵션을 그대로 유지하세요. 기본 클러스터 구성과 일치하도록 미리 채워져 있으므로 변경할 수 없습니다.
   + 엔진 버전
   + 인스턴스 유형
   + 노드 유형
   + 샤드 수
   + 파라미터 그룹
**참고**  
ElastiCache는 제공된 파라미터 그룹의 값에서 새 파라미터 그룹을 자동으로 생성하고 새 파라미터 그룹을 클러스터에 적용합니다. 글로벌 데이터 스토어의 파라미터를 수정하려면 이 새 파라미터 그룹을 사용합니다. 자동 생성된 각 파라미터 그룹은 하나의 클러스터에만 연결되므로 하나의 글로벌 데이터 스토어에만 연결됩니다.
   + 저장된 데이터 암호화
**참고**  
**고객 관리형 AWS KMS 키**를 선택하고 키를 선택하여 다른 암호화 키를 제공할 수 있습니다.
   + 전송 중 암호화
   + AUTH

1. (선택 사항) 나머지 보조 클러스터 설정을 업데이트합니다. 기본 클러스터와 동일한 값으로 미리 채워지지만 해당 클러스터에 대한 특정 요구 사항을 충족하도록 업데이트할 수 있습니다.
   + Port
   + 복제본 개수
   + Subnet Group
   + 기본 가용 영역
   + 보안 그룹
   + 고객 관리형 AWS KMS 키) 
   + AUTH 토큰
   + 자동 백업 활성화
   + 백업 보존 기간
   + 백업 기간
   + 유지 관리 기간
   + SNS 알림에 대한 주제

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

## 글로벌 데이터 스토어 수정
<a name="Redis-Global-Datastores-Console-Modify-Regional-Clusters"></a>

리전 클러스터의 속성을 수정할 수 있습니다. 보조 클러스터를 기본 클러스터로 승격하는 경우를 제외하고 글로벌 데이터 스토어에서는 하나의 수정 작업만 진행 중일 수 있습니다. 자세한 내용은 [보조 클러스터를 기본 클러스터로 승격](#Redis-Global-Datastores-Console-Promote-Secondary) 섹션을 참조하세요.

**글로벌 데이터 스토어를 수정하려면**

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

1. 탐색 창에서 **글로벌 데이터 저장소**를 선택한 다음 **글로벌 데이터 저장소 이름**에 글로벌 데이터 저장소를 선택합니다.

1. **수정**을 선택하고 다음 옵션 중에서 선택합니다.
   + **설명 수정** - 글로벌 데이터 스토어에 대한 설명을 업데이트합니다.
   + **엔진 버전 수정** - Valkey 7.2 이상 또는 Redis OSS 5.0.6 이상만 사용할 수 있습니다.
   + **노드 유형 수정** - 리전 클러스터를 수직(확장 및 축소) 및 수평(확장 및 축소)으로 확장합니다. 옵션에는 R5 및 M5 노드 패밀리가 포함됩니다. 노드 유형에 대한 자세한 내용은 [지원되는 노드 유형](CacheNodes.SupportedTypes.md) 섹션을 참조하세요.
   + **자동 장애 조치 수정** - 자동 장애 조치를 활성화하거나 비활성화합니다. 장애 조치를 활성화하고 리전 클러스터의 프라이머리 노드가 예기치 않게 종료된 경우 ElastiCache는 리전 복제본 중 하나로 장애 조치합니다. 자세한 내용은 [자동 장애 조치](AutoFailover.md)를 참조하세요.

   클러스터 모드가 활성화된 Valkey 또는 Redis OSS 클러스터의 경우:
   + **샤드 추가** - 추가할 샤드 수를 입력하고 선택적으로 하나 이상의 가용 영역을 지정합니다.
   + **샤드 삭제** - 각 AWS 리전에서 삭제할 샤드를 선택합니다.
   + **샤드 재분배** - 슬롯 분포를 재분배하여 클러스터의 기존 샤드 간에 균일한 분포를 보장합니다.

글로벌 데이터 스토어의 파라미터를 수정하려면 글로벌 데이터 스토어에 대한 멤버 클러스터의 파라미터 그룹을 수정합니다. ElastiCache는 자동으로 이 변경 사항을 해당 글로벌 데이터 스토어 내의 모든 클러스터에 적용합니다. 해당 클러스터의 파라미터 그룹을 수정하려면 Valkey 또는 Redis OSS 콘솔 또는 [ModifyCacheCluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html) API 작업을 사용합니다. 자세한 내용은 [ElastiCache 파라미터 그룹 수정](ParameterGroups.Modifying.md) 섹션을 참조하세요. 글로벌 데이터 스토어 내에 포함된 클러스터의 파라미터 그룹을 수정하면 해당 글로벌 데이터 스토어 내의 모든 클러스터에 적용됩니다.

전체 파라미터 그룹 또는 특정 파라미터를 재설정하려면 [ResetCacheParameterGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ResetCacheParameterGroup.html) API 작업을 사용합니다.

## 보조 클러스터를 기본 클러스터로 승격
<a name="Redis-Global-Datastores-Console-Promote-Secondary"></a>

기본 클러스터 또는 AWS 리전을 사용할 수 없게 되거나 성능 문제가 발생하면 보조 클러스터를 기본 클러스터로 승격할 수 있습니다. 다른 수정이 진행 중이더라도 언제든지 승격이 허용됩니다. 또한 여러 승력을 병렬로 실행할 수 있으며 글로벌 데이터 스토어가 최종적으로 하나의 기본 클러스터가 됩니다. 여러 보조 클러스터를 동시에 승격하는 경우 ElastiCache에서 궁극적으로 하나의 클러스터가 기본 클러스터가 되는 것을 보장하지 않습니다.

**보조 클러스터를 기본 클러스터로 승격하려면**

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

1. 탐색 창에서 **글로벌 데이터 저장소**를 선택합니다.

1. 세부 정보를 보려면 글로벌 데이터 스토어 이름을 선택합니다.

1. **보조** 클러스터를 선택합니다.

1. **기본 클러스터로 승격**을 선택합니다.

   그러면 ` Promoting a region to primary will make the cluster in this region as read/writable. Are you sure you want to promote the secondary cluster to primary?` 경고와 함께 결정을 확인하라는 메시지가 표시됩니다.

   `The current primary cluster in primary region will become secondary and will stop accepting writes after this operation completes. Please ensure you update your application stack to direct traffic to the new primary region.`

1. 승력을 계속하려면 **확인**을 선택하고 그렇지 않으면 **취소**를 선택합니다.

확인하려면 글로벌 데이터 스토어가 **수정 중** 상태로 전환되어 승격이 완료될 때까지 사용할 수 없습니다.

## 글로벌 데이터 스토어에서 리전 제거
<a name="Redis-Global-Datastore-Console-Remove-Region"></a>

다음 절차를 사용하여 글로벌 데이터 스토어에서 AWS 리전을 제거할 수 있습니다.

**글로벌 데이터 스토어에서 AWS 리전을 제거하려면**

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

1. 탐색 창에서 **글로벌 데이터 저장소**를 선택합니다.

1. 글로벌 데이터 스토어를 선택합니다.

1. 제거할 **리전**을 선택합니다.

1. **리전 제거**를 선택합니다.
**참고**  
이 옵션은 보조 클러스터에만 사용할 수 있습니다.

   그러면 ` Removing the region will remove your only available cross region replica for the primary cluster. Your primary cluster will no longer be set up for disaster recovery and improved read latency in remote region. Are you sure you want to remove the selected region from the global datastore?` 경고와 함께 결정을 확인하라는 메시지가 표시됩니다.

1. 승력을 계속하려면 **확인**을 선택하고 그렇지 않으면 **취소**를 선택합니다.

확인을 선택하면 AWS 리전이 제거되고 보조 클러스터는 더 이상 복제 업데이트를 수신하지 않습니다.

## 글로벌 데이터 스토어 삭제
<a name="Redis-Global-Datastores-Console-Delete-GlobalDatastore"></a>

글로벌 데이터 스토어를 삭제하려면 먼저 모든 보조 클러스터를 제거합니다. 자세한 내용은 [글로벌 데이터 스토어에서 리전 제거](#Redis-Global-Datastore-Console-Remove-Region) 섹션을 참조하세요. 이렇게 하면 글로벌 데이터 스토어가 **기본 전용** 상태로 유지됩니다.

**글로벌 데이터 스토어를 삭제하려면**

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

1. 탐색 창에서 **글로벌 데이터 저장소**를 선택합니다.

1. **글로벌 데이터 스토어 이름**에서 삭제할 글로벌 데이터 스토어를 선택한 다음 **삭제**를 선택합니다.

   그러면 `Are you sure you want to delete this Global Datastore?` 경고와 함께 결정을 확인하라는 메시지가 표시됩니다.

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

글로벌 데이터 스토어가 **삭제 중** 상태로 전환됩니다.

# 글로벌 데이터 저장소 사용(CLI)
<a name="Redis-Global-Datastores-CLI"></a>

AWS Command Line Interface(AWS CLI)를 사용하면 명령줄에서 여러 AWS 서비스를 관리하고 스크립트를 통해 자동화할 수 있습니다. 임시(일회성) 작업에 AWS CLI를 사용할 수 있습니다.

## AWS CLI 다운로드 및 구성
<a name="Redis-Global-Datastores-Downloading-CLI"></a>

AWS CLI는 Windows, macOS 또는 Linux에서 실행됩니다. 다음 절차에 따라 다운로드 및 구성합니다.

**CLI를 다운로드, 설치 및 구성하려면**

1. [AWS Command Line Interface](https://aws.amazon.com/cli) 웹 페이지에서 AWS CLI를 다운로드합니다.

1. *AWS Command Line Interface 사용 설명서*의 AWS CLI 설치 및 AWS CLI 구성 지침을 따릅니다.

## 글로벌 데이터 스토어에 AWS CLI 사용
<a name="Redis-Global-Datastores-Using-CLI"></a>

글로벌 데이터 스토어를 사용하려면 다음 CLI 작업을 사용합니다.
+ [create-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-global-replication-group.html)

  ```
  aws elasticache create-global-replication-group \
     --global-replication-group-id-suffix my global datastore  \
     --primary-replication-group-id sample-repl-group  \
     --global-replication-group-description an optional description of the global datastore
  ```

  Amazon ElastiCache는 글로벌 데이터 스토어를 생성할 때 자동으로 ID에 접두사를 적용합니다. AWS 리전에는 고유한 접두사가 있습니다. 예를 들어 미국 서부(캘리포니아 북부) 리전에서 생성된 글로벌 데이터 스토어 ID는 사용자가 제공한 접미사 이름과 함께 ‘virxk’로 시작합니다. 접미사는 자동으로 생성된 접두사와 결합되어 여러 리전에서 글로벌 데이터 스토어 이름의 고유성을 보장합니다.

  다음 표에는 AWS 리전 및 해당 글로벌 데이터 스토어 ID 접두사가 나와 있습니다.

    
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/Redis-Global-Datastores-CLI.html)
+  [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html) - 이 작업을 사용하여 글로벌 데이터 스토어의 이름을 `--global-replication-group-id` 파라미터에 제공하여 글로벌 데이터 스토어에 대한 보조 클러스터를 생성합니다.

  ```
  aws elasticache create-replication-group \
    --replication-group-id secondary replication group name \
    --replication-group-description “Replication group description" \
    --global-replication-group-id global datastore name
  ```

  이 작업을 호출하고 `--global-replication-group-id` 값으로 전달하면 ElastiCache 에서 다음 파라미터에 대한 글로벌 복제 그룹의 기본 복제 그룹에서 값을 추론합니다. 다음 파라미터에 대한 값을 전달하지 마십시오.

  `"PrimaryClusterId",`

  `"AutomaticFailoverEnabled",`

  ` "NumNodeGroups",`

  ` "CacheParameterGroupName",`

  ` "CacheNodeType",`

  ` "Engine",`

  ` "EngineVersion",`

  ` "CacheSecurityGroupNames",`

  ` "EnableTransitEncryption",`

  ` "AtRestEncryptionEnabled",`

  ` "SnapshotArns",`

  ` "SnapshotName"`
+ [describe-global-replication-groups](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-global-replication-groups.html)

  ```
  aws elasticache describe-global-replication-groups \
     --global-replication-group-id my global datastore  \
     --show-member-info an optional parameter that returns a list of the primary and secondary clusters that make up the global datastore
  ```
+ [modify-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-global-replication-group.html)

  ```
  aws elasticache modify-global-replication-group \
     --global-replication-group-id my global datastore  \
     --automatic-failover-enabled \
     --cache-node-type node type \
     --cache-parameter-group-name parameter group name \ 
     --engine-version engine version \
     -—apply-immediately \
     --global-replication-group-description description
  ```

  **ElastiCache GlobalDataStore를 위한 Redis에서 OSS Valkey로 교차 엔진 업그레이드**

  콘솔, API 또는 CLI를 사용하여 기존 Redis OSS 글로벌 복제 그룹을 Valkey로 업그레이드할 수 있습니다.

  기존 Redis OSS 글로벌 복제 그룹이 있는 경우 modify-global-replication-group API를 사용하여 새 엔진 및 엔진 버전을 지정하여 Valkey로 업그레이드할 수 있습니다.

  Linux, macOS, Unix의 경우:

  ```
  aws elasticache modify-global-replication-group \
     --global-replication-group-id myGlobalReplGroup \
     --engine valkey \
     --apply-immediately \
     --engine-version 8.0
  ```

  Windows의 경우:

  ```
  aws elasticache modify-global-replication-group ^
     --global-replication-group-id myGlobalReplGroup ^
     --engine valkey ^
     --apply-immediately ^
     --engine-version 8.0
  ```

  업그레이드하려는 기존 Redis OSS 글로벌 복제 그룹에 사용자 지정 캐시 파라미터 그룹이 적용된 경우 요청에서 사용자 지정 Valkey 캐시 파라미터 그룹도 전달해야 합니다. 입력 Valkey 사용자 지정 파라미터 그룹은 기존 Redis OSS 사용자 지정 파라미터 그룹과 동일한 Redis OSS 정적 파라미터 값을 가져야 합니다.

  Linux, macOS, Unix의 경우:

  ```
  aws elasticache modify-global-replication-group \
     --global-replication-group-id myGlobalReplGroup \
     --engine valkey \
     --engine-version 8.0 \
     --apply-immediately \
     --cache-parameter-group-name myParamGroup
  ```

  Windows의 경우:

  ```
  aws elasticache modify-global-replication-group ^
     --global-replication-group-id myGlobalReplGroup ^
     --engine valkey ^
     --engine-version 8.0 ^
     --apply-immediately ^
     --cache-parameter-group-name myParamGroup
  ```
+ [delete-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/delete-global-replication-group.html)

  ```
  aws elasticache delete-global-replication-group \
     --global-replication-group-id my global datastore  \
     --retain-primary-replication-group defaults to true
  ```
+ [disassociate-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/disassociate-global-replication-group.html)

  ```
  aws elasticache disassociate-global-replication-group \
     --global-replication-group-id my global datastore  \
     --replication-group-id my secondary cluster  \
     --replication-group-region the AWS Region in which the secondary cluster resides
  ```
+ [failover-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/failover-global-replication-group.html)

  ```
  aws elasticache failover-replication-group \
     --global-replication-group-id my global datastore \
     --primary-region The AWS Region of the primary cluster \  
     --primary-replication-group-id  The name of the global datastore, including the suffix.
  ```
+ [increase-node-groups-in-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/increase-node-groups-in-global-replication-group.html)

  ```
  aws elasticache increase-node-groups-in-global-replication-group \
     --apply-immediately yes \
     --global-replication-group-id global-replication-group-name \
     --node-group-count 3
  ```
+ [decrease-node-groups-in-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/decrease-node-groups-in-global-replication-group.html)

  ```
  aws elasticache decrease-node-groups-in-global-replication-group \
     --apply-immediately yes \
     --global-replication-group-id global-replication-group-name \
     --node-group-count 3
  ```
+ [rebalance-shards-in-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/rebalance-slots-in-global-replication-group.html)

  ```
  aws elasticache rebalance-shards-in-global-replication-group \
     --apply-immediately yes \
     --global-replication-group-id global-replication-group-name
  ```

도움말을 사용하여 사용 가능한 모든 ElastiCache for Valkey 및 Redis OSS용 명령을 나열합니다.

```
aws elasticache help
```

도움말을 사용하면 특정 명령을 설명하고 그 사용법에 대해 자세히 알아볼 수도 있습니다.

```
aws elasticache create-global-replication-group help
```

# 고가용성을 위한 복제 그룹 사용
<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) 섹션을 참조하세요.

# ElastiCache 클러스터 유지 관리
<a name="maintenance-window"></a>

모든 클러스터에는 시스템 변경 내용이 적용되는 주 단위 유지 관리 기간이 있습니다. Valkey 및 Redis OSS를 사용하면 복제 그룹에 동일한 주간 유지 관리 기간이 적용됩니다. 클러스터나 복제 그룹을 생성 또는 수정할 때 원하는 유지 관리 기간을 지정하지 않으면 ElastiCache가 임의로 선택한 요일에 리전의 유지 관리 기간 내에서 60분의 유지 관리 기간을 지정합니다.

리전별로 8시간 블록 시간 중에서 60분 유지 관리 시간이 임의로 선택됩니다. 다음 표는 기본 유지 관리 기간이 할당된 각 리전별 시간 블록 목록입니다. 리전의 유지 관리 기간 블록 외부에서 원하는 유지 관리 기간을 선택할 수 있습니다.


| 리전 코드 | 리전 이름 | 리전 유지 관리 기간 | 
| --- | --- | --- | 
| ap-northeast-1 | Asia Pacific (Tokyo) Region | 13:00\$121:00 UTC | 
| ap-northeast-2 | Asia Pacific (Seoul) Region | 12:00\$120:00 UTC | 
| ap-northeast-3 | Asia Pacific (Osaka) Region | 12:00\$120:00 UTC | 
| ap-southeast-3 | Asia Pacific (Jakarta) Region | 14:00\$122:00 UTC | 
| ap-south-1 | Asia Pacific (Mumbai) Region | 17:30\$11:30 UTC | 
| ap-southeast-1 | Asia Pacific (Singapore) Region | 14:00\$122:00 UTC | 
| cn-north-1 | 중국(베이징) 리전 | 14:00\$122:00 UTC | 
| cn-northwest-1 | 중국(닝샤) 리전 | 14:00\$122:00 UTC | 
| ap-east-1 | Asia Pacific (Hong Kong) Region | 13:00\$121:00 UTC | 
| ap-southeast-2 | 아시아 태평양(시드니) 리전 | 12:00\$120:00 UTC | 
| eu-west-3 | EU(파리) 리전 | 23:59\$107:29 UTC | 
| af-south-1 | 아프리카(케이프타운) 리전 | 13:00\$121:00 UTC | 
| eu-central-1 | Europe (Frankfurt) Region | 23:00\$107:00 UTC | 
| eu-west-1 | Europe (Ireland) Region | 22:00\$106:00 UTC | 
| eu-west-2 | Europe (London) Region | 23:00\$107:00 UTC | 
| me-south-1 | Middle East (Bahrain) Region | 13:00\$121:00 UTC | 
| me-central-1 | 중동(UAE) 리전 | 13:00\$121:00 UTC | 
| eu-south-1 | Europe (Milan) Region | 21:00–05:00 UTC | 
| sa-east-1 | 남아메리카(상파울루) 리전 | 01:00\$109:00 UTC | 
| us-east-1 | 미국 동부(버지니아 북부) 리전 | 03:00\$111:00 UTC | 
| us-east-2 | US East (Ohio) Region | 04:00\$112:00 UTC | 
| us-gov-west-1 | AWS GovCloud (US) region | 06:00\$114:00 UTC | 
| us-west-1 | US West (N. California) Region | 06:00\$114:00 UTC | 
| us-west-2 | US West (Oregon) Region | 06:00\$114:00 UTC | 

**클러스터 또는 복제 그룹의 유지 관리 기간 변경**  
유지 관리 기간은 사용률이 가장 낮은 시간에 할당되어야 하므로 수시로 수정되어야 할 수 있습니다. 클러스터나 복제 그룹을 수정하여 요청한 유지 관리 활동이 이루어지는 기간을 최대 24시간까지 지정할 수 있습니다. 이 시간 동안 사용자가 요청한 지연된 또는 대기 중인 클러스터 수정이 발생합니다.

**참고**  
AWS Management Console을 사용하여 노드 유형 수정 및/또는 엔진 업그레이드를 즉시 적용하려면 **지금 적용** 상자를 선택합니다. 그러지 않으면 이러한 수정 사항은 다음 예약된 유지 관리 기간에 적용됩니다. API를 사용하려면 [modify-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-replication-group.html) 또는 [modify-cache-cluster](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-cache-cluster.html)를 참조하세요.

**추가 정보**  
유지 관리 기간 및 노드 대체에 대한 자세한 내용은 다음을 참조하세요.
+ [ElastiCache 유지 관리](https://aws.amazon.com/elasticache/elasticache-maintenance/) - 유지 관리 및 노드 교체에 대한 FAQ
+ [노드 대체(Memcached)](CacheNodes.NodeReplacement-mc.md) - Memcached에 대한 노드 교체 관리
+ [ElastiCache 클러스터 수정](Clusters.Modify.md) - 클러스터의 유지 관리 기간 변경
+ [노드 대체(Valkey 및 Redis OSS)](CacheNodes.NodeReplacement.md) - 노드 교체 관리
+ [복제 그룹 수정](Replication.Modify.md) - 복제 그룹의 유지 관리 기간 변경

# ElastiCache 파라미터 그룹을 사용해 엔진 파라미터 구성
<a name="ParameterGroups"></a>

Amazon ElastiCache는 파라미터를 사용하여 노드 및 클러스터의 런타임 속성을 제어합니다. 일반적으로 최신 엔진 버전에는 새로운 기능을 기원하는 추가 파라미터가 포함됩니다. Memcached 파라미터 표는 [Memcached 특정 파라미터](ParameterGroups.Engine.md#ParameterGroups.Memcached) 섹션을 참조하세요. Valkey 및 Redis OSS 파라미터 표는 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis) 섹션을 참조하세요.

`maxmemory`와 같은 일부 파라미터 값은 엔진 및 노드 유형에 의해 결정됩니다. 노드 유형별 Memcached 파라미터 값의 표는 [Memcached 노드 유형별 파라미터](ParameterGroups.Engine.md#ParameterGroups.Memcached.NodeSpecific) 섹션을 참조하세요. 노드 유형별 Valkey 및 Redis OSS 파라미터 값의 표는 [Redis OSS 노드 유형별 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis.NodeSpecific) 섹션을 참조하세요.

**참고**  
Memcached 특정 파라미터 목록은 [Memcached 특정 파라미터](ParameterGroups.Engine.md#ParameterGroups.Memcached)를 참조하세요.

**Topics**
+ [ElastiCache의 파라미터 관리](ParameterGroups.Management.md)
+ [ElastiCache의 캐시 파라미터 그룹 티어](ParameterGroups.Tiers.md)
+ [ElastiCache 파라미터 그룹 생성](ParameterGroups.Creating.md)
+ [이름으로 ElastiCache 파라미터 그룹 나열](ParameterGroups.ListingGroups.md)
+ [ElastiCache 파라미터 그룹 값 나열](ParameterGroups.ListingValues.md)
+ [ElastiCache 파라미터 그룹 수정](ParameterGroups.Modifying.md)
+ [ElastiCache 파라미터 그룹 삭제](ParameterGroups.Deleting.md)
+ [엔진별 파라미터](ParameterGroups.Engine.md)

# ElastiCache의 파라미터 관리
<a name="ParameterGroups.Management"></a>

더욱 쉬운 파라미터 관리를 위해 ElastiCache 파라미터를 명명된 파라미터 그룹으로 그룹화합니다. 파라미터 그룹은 시작하는 동안 엔진 소프트웨어에 전달되는 파라미터의 특정 값 조합을 나타냅니다. 이 값은 각 노드의 엔진 프로세서가 런타임에 작동하는 방식을 결정합니다. 특정 파라미터 그룹의 파라미터 값은 해당 파라미터가 속한 클러스터와 상관없이 그룹과 연결된 모든 노드에 적용됩니다.

클러스터 성능을 미세 조정하려면 일부 파라미터 값을 수정하거나 클러스터의 파라미터 그룹을 변경할 수 있습니다.
+ 기본 파라미터 그룹을 수정하거나 삭제할 수 없습니다. 사용자 지정 파라미터 값이 필요하면 사용자 지정 파라미터 그룹을 생성해야 합니다.
+ Memcached의 경우, 파라미터 그룹 패밀리와 할당할 클러스터는 호환 가능해야 합니다. 예를 들어 클러스터에서 Memcached 버전 1.4.8을 실행 중이라면 Memcached 1.4 패밀리의 기본 또는 사용자 지정 파라미터 그룹만 사용할 수 있습니다.

  Redis OSS의 경우, 파라미터 그룹 패밀리와 할당할 클러스터는 호환 가능해야 합니다. 예를 들어 클러스터에서 Redis OSS 버전 3.2.10을 실행 중이라면 Redis OSS 3.2 패밀리의 기본 또는 사용자 지정 파라미터 그룹만 사용할 수 있습니다.
+ 클러스터의 파라미터 그룹을 변경하면 조건부로 수정 가능한 파라미터의 값이 현재 및 새 파라미터 그룹에서 동일해야 합니다.
+ Memcached의 경우, 클러스터의 파라미터를 변경하면 변경 사항이 클러스터에 즉시 적용됩니다. 이는 클러스터의 파라미터 그룹 자체에서 변경하든 파라미터 값을 클러스터의 파라미터 그룹 내에서 변경하든 마찬가지입니다. 특정 파라미터 변경 사항이 적용되는 시점을 확인하려면 [Memcached 특정 파라미터](ParameterGroups.Engine.md#ParameterGroups.Memcached)에 대한 테이블의 **변경 적용** 열을 참조하세요. 클러스터의 노드 재부팅에 관한 자세한 정보는 [클러스터 재부팅](Clusters.html#Rebooting)을 참조하세요.
+ Redis OSS의 경우, 클러스터의 파라미터를 변경하면 변경 사항은 다음에 나와 있는 예외를 제외하고, 클러스터 노드가 재부팅된 즉시 또는 그 이후에 클러스터에 적용됩니다. 이는 클러스터의 파라미터 그룹 자체에서 변경하든 파라미터 값을 클러스터의 파라미터 그룹 내에서 변경하든 마찬가지입니다. 특정 파라미터 변경 사항이 적용되는 시점을 확인하려면 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis)에 대한 테이블의 **변경 적용** 열을 참조하세요.

  Valkey 또는 Redis OSS 노드 재부팅에 대한 자세한 내용은 [노드 재부팅](nodes.rebooting.md) 섹션을 참조하세요.
**Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 파라미터 변경**  
Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터에서 다음 파라미터를 변경하는 경우 다음 확인 단계를 따르십시오.  
activerehashing
데이터베이스
클러스터의 수동 백업을 만듭니다. [수동 백업 지원](backups-manual.md) 섹션을 참조하세요.
클러스터를 삭제합니다. [클러스터 삭제](Clusters.html#Delete)를 참조하세요.
변경한 파라미터 그룹 및 백업을 사용해 클러스터를 저장하여 새로운 클러스터를 시드합니다. [백업에서 새 캐시로 복원](backups-restoring.md) 섹션을 참조하세요.
다른 파라미터를 변경한 경우에는 필요하지 않습니다.
+ 파라미터 그룹을 Valkey 및 Redis OSS 글로벌 데이터 저장소와 연결할 수 있습니다. *글로벌 데이터 스토어*는 AWS 리전에 걸쳐 있는 하나 이상의 클러스터 모음입니다. 이 경우 파라미터 그룹은 글로벌 데이터 스토어를 구성하는 모든 클러스터에서 공유됩니다. 기본 클러스터의 파라미터 그룹에 대한 모든 수정 사항은 글로벌 데이터 스토어의 나머지 모든 클러스터에 복제됩니다. 자세한 내용은 [글로벌 데이터 스토어를 사용하여AWS리전 간 복제](Redis-Global-Datastore.md) 섹션을 참조하세요.

  다음 위치를 보면 파라미터 그룹이 글로벌 데이터 스토어의 일부인지 확인할 수 있습니다.
  + ElastiCache 콘솔의 **파라미터 그룹** 페이지에 있는 yes/no **글로벌** 특성 
  + [CacheParameterGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CacheParameterGroup.html) API 작업의 yes/no `IsGlobal` 속성

# ElastiCache의 캐시 파라미터 그룹 티어
<a name="ParameterGroups.Tiers"></a>

Amazon ElastiCache에는 다음과 같이 세 가지 캐시 파라미터 그룹 티어가 있습니다.

![\[이미지: Amazon ElastiCache 파라미터 그룹 티어\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCache-ParameterGroups-Tiers.png)


*Amazon ElastiCache 파라미터 그룹 티어*

**전역 기본값**

해당 리전의 모든 Amazon ElastiCache 고객을 위한 최상위 루트 파라미터 그룹입니다.

전역 기본 캐시 파라미터 그룹:
+ ElastiCache용으로 예약되어 있으며 고객이 사용할 수 없습니다.

**고객 기본값**

고객의 사용을 위해 생성된 전역 기본 캐시 파라미터 그룹의 사본입니다.

고객 기본 캐시 파라미터 그룹:
+ ElastiCache가 생성하고 소유합니다.
+ 고객이 이 캐시 파라미터 그룹에서 지원하는 엔진 버전을 실행 중인 모든 클러스터의 캐시 파라미터 그룹으로 사용할 수 있습니다.
+ 고객이 편집할 수 없습니다.

**고객 소유**

고객 기본 캐시 파라미터 그룹의 사본입니다. 고객 소유 캐시 파라미터 그룹은 고객이 캐시 파라미터 그룹을 생성할 때마다 만들어집니다.

고객 소유 캐시 파라미터 그룹:
+ 고객이 생성하고 소유합니다.
+ 고객의 호환 가능한 모든 클러스터에 할당할 수 있습니다.
+ 고객이 사용자 지정 캐시 파라미터 그룹을 생성하기 위해 수정할 수 있습니다.

  모든 파라미터 값을 수정할 수 있는 것은 아닙니다. Memcached 값에 대한 자세한 내용은 [Memcached 특정 파라미터](ParameterGroups.Engine.md#ParameterGroups.Memcached) 섹션을 참조하십시오. Valkey 및 Redis OSS 값에 대한 자세한 내용은 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis) 섹션을 참조하세요.

# ElastiCache 파라미터 그룹 생성
<a name="ParameterGroups.Creating"></a>

기본값에서 변경하려는 파라미터 값이 하나 이상이면 새 파라미터 그룹을 생성해야 합니다. ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 파라미터 그룹을 생성할 수 있습니다.

## ElastiCache 파라미터 그룹 생성(콘솔)
<a name="ParameterGroups.Creating.CON"></a>

다음 절차는 ElastiCache 콘솔을 사용하여 파라미터 그룹을 생성하는 방법을 보여줍니다.

**ElastiCache 콘솔을 사용하여 파라미터 그룹을 생성하려면**

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

1. 사용 가능한 모든 파라미터 목록을 표시하려면 왼쪽 탐색 창에서 [**Parameter Groups**]를 선택합니다.

1. 파라미터 그룹을 생성하려면 [**Create Parameter Group**]을 선택합니다.

   **파라미터 그룹 생성** 화면이 나타납니다.

1. [**Family**] 목록에서 파라미터 그룹의 템플릿이 될 파라미터 그룹 패밀리를 선택합니다.

   *memcached1.4* 또는 *redis3.2* 같은 파라미터 그룹 패밀리는 파라미터 그룹의 실제 파라미터와 초기 값을 정의합니다. 파라미터 그룹 패밀리는 클러스터의 엔진 및 버전과 일치해야 합니다.

1. [**Name**] 상자에 파라미터 그룹의 고유 이름을 입력합니다.

   클러스터를 생성하거나 클러스터의 파라미터 그룹을 수정할 때 그 이름으로 파라미터 그룹을 선택합니다. 그러므로 이름은 파라미터 그룹의 패밀리를 식별할 수 있고 정보를 알 수 있는 것이 좋습니다.

   파라미터 그룹 명명 제약 조건은 다음과 같습니다.
   + ASCII 문자로 시작해야 합니다.
   + ASCII 문자, 숫자 및 하이픈만 포함할 수 있습니다.
   + 1-255자여야 합니다.
   + 하이픈 2개가 연속될 수 없습니다.
   + 끝에 하이픈이 올 수 없습니다.

1. [**Description**] 상자에 파라미터 그룹에 대한 설명을 입력합니다.

1. 파라미터 그룹을 생성하려면 [**Create**]를 선택합니다.

   파라미터 그룹을 생성하지 않고 프로세스를 종료하려면 [**Cancel**]을 선택합니다.

1. 파라미터 그룹을 생성하면 패밀리의 기본값이 부여됩니다. 기본값을 변경하려면 파라미터 그룹을 수정해야 합니다. 자세한 내용은 [ElastiCache 파라미터 그룹 수정](ParameterGroups.Modifying.md) 섹션을 참조하세요.

## ElastiCache 파라미터 그룹 생성(AWS CLI)
<a name="ParameterGroups.Creating.CLI"></a>

AWS CLI를 사용하여 파라미터 그룹을 생성하려면 이 파라미터와 함께 `create-cache-parameter-group` 명령을 사용합니다.
+ `--cache-parameter-group-name` - 파라미터 그룹의 이름입니다.

  파라미터 그룹 명명 제약 조건은 다음과 같습니다.
  + ASCII 문자로 시작해야 합니다.
  + ASCII 문자, 숫자 및 하이픈만 포함할 수 있습니다.
  + 1-255자여야 합니다.
  + 하이픈 2개가 연속될 수 없습니다.
  + 끝에 하이픈이 올 수 없습니다.
+ `--cache-parameter-group-family` - 파라미터 그룹의 엔진 및 버전 패밀리입니다.
+ `--description` - 사용자가 정의한 파라미터 그룹에 대한 설명입니다.

**Example**  
다음 예제에서는 memcached1.4를 템플릿으로 사용하여 *myMem14*라는 파라미터 그룹을 생성합니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache create-cache-parameter-group \
    --cache-parameter-group-name myMem14  \
    --cache-parameter-group-family memcached1.4 \
    --description "My first parameter group"
```
Windows의 경우:  

```
aws elasticache create-cache-parameter-group ^
    --cache-parameter-group-name myMem14  ^
    --cache-parameter-group-family memcached1.4 ^
    --description "My first parameter group"
```
이 명령의 출력은 다음과 유사해야 합니다.  

```
{
    "CacheParameterGroup": {
        "CacheParameterGroupName": "myMem14", 
        "CacheParameterGroupFamily": "memcached1.4", 
        "Description": "My first  parameter group"
    }
}
```

**Example**  
다음 예제에서는 redis2.8 패밀리를 템플릿으로 사용하여 *myRed28*이라는 파라미터 그룹을 생성합니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache create-cache-parameter-group \
    --cache-parameter-group-name myRed28  \
    --cache-parameter-group-family redis2.8 \
    --description "My first parameter group"
```
Windows의 경우:  

```
aws elasticache create-cache-parameter-group ^
    --cache-parameter-group-name myRed28  ^
    --cache-parameter-group-family redis2.8 ^
    --description "My first parameter group"
```
이 명령의 출력은 다음과 유사해야 합니다.  

```
{
    "CacheParameterGroup": {
        "CacheParameterGroupName": "myRed28", 
        "CacheParameterGroupFamily": "redis2.8", 
        "Description": "My first parameter group"
    }
}
```

파라미터 그룹을 생성하면 패밀리의 기본값이 부여됩니다. 기본값을 변경하려면 파라미터 그룹을 수정해야 합니다. 자세한 내용은 [ElastiCache 파라미터 그룹 수정](ParameterGroups.Modifying.md) 섹션을 참조하세요.

[자세한 내용은 `create-cache-parameter-group` 단원을 참조하세요.](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-cache-parameter-group.html)

## ElastiCache 파라미터 그룹 생성(ElastiCache API)
<a name="ParameterGroups.Creating.API"></a>

ElastiCache API를 사용하여 파라미터 그룹을 생성하려면 이 파라미터와 함께 `CreateCacheParameterGroup` 작업을 사용합니다.
+ `ParameterGroupName` - 파라미터 그룹의 이름입니다.

  파라미터 그룹 명명 제약 조건은 다음과 같습니다.
  + ASCII 문자로 시작해야 합니다.
  + ASCII 문자, 숫자 및 하이픈만 포함할 수 있습니다.
  + 1-255자여야 합니다.
  + 하이픈 2개가 연속될 수 없습니다.
  + 끝에 하이픈이 올 수 없습니다.
+ `CacheParameterGroupFamily` - 파라미터 그룹의 엔진 및 버전 패밀리입니다. 예를 들어 `memcached1.4`입니다.
+ `CacheParameterGroupFamily` - 파라미터 그룹의 엔진 및 버전 패밀리입니다. 예를 들어 `redis2.8`입니다.
+ `Description` - 사용자가 정의한 파라미터 그룹에 대한 설명입니다.

**Example**  
다음 예제에서는 memcached1.4를 템플릿으로 사용하여 *myMem14*라는 파라미터 그룹을 생성합니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=CreateCacheParameterGroup
   &CacheParameterGroupFamily=memcached1.4
   &CacheParameterGroupName=myMem14
   &Description=My%20first%20parameter%20group
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &Version=2015-02-02
   &X-Amz-Credential=<credential>
```
이 작업의 응답은 다음과 유사해야 합니다.  

```
<CreateCacheParameterGroupResponse xmlns="http://elasticache.amazonaws.com/doc/2013-06-15/">
  <CreateCacheParameterGroupResult>
    <CacheParameterGroup>
      <CacheParameterGroupName>myMem14</CacheParameterGroupName>
      <CacheParameterGroupFamily>memcached1.4</CacheParameterGroupFamily>
      <Description>My first  parameter group</Description>
    </CacheParameterGroup>
  </CreateCacheParameterGroupResult>
  <ResponseMetadata>
    <RequestId>d8465952-af48-11e0-8d36-859edca6f4b8</RequestId>
  </ResponseMetadata>
</CreateCacheParameterGroupResponse>
```

**Example**  
다음 예제에서는 redis2.8 패밀리를 템플릿으로 사용하여 *myRed28*이라는 파라미터 그룹을 생성합니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=CreateCacheParameterGroup
   &CacheParameterGroupFamily=redis2.8
   &CacheParameterGroupName=myRed28
   &Description=My%20first%20parameter%20group
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &Version=2015-02-02
   &X-Amz-Credential=<credential>
```
이 작업의 응답은 다음과 유사해야 합니다.  

```
<CreateCacheParameterGroupResponse xmlns="http://elasticache.amazonaws.com/doc/2013-06-15/">
  <CreateCacheParameterGroupResult>
    <CacheParameterGroup>
      <CacheParameterGroupName>myRed28</CacheParameterGroupName>
      <CacheParameterGroupFamily>redis2.8</CacheParameterGroupFamily>
      <Description>My first parameter group</Description>
    </CacheParameterGroup>
  </CreateCacheParameterGroupResult>
  <ResponseMetadata>
    <RequestId>d8465952-af48-11e0-8d36-859edca6f4b8</RequestId>
  </ResponseMetadata>
</CreateCacheParameterGroupResponse>
```

파라미터 그룹을 생성하면 패밀리의 기본값이 부여됩니다. 기본값을 변경하려면 파라미터 그룹을 수정해야 합니다. 자세한 내용은 [ElastiCache 파라미터 그룹 수정](ParameterGroups.Modifying.md) 섹션을 참조하세요.

[자세한 내용은 `CreateCacheParameterGroup` 단원을 참조하세요.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateCacheParameterGroup.html)

# 이름으로 ElastiCache 파라미터 그룹 나열
<a name="ParameterGroups.ListingGroups"></a>

ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 파라미터 그룹을 나열할 수 있습니다.

## 이름별로 파라미터 그룹 목록 조회(콘솔)
<a name="ParameterGroups.ListingGroups.CON"></a>

다음 절차에서는 ElastiCache 콘솔을 사용하여 파라미터 그룹 목록을 보는 방법을 설명합니다.

**ElastiCache 콘솔을 사용하여 파라미터 그룹을 나열하려면**

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

1. 사용 가능한 모든 파라미터 목록을 표시하려면 왼쪽 탐색 창에서 [**Parameter Groups**]를 선택합니다.

## 이름으로 ElastiCache 파라미터 그룹 나열(AWS CLI)
<a name="ParameterGroups.ListingGroups.CLI"></a>

AWS CLI를 사용하여 파라미터 그룹의 목록을 생성하려면 `describe-cache-parameter-groups` 명령을 사용합니다. 파라미터 그룹의 이름을 입력하면 그 파라미터 그룹만 나열됩니다. 파라미터 그룹의 이름을 입력하지 않으면 최대 `--max-records`개의 파라미터 그룹이 나열됩니다. 두 경우 모두 파라미터 그룹의 이름, 패밀리 및 설명이 나열됩니다.

**Example**  
다음 샘플 코드에는 *myMem14* 파라미터 그룹이 나열되어 있습니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache describe-cache-parameter-groups \
    --cache-parameter-group-name myMem14
```
Windows의 경우:  

```
aws elasticache describe-cache-parameter-groups ^
    --cache-parameter-group-name myMem14
```
이 명령의 출력은 파라미터 그룹의 이름, 패밀리 및 설명을 나열하는 것과 같습니다.  

```
{
    "CacheParameterGroups": [
	    {
	        "CacheParameterGroupName": "myMem14", 
	        "CacheParameterGroupFamily": "memcached1.4", 
	        "Description": "My first parameter group"
	    }
    ]
}
```

**Example**  
다음 샘플 코드에는 *myRed28* 파라미터 그룹이 나열되어 있습니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache describe-cache-parameter-groups \
    --cache-parameter-group-name myRed28
```
Windows의 경우:  

```
aws elasticache describe-cache-parameter-groups ^
    --cache-parameter-group-name myRed28
```
이 명령의 출력은 파라미터 그룹의 이름, 패밀리 및 설명을 나열하는 것과 같습니다.  

```
{
    "CacheParameterGroups": [
	    {
	        "CacheParameterGroupName": "myRed28", 
	        "CacheParameterGroupFamily": "redis2.8", 
	        "Description": "My first parameter group"
	    }
    ]
}
```

**Example**  
다음 샘플 코드에는 Redis OSS 엔진 버전 5.0.6 이상에서 실행되는 파라미터 그룹에 대한 파라미터 그룹 *myRed56*이 나열됩니다. 파라미터 그룹이 [글로벌 데이터 스토어를 사용하여AWS리전 간 복제](Redis-Global-Datastore.md)의 일부인 경우 출력에서 반환되는 `IsGlobal` 속성 값은 `Yes`가 됩니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache describe-cache-parameter-groups \
    --cache-parameter-group-name myRed56
```
Windows의 경우:  

```
aws elasticache describe-cache-parameter-groups ^
    --cache-parameter-group-name myRed56
```
이 명령의 출력은 파라미터 그룹의 이름, 패밀리, isGlobal 및 설명을 나열하는 것과 같습니다.  

```
{
    "CacheParameterGroups": [
	    {
	        "CacheParameterGroupName": "myRed56", 
	        "CacheParameterGroupFamily": "redis5.0", 	        
	        "Description": "My first parameter group",
	        "IsGlobal": "yes"	        
	    }
    ]
}
```

**Example**  
다음 샘플 코드는 최대 10개의 파라미터 그룹을 나열합니다.  

```
aws elasticache describe-cache-parameter-groups --max-records 10
```
이 명령의 JSON 출력은 각 파라미터 그룹의 이름, 패밀리, 설명 및 redis5.6의 경우 파라미터 그룹이 글로벌 데이터 스토어(IsGlobal)의 일부인지 여부를 나열하는 것과 같습니다.  

```
{
    "CacheParameterGroups": [
        {
            "CacheParameterGroupName": "custom-redis32", 
            "CacheParameterGroupFamily": "redis3.2", 
            "Description": "custom parameter group with reserved-memory > 0"
        }, 
        {
            "CacheParameterGroupName": "default.memcached1.4", 
            "CacheParameterGroupFamily": "memcached1.4", 
            "Description": "Default parameter group for memcached1.4"
        }, 
        {
            "CacheParameterGroupName": "default.redis2.6", 
            "CacheParameterGroupFamily": "redis2.6", 
            "Description": "Default parameter group for redis2.6"
        }, 
        {
            "CacheParameterGroupName": "default.redis2.8", 
            "CacheParameterGroupFamily": "redis2.8", 
            "Description": "Default parameter group for redis2.8"
        }, 
        {
            "CacheParameterGroupName": "default.redis3.2", 
            "CacheParameterGroupFamily": "redis3.2", 
            "Description": "Default parameter group for redis3.2"
        }, 
        {
            "CacheParameterGroupName": "default.redis3.2.cluster.on", 
            "CacheParameterGroupFamily": "redis3.2", 
            "Description": "Customized default parameter group for redis3.2 with cluster mode on"
        },
        {
            "CacheParameterGroupName": "default.redis5.6.cluster.on", 
            "CacheParameterGroupFamily": "redis5.0", 
            "Description": "Customized default parameter group for redis5.6 with cluster mode on",
            "isGlobal": "yes"
        },
    ]
}
```

[자세한 내용은 `describe-cache-parameter-groups` 단원을 참조하세요.](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-parameter-groups.html)

## 이름으로 ElastiCache 파라미터 그룹 나열(ElastiCache API)
<a name="ParameterGroups.ListingGroups.API"></a>

ElastiCache API를 사용하여 파라미터 그룹의 목록을 생성하려면 `DescribeCacheParameterGroups` 작업을 사용합니다. 파라미터 그룹의 이름을 입력하면 그 파라미터 그룹만 나열됩니다. 파라미터 그룹의 이름을 입력하지 않으면 최대 `MaxRecords`개의 파라미터 그룹이 나열됩니다. 두 경우 모두 파라미터 그룹의 이름, 패밀리 및 설명이 나열됩니다.

**Example**  
다음 샘플 코드에는 *myMem14* 파라미터 그룹이 나열되어 있습니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeCacheParameterGroups
   &CacheParameterGroupName=myMem14
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &Version=2015-02-02
   &X-Amz-Credential=<credential>
```
이 작업의 응답은 각 파라미터 그룹의 이름, 패밀리 및 설명을 나열하는 것과 같습니다.  

```
<DescribeCacheParameterGroupsResponse xmlns="http://elasticache.amazonaws.com/doc/2013-06-15/">
  <DescribeCacheParameterGroupsResult>
    <CacheParameterGroups>
      <CacheParameterGroup>
        <CacheParameterGroupName>myMem14</CacheParameterGroupName>
        <CacheParameterGroupFamily>memcached1.4</CacheParameterGroupFamily>
        <Description>My custom Memcached 1.4 parameter group</Description>
      </CacheParameterGroup>
    </CacheParameterGroups>
  </DescribeCacheParameterGroupsResult>
  <ResponseMetadata>
    <RequestId>3540cc3d-af48-11e0-97f9-279771c4477e</RequestId>
  </ResponseMetadata>
</DescribeCacheParameterGroupsResponse>
```

**Example**  
다음 샘플 코드는 최대 10개의 파라미터 그룹을 나열합니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeCacheParameterGroups
   &MaxRecords=10
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &Version=2015-02-02
   &X-Amz-Credential=<credential>
```
이 작업의 응답은 각 파라미터 그룹의 이름, 패밀리, 설명 및 redis5.6의 경우 파라미터 그룹이 글로벌 데이터 스토어(IsGlobal)의 일부인지 여부를 나열하는 것과 같습니다.  

```
<DescribeCacheParameterGroupsResponse xmlns="http://elasticache.amazonaws.com/doc/2013-06-15/">
  <DescribeCacheParameterGroupsResult>
    <CacheParameterGroups>
      <CacheParameterGroup>
        <CacheParameterGroupName>myRedis28</CacheParameterGroupName>
        <CacheParameterGroupFamily>redis2.8</CacheParameterGroupFamily>
        <Description>My custom Redis 2.8 parameter group</Description>
      </CacheParameterGroup>
      <CacheParameterGroup>
        <CacheParameterGroupName>myMem14</CacheParameterGroupName>
        <CacheParameterGroupFamily>memcached1.4</CacheParameterGroupFamily>
        <Description>My custom Memcached 1.4 parameter group</Description>
      </CacheParameterGroup>
       <CacheParameterGroup>
        <CacheParameterGroupName>myRedis56</CacheParameterGroupName>
        <CacheParameterGroupFamily>redis5.0</CacheParameterGroupFamily>
        <Description>My custom redis 5.6 parameter group</Description>
        <isGlobal>yes</isGlobal>
      </CacheParameterGroup>
    </CacheParameterGroups>
  </DescribeCacheParameterGroupsResult>
  <ResponseMetadata>
    <RequestId>3540cc3d-af48-11e0-97f9-279771c4477e</RequestId>
  </ResponseMetadata>
</DescribeCacheParameterGroupsResponse>
```

**Example**  
다음 샘플 코드에는 *myRed28* 파라미터 그룹이 나열되어 있습니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeCacheParameterGroups
   &CacheParameterGroupName=myRed28
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &Version=2015-02-02
   &X-Amz-Credential=<credential>
```
이 작업의 응답은 각 파라미터 그룹의 이름, 패밀리 및 설명을 나열하는 것과 같습니다.  

```
<DescribeCacheParameterGroupsResponse xmlns="http://elasticache.amazonaws.com/doc/2013-06-15/">
  <DescribeCacheParameterGroupsResult>
    <CacheParameterGroups>
      <CacheParameterGroup>
        <CacheParameterGroupName>myRed28</CacheParameterGroupName>
        <CacheParameterGroupFamily>redis2.8</CacheParameterGroupFamily>
        <Description>My custom Redis 2.8 parameter group</Description>
      </CacheParameterGroup>
    </CacheParameterGroups>
  </DescribeCacheParameterGroupsResult>
  <ResponseMetadata>
    <RequestId>3540cc3d-af48-11e0-97f9-279771c4477e</RequestId>
  </ResponseMetadata>
</DescribeCacheParameterGroupsResponse>
```

**Example**  
다음 샘플 코드에는 *myRed56* 파라미터 그룹이 나열되어 있습니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeCacheParameterGroups
   &CacheParameterGroupName=myRed56
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &Version=2015-02-02
   &X-Amz-Credential=<credential>
```
이 작업의 응답은 각 파라미터 그룹의 이름, 패밀리, 설명 및 파라미터 그룹이 글로벌 데이터 스토어(IsGlobal)의 일부인지 여부를 나열하는 것과 같습니다.  

```
<DescribeCacheParameterGroupsResponse xmlns="http://elasticache.amazonaws.com/doc/2013-06-15/">
  <DescribeCacheParameterGroupsResult>
    <CacheParameterGroups>
      <CacheParameterGroup>
        <CacheParameterGroupName>myRed56</CacheParameterGroupName>
        <CacheParameterGroupFamily>redis5.0</CacheParameterGroupFamily>
        <Description>My custom Redis 5.6 parameter group</Description>
        <isGlobal>yes</isGlobal>
      </CacheParameterGroup>
    </CacheParameterGroups>
  </DescribeCacheParameterGroupsResult>
  <ResponseMetadata>
    <RequestId>3540cc3d-af48-11e0-97f9-279771c4477e</RequestId>
  </ResponseMetadata>
</DescribeCacheParameterGroupsResponse>
```

[자세한 내용은 `DescribeCacheParameterGroups` 단원을 참조하세요.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeCacheParameterGroups.html)

# ElastiCache 파라미터 그룹 값 나열
<a name="ParameterGroups.ListingValues"></a>

ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 파라미터 및 파라미터 그룹의 값을 나열할 수 있습니다.

## ElastiCache 파라미터 그룹 값 나열(콘솔)
<a name="ParameterGroups.ListingValues.CON"></a>

다음 절차에서는 ElastiCache 콘솔을 사용하여 파라미터 및 파라미터 그룹의 값을 나열하는 방법을 보여줍니다.

**ElastiCache 콘솔을 사용하여 파라미터 그룹의 파라미터 및 그 값을 나열하려면**

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

1. 사용 가능한 모든 파라미터 목록을 표시하려면 왼쪽 탐색 창에서 [**Parameter Groups**]를 선택합니다.

1. 파라미터 그룹의 이름 왼쪽에 있는 확인란을 선택하여 파라미터 및 값을 나열할 파라미터 그룹을 선택합니다.

   파라미터 및 그 값이 화면 하단에 나열됩니다. 파라미터의 수가 많으면 위아래로 스크롤하여 원하는 파라미터를 찾습니다.

## 파라미터 그룹 값 나열(AWS CLI)
<a name="ParameterGroups.ListingValues.CLI"></a>

AWS CLI를 사용하여 파라미터 그룹의 파라미터 및 그 값을 나열하려면 `describe-cache-parameters` 명령을 사용합니다.

**Example**  
다음 샘플 코드에는 *myMem14* 파라미터 그룹의 모든 Memcached 파라미터 및 그 값이 나열되어 있습니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache describe-cache-parameters \
    --cache-parameter-group-name myMem14
```
Windows의 경우:  

```
aws elasticache describe-cache-parameters ^
    --cache-parameter-group-name myMem14
```

**Example**  
다음 샘플 코드는 *myRedis28* 파라미터 그룹의 모든 파라미터 및 그 값을 나열합니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache describe-cache-parameters \
    --cache-parameter-group-name myRedis28
```
Windows의 경우:  

```
aws elasticache describe-cache-parameters ^
    --cache-parameter-group-name myRed28
```

[자세한 내용은 `describe-cache-parameters` 단원을 참조하세요.](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-parameters.html)

## 파라미터 그룹 값 나열(ElastiCache API)
<a name="ParameterGroups.ListingValues.API"></a>

ElastiCache API를 사용하여 파라미터 그룹의 파라미터 및 그 값을 나열하려면 `DescribeCacheParameters` 작업을 사용합니다.

**Example**  
다음 샘플 코드에는 *myMem14* 파라미터 그룹의 모든 Memcached 파라미터가 나열되어 있습니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeCacheParameters
   &CacheParameterGroupName=myMem14
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &Version=2015-02-02
   &X-Amz-Credential=<credential>
```
이 작업의 응답은 다음과 유사합니다. 응답이 잘렸습니다.  

```
<DescribeCacheParametersResponse xmlns="http://elasticache.amazonaws.com/doc/2013-06-15/">
  <DescribeCacheParametersResult>
    <CacheClusterClassSpecificParameters>
      <CacheNodeTypeSpecificParameter>
        <DataType>integer</DataType>
        <Source>system</Source>
        <IsModifiable>false</IsModifiable>
        <Description>The maximum configurable amount of memory to use to store items, in megabytes.</Description>
        <CacheNodeTypeSpecificValues>
          <CacheNodeTypeSpecificValue>
            <Value>1000</Value>
            <CacheClusterClass>cache.c1.medium</CacheClusterClass>
          </CacheNodeTypeSpecificValue>
          <CacheNodeTypeSpecificValue>
            <Value>6000</Value>
            <CacheClusterClass>cache.c1.xlarge</CacheClusterClass>
          </CacheNodeTypeSpecificValue>
          <CacheNodeTypeSpecificValue>
            <Value>7100</Value>
            <CacheClusterClass>cache.m1.large</CacheClusterClass>
          </CacheNodeTypeSpecificValue>
          <CacheNodeTypeSpecificValue>
            <Value>1300</Value>
            <CacheClusterClass>cache.m1.small</CacheClusterClass>
          </CacheNodeTypeSpecificValue>
          
...output omitted...

    </CacheClusterClassSpecificParameters>
  </DescribeCacheParametersResult>
  <ResponseMetadata>
    <RequestId>6d355589-af49-11e0-97f9-279771c4477e</RequestId>
  </ResponseMetadata>
</DescribeCacheParametersResponse>
```

**Example**  
다음 샘플 코드에는 *myRed28* 파라미터 그룹의 모든 파라미터가 나열되어 있습니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeCacheParameters
   &CacheParameterGroupName=myRed28
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &Version=2015-02-02
   &X-Amz-Credential=<credential>
```
이 작업의 응답은 다음과 유사합니다. 응답이 잘렸습니다.  

```
<DescribeCacheParametersResponse xmlns="http://elasticache.amazonaws.com/doc/2013-06-15/">
  <DescribeCacheParametersResult>
    <CacheClusterClassSpecificParameters>
      <CacheNodeTypeSpecificParameter>
        <DataType>integer</DataType>
        <Source>system</Source>
        <IsModifiable>false</IsModifiable>
        <Description>The maximum configurable amount of memory to use to store items, in megabytes.</Description>
        <CacheNodeTypeSpecificValues>
          <CacheNodeTypeSpecificValue>
            <Value>1000</Value>
            <CacheClusterClass>cache.c1.medium</CacheClusterClass>
          </CacheNodeTypeSpecificValue>
          <CacheNodeTypeSpecificValue>
            <Value>6000</Value>
            <CacheClusterClass>cache.c1.xlarge</CacheClusterClass>
          </CacheNodeTypeSpecificValue>
          <CacheNodeTypeSpecificValue>
            <Value>7100</Value>
            <CacheClusterClass>cache.m1.large</CacheClusterClass>
          </CacheNodeTypeSpecificValue>
          <CacheNodeTypeSpecificValue>
            <Value>1300</Value>
            <CacheClusterClass>cache.m1.small</CacheClusterClass>
          </CacheNodeTypeSpecificValue>
          
...output omitted...

    </CacheClusterClassSpecificParameters>
  </DescribeCacheParametersResult>
  <ResponseMetadata>
    <RequestId>6d355589-af49-11e0-97f9-279771c4477e</RequestId>
  </ResponseMetadata>
</DescribeCacheParametersResponse>
```

[자세한 내용은 `DescribeCacheParameters` 단원을 참조하세요.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DescribeCacheParameters.html)

# ElastiCache 파라미터 그룹 수정
<a name="ParameterGroups.Modifying"></a>

**중요**  
어떤 기본 파라미터 그룹도 수정할 수 없습니다.

파라미터 그룹의 일부 파라미터 값을 수정할 수 있습니다. 이 파라미터 값은 파라미터 그룹과 연결된 클러스터에 적용됩니다. 변경한 파라미터 값이 파라미터 그룹에 적용되는 시점에 관한 자세한 내용은 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis) 및 [Memcached 특정 파라미터](ParameterGroups.Engine.md#ParameterGroups.Memcached) 섹션을 참조하세요.

## 파라미터 그룹 수정(콘솔)
<a name="ParameterGroups.Modifying.CON"></a>

다음 절차는 ElastiCache 콘솔을 사용하여 `cluster-enabled` 파라미터 값을 변경하는 방법을 보여줍니다. 동일한 절차를 통해 모든 파라미터 값을 변경할 수 있습니다.

**ElastiCache 콘솔을 사용하여 파라미터 값을 변경하려면**

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

1. 사용 가능한 모든 파라미터 목록을 표시하려면 왼쪽 탐색 창에서 [**Parameter Groups**]를 선택합니다.

1. 파라미터 그룹의 이름 왼쪽에 있는 확인란을 선택하여 수정할 파라미터 그룹을 선택합니다.

   파라미터 그룹의 파라미터가 화면 하단에 나열됩니다. 모든 파라미터를 보려면 목록 페이지를 탐색해야 할 수도 있습니다.

1. 파라미터를 하나 이상 수정하려면 [**Edit Parameters**]를 선택합니다.

1. **파라미터 그룹 편집:** 화면에서 왼쪽 및 오른쪽 화살표로 스크롤하여 `binding_protocol` 파라미터를 찾은 다음 **값** 열에 `ascii`를 입력합니다.

1. **변경 사항 저장(Save Changes)**을 선택합니다.

1. Memcached의 경우, 변경한 파라미터의 이름을 찾으려면 [Memcached 특정 파라미터](ParameterGroups.Engine.md#ParameterGroups.Memcached) 섹션을 참조하세요. *다시 시작한 후* 파라미터에 변경 사항이 발생하면 이 파라미터 그룹을 사용하는 모든 클러스터를 재부팅합니다. 자세한 내용은 [클러스터 재부팅](Clusters.html#Rebooting)을 참조하세요.

1. Valkey 및 Redis OSS를 사용하여 변경한 파라미터의 이름을 찾으려면 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis) 섹션을 참조하세요. Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터가 있고 다음 파라미터를 변경한 경우 클러스터에서 노드를 재부팅해야 합니다.
   + activerehashing
   + 데이터베이스

    자세한 내용은 [노드 재부팅](nodes.rebooting.md)을 참조하세요.
**Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 파라미터 변경**  
Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터에서 다음 파라미터를 변경하는 경우 다음 확인 단계를 따르십시오.  
activerehashing
데이터베이스
Redis OSS를 사용하면 클러스터의 수동 백업을 연결할 수 있습니다. [수동 백업 지원](backups-manual.md) 섹션을 참조하세요.
클러스터를 삭제합니다. [클러스터 삭제](Clusters.html#Delete)를 참조하세요.
변경한 파라미터 그룹 및 백업을 사용해 클러스터를 복원하여 새로운 클러스터를 시드합니다. [백업에서 새 캐시로 복원](backups-restoring.md) 섹션을 참조하세요.
다른 파라미터를 변경한 경우에는 필요하지 않습니다.



## 파라미터 그룹 수정(AWS CLI)
<a name="ParameterGroups.Modifying.CLI"></a>

AWS CLI를 사용하여 파라미터 값을 변경하려면 `modify-cache-parameter-group` 명령을 사용합니다.

**Example**  
Memcached를 사용하여 변경하려는 파라미터의 이름과 허용되는 값을 찾으려면 [Memcached 특정 파라미터](ParameterGroups.Engine.md#ParameterGroups.Memcached) 섹션을 참조하세요.  
다음 예제 코드에서는 `myMem14` 파라미터 그룹에서 두 파라미터 *chunk\$1size* 및 *chunk\$1size\$1growth\$1fact*의 값을 설정합니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache modify-cache-parameter-group \
    --cache-parameter-group-name myMem14 \
    --parameter-name-values \
        ParameterName=chunk_size,ParameterValue=96 \
        ParameterName=chunk_size_growth_fact,ParameterValue=1.5
```
Windows의 경우:  

```
aws elasticache modify-cache-parameter-group ^
    --cache-parameter-group-name myMem14 ^
    --parameter-name-values ^
        ParameterName=chunk_size,ParameterValue=96 ^
        ParameterName=chunk_size_growth_fact,ParameterValue=1.5
```
이 명령의 출력은 다음과 같습니다.  

```
{
    "CacheParameterGroupName": "myMem14"
}
```

**Example**  
Valkey 및 Redis OSS를 사용하여 변경하려는 파라미터의 이름과 허용되는 값을 찾으려면 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis) 섹션을 참조하세요.  
다음 예제 코드에서는 `myredis32-on-30` 파라미터 그룹에서 두 파라미터 *reserved-memory-percent* 및 *cluster-enabled*의 값을 설정합니다. *reserved-memory-percent*를 `30`(30%)로, *cluster-enabled*를 `yes`로 설정해 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터(복제 그룹)에 해당 파라미터 그룹을 사용할 수 있도록 합니다.  
Linux, macOS, Unix의 경우:  

```
aws elasticache modify-cache-parameter-group \
    --cache-parameter-group-name myredis32-on-30 \
    --parameter-name-values \
        ParameterName=reserved-memory-percent,ParameterValue=30 \
        ParameterName=cluster-enabled,ParameterValue=yes
```
Windows의 경우:  

```
aws elasticache modify-cache-parameter-group ^
    --cache-parameter-group-name myredis32-on-30 ^
    --parameter-name-values ^
        ParameterName=reserved-memory-percent,ParameterValue=30 ^
        ParameterName=cluster-enabled,ParameterValue=yes
```
이 명령의 출력은 다음과 같습니다.  

```
{
    "CacheParameterGroupName": "my-redis32-on-30"
}
```

[자세한 내용은 `modify-cache-parameter-group` 단원을 참조하세요.](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-cache-parameter-group.html)

변경한 파라미터의 이름을 찾으려면 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis) 섹션을 참조하세요.

 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터가 있고 다음 파라미터를 변경한 경우 클러스터에서 노드를 재부팅해야 합니다.
+ activerehashing
+ 데이터베이스

 자세한 내용은 [노드 재부팅](nodes.rebooting.md)을 참조하세요.

**Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 파라미터 변경**  
Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터에서 다음 파라미터를 변경하는 경우 다음 확인 단계를 따르십시오.  
activerehashing
데이터베이스
클러스터의 수동 백업을 만듭니다. [수동 백업 지원](backups-manual.md) 섹션을 참조하세요.
클러스터를 삭제합니다. [클러스터 삭제](Clusters.html#Delete)를 참조하세요.
변경한 파라미터 그룹 및 백업을 사용해 클러스터를 복원하여 새로운 클러스터를 시드합니다. [백업에서 새 캐시로 복원](backups-restoring.md) 섹션을 참조하세요.
다른 파라미터를 변경한 경우에는 필요하지 않습니다.

## 파라미터 그룹 수정(ElastiCache API)
<a name="ParameterGroups.Modifying.API"></a>

ElastiCache API를 사용하여 파라미터 그룹의 파라미터 값을 변경하려면 `ModifyCacheParameterGroup` 작업을 사용합니다.

**Example**  
Memcached를 사용하여 변경하려는 파라미터의 이름과 허용되는 값을 찾으려면 [Memcached 특정 파라미터](ParameterGroups.Engine.md#ParameterGroups.Memcached) 섹션을 참조하세요.  
다음 예제 코드에서는 `myMem14` 파라미터 그룹에서 두 파라미터 *chunk\$1size* 및 *chunk\$1size\$1growth\$1fact*의 값을 설정합니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=ModifyCacheParameterGroup
   &CacheParameterGroupName=myMem14
   &ParameterNameValues.member.1.ParameterName=chunk_size
   &ParameterNameValues.member.1.ParameterValue=96
   &ParameterNameValues.member.2.ParameterName=chunk_size_growth_fact
   &ParameterNameValues.member.2.ParameterValue=1.5
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &Version=2015-02-02
   &X-Amz-Credential=<credential>
```

**Example**  
Valkey 및 Redis OSS를 사용하여 변경하려는 파라미터의 이름과 허용되는 값을 찾으려면 [Valkey 및 Redis OSS 파라미터](ParameterGroups.Engine.md#ParameterGroups.Redis) 섹션을 참조하세요.  
다음 예제 코드에서는 `myredis32-on-30` 파라미터 그룹에서 두 파라미터 *reserved-memory-percent* 및 *cluster-enabled*의 값을 설정합니다. *reserved-memory-percent*를 `30`(30%)로, *cluster-enabled*를 `yes`로 설정해 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터(복제 그룹)에 해당 파라미터 그룹을 사용할 수 있도록 합니다.  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=ModifyCacheParameterGroup
   &CacheParameterGroupName=myredis32-on-30
   &ParameterNameValues.member.1.ParameterName=reserved-memory-percent
   &ParameterNameValues.member.1.ParameterValue=30
   &ParameterNameValues.member.2.ParameterName=cluster-enabled
   &ParameterNameValues.member.2.ParameterValue=yes
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &Version=2015-02-02
   &X-Amz-Credential=<credential>
```

[자세한 내용은 `ModifyCacheParameterGroup` 단원을 참조하세요.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheParameterGroup.html)

Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터가 있고 다음 파라미터를 변경한 경우 클러스터에서 노드를 재부팅해야 합니다.
+ activerehashing
+ 데이터베이스

 자세한 내용은 [노드 재부팅](nodes.rebooting.md) 섹션을 참조하세요.

**Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 파라미터 변경**  
Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터에서 다음 파라미터를 변경하는 경우 다음 확인 단계를 따르십시오.  
activerehashing
데이터베이스
클러스터의 수동 백업을 만듭니다. [수동 백업 지원](backups-manual.md) 섹션을 참조하세요.
클러스터를 삭제합니다. [ElastiCache에서 클러스터 삭제](Clusters.Delete.md) 섹션을 참조하세요.
변경한 파라미터 그룹 및 백업을 사용해 클러스터를 복원하여 새로운 클러스터를 시드합니다. [백업에서 새 캐시로 복원](backups-restoring.md) 섹션을 참조하세요.
다른 파라미터를 변경한 경우에는 필요하지 않습니다.

# ElastiCache 파라미터 그룹 삭제
<a name="ParameterGroups.Deleting"></a>

ElastiCache 콘솔, AWS CLI 또는 ElastiCache API를 사용하여 사용자 지정 파라미터 그룹을 삭제할 수 있습니다.

파라미터 그룹이 클러스터와 연결된 경우 삭제할 수 없습니다. 또한 기본 파라미터 그룹도 삭제할 수 없습니다.

## 파라미터 그룹 삭제(콘솔)
<a name="ParameterGroups.Deleting.CON"></a>

다음 절차는 ElastiCache 콘솔을 사용하여 파라미터 그룹을 삭제하는 방법을 보여줍니다.

**ElastiCache 콘솔을 사용하여 파라미터 그룹을 삭제하려면**

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

1. 사용 가능한 모든 파라미터 목록을 표시하려면 왼쪽 탐색 창에서 [**Parameter Groups**]를 선택합니다.

1. 파라미터 그룹의 이름 왼쪽에 있는 확인란을 선택하여 삭제할 파라미터 그룹을 선택합니다.

   [**Delete**] 버튼이 활성화됩니다.

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

   [**Delete Parameter Groups**] 확인 화면이 나타납니다.

1. 파라미터 그룹을 삭제하려면 [**Delete Parameter Groups**] 확인 화면에서 [**Delete**]를 추가합니다.

   파라미터 그룹을 유지하려면 [**Cancel**]을 선택합니다.

## 파라미터 그룹 삭제(AWS CLI)
<a name="ParameterGroups.Deleting.CLI"></a>

AWS CLI를 사용하여 파라미터 그룹을 삭제하려면 `delete-cache-parameter-group` 명령을 사용합니다. 삭제할 파라미터 그룹의 경우 `--cache-parameter-group-name`으로 지정된 파라미터 그룹에는 클러스터를 연결할 수 없으며 기본 파라미터 그룹이 될 수도 없습니다.

다음 샘플 코드에서는 *myMem14* 파라미터 그룹을 삭제합니다.

**Example**  
Linux, macOS, Unix의 경우:  

```
aws elasticache delete-cache-parameter-group \
    --cache-parameter-group-name myRed28
```
Windows의 경우:  

```
aws elasticache delete-cache-parameter-group ^
    --cache-parameter-group-name myRed28
```

[자세한 내용은 `delete-cache-parameter-group` 단원을 참조하세요.](https://docs.aws.amazon.com/cli/latest/reference/elasticache/delete-cache-parameter-group.html)

## 파라미터 그룹 삭제(ElastiCache API)
<a name="ParameterGroups.Deleting.API"></a>

ElastiCache API를 사용하여 파라미터 그룹을 삭제하려면 `DeleteCacheParameterGroup` 작업을 사용합니다. 삭제할 파라미터 그룹의 경우 `CacheParameterGroupName`으로 지정된 파라미터 그룹에는 클러스터를 연결할 수 없으며 기본 파라미터 그룹이 될 수도 없습니다.

**Example**  
Memcached를 사용하는 경우 다음 샘플 코드는 *myMem14* 파라미터 그룹을 삭제합니다.  

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

**Example**  
다음 샘플 코드에서는 *myRed28* 파라미터 그룹을 삭제합니다.  

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

[자세한 내용은 `DeleteCacheParameterGroup` 단원을 참조하세요.](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_DeleteCacheParameterGroup.html)

# 엔진별 파라미터
<a name="ParameterGroups.Engine"></a>

**Valkey 및 Redis OSS**

대부분의 Valkey 8 파라미터는 Redis OSS 7.1 파라미터와 호환됩니다. Valkey 7.2 파라미터는 Redis OSS 7 파라미터와 동일합니다.

Valkey 또는 Redis OSS 클러스터에 파라미터 그룹을 지정하지 않으면 엔진 버전에 적절한 기본 파라미터 그룹이 사용됩니다. 기본 파라미터 그룹에서는 어떤 파라미터 값도 변경할 수 없습니다. 그러나 조건부로 수정 가능한 파라미터 값이 두 파라미터 그룹에서 동일하면 언제든지 사용자 지정 파라미터 그룹을 생성하고 클러스터에 할당할 수 있습니다. 자세한 내용은 [ElastiCache 파라미터 그룹 생성](ParameterGroups.Creating.md) 단원을 참조하십시오.

**Topics**
+ [Valkey 및 Redis OSS 파라미터](#ParameterGroups.Redis)
+ [Memcached 특정 파라미터](#ParameterGroups.Memcached)

## Valkey 및 Redis OSS 파라미터
<a name="ParameterGroups.Redis"></a>

**Topics**
+ [Valkey 8.2 파라미터 변경 사항](#ParameterGroups.Valkey.8.2)
+ [Valkey 8.1 파라미터 변경 사항](#ParameterGroups.Valkey.8.1)
+ [Valkey 8.0 파라미터 변경 사항](#ParameterGroups.Valkey.8)
+ [Valkey 7.2 및 Redis OSS 7 파라미터 변경 사항](#ParameterGroups.Redis.7)
+ [Redis OSS 6.x 파라미터 변경 사항](#ParameterGroups.Redis.6-x)
+ [Redis OSS 5.0.3 파라미터 변경 사항](#ParameterGroups.Redis.5-0-3)
+ [Redis OSS 5.0.0 파라미터 변경 사항](#ParameterGroups.Redis.5.0)
+ [Redis OSS 4.0.10 파라미터 변경 사항](#ParameterGroups.Redis.4-0-10)
+ [Redis OSS 3.2.10 파라미터 변경 사항](#ParameterGroups.Redis.3-2-10)
+ [Redis OSS 3.2.6 파라미터 변경 사항](#ParameterGroups.Redis.3-2-6)
+ [Redis OSS 3.2.4 파라미터 변경 사항](#ParameterGroups.Redis.3-2-4)
+ [Redis OSS 2.8.24(확장) 추가 파라미터](#ParameterGroups.Redis.2-8-24)
+ [Redis OSS 2.8.23(확장) 추가 파라미터](#ParameterGroups.Redis.2-8-23)
+ [Redis OSS 2.8.22(확장) 추가 파라미터](#ParameterGroups.Redis.2-8-22)
+ [Redis OSS 2.8.21 추가 파라미터](#ParameterGroups.Redis.2-8-21)
+ [Redis OSS 2.8.19 추가 파라미터](#ParameterGroups.Redis.2-8-19)
+ [Redis OSS 2.8.6 추가 파라미터](#ParameterGroups.Redis.2-8-6)
+ [Redis OSS 2.6.13 파라미터](#ParameterGroups.Redis.2-6-13)
+ [Redis OSS 노드 유형별 파라미터](#ParameterGroups.Redis.NodeSpecific)

### Valkey 8.2 파라미터 변경 사항
<a name="ParameterGroups.Valkey.8.2"></a>

**파라미터 그룹 패밀리:** valkey8

**참고**  
Valkey 8.2 파라미터 변경 사항은 Valkey 8.1에 적용되지 않습니다.
Valkey 8.0 이상의 파라미터 그룹은 Redis OSS 7.2.4와 호환되지 않습니다.
Valkey 8.2에서는 서버리스 캐시에 다음 명령을 사용할 수 없습니다. `commandlog`, `commandlog get`, `commandlog len`, `commandlog help` 및 `commandlog reset.` 


**Valkey 8.2의 새 파라미터 그룹**  

| 이름 | 세부 정보 | 설명 | 
| --- | --- | --- | 
| search-fanout-target-mode(8.2에 추가됨) | 기본값: 클라이언트 유형: 문자열 수정 가능 여부: 예 변경 적용: 즉시 |   search-fanout-target-mode 구성 파라미터는 Valkey 클러스터 환경의 노드 간에 검색 쿼리가 분산되는 방식을 제어합니다. 이 설정은 클라이언트 유형 또는 READONLY 상태에 관계없이 모든 클러스터 노드에 검색 쿼리를 무작위로 배포하여 최대 처리량을 최적화하는 ‘처리량’과 프라이머리 노드에만 비READONLY 클라이언트를 라우팅하여 클라이언트 연결 특성을 존중하는 ‘클라이언트’, 복제본 노드에만 복제본 연결의 READONLY 클라이언트, 모든 노드에 무작위로 기본 연결의 READONLY 클라이언트의 두 값을 허용합니다. 기본 동작은 '클라이언트' 모드입니다. 즉, 시스템은 쿼리 라우팅 결정을 위해 클라이언트 연결 유형 및 READONLY 상태를 준수합니다. 최대 클러스터 리소스 사용률이 필요한 대용량 검색 워크로드의 경우 처리량 모드를 사용하고, 읽기/쓰기 구분을 유지하고 애플리케이션 수준 READONLY 연결 패턴을 준수하려는 경우 클라이언트 모드를 사용합니다. | 
| search-default-timeout-ms |  기본값: 50000 허용되는 값: 1\$160000 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시 | 기본 Valkey 검색 쿼리 제한 시간(밀리초)입니다. | 
| search-enable-partial-results | 기본값: yes 허용되는 값: yes, no 유형: boolean 수정 가능 여부: 예 변경 적용: 즉시 | Valkey 검색에 대한 쿼리 실패 동작을 구성합니다. 활성화하면 하나 이상의 샤드에서 제한 시간이 발생하면 검색 쿼리가 부분 결과를 반환합니다. 비활성화하면 샤드 제한 시간으로 인해 전체 검색 쿼리가 실패하고 오류가 반환됩니다. | 

### Valkey 8.1 파라미터 변경 사항
<a name="ParameterGroups.Valkey.8.1"></a>

**파라미터 그룹 패밀리:** valkey8

**참고**  
Valkey 8.1 파라미터 변경 사항은 Valkey 8.0에 적용되지 않습니다.
Valkey 8.0 이상의 파라미터 그룹은 Redis OSS 7.2.4와 호환되지 않습니다.
Valkey 8.1에서는 서버리스 캐시에 다음 명령을 사용할 수 없습니다. `commandlog`, `commandlog get`, `commandlog len`, `commandlog help` 및 `commandlog reset.` 


**Valkey 8.1의 새 파라미터 그룹**  

| 이름 | 세부 정보 | 설명 | 
| --- | --- | --- | 
|  commandlog-large-request-max-len(8.1에 추가됨)  |  기본값: 1048576 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시  |  Valkey 명령 로그 기능으로 기록할 요청의 최대 크기입니다.  | 
|  commandlog-large-request-max-len(8.1에 추가됨)  |  기본값: 128 허용되는 값: 0\$11024 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시  |  요청에 대한 Valkey 명령 로그의 최대 길이입니다.  | 
|  commandlog-reply-larger-than(8.1에 추가됨)  |  기본값: 1048576 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시  |  Valkey 명령 로그 기능으로 기록할 응답의 최대 크기입니다.  | 
|  commandlog-large-reply-max-len(8.1에 추가됨)  |  기본값: 128 허용되는 값: 0\$11024 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시  |  응답에 대한 Valkey 명령 로그의 최대 길이입니다.  | 

### Valkey 8.0 파라미터 변경 사항
<a name="ParameterGroups.Valkey.8"></a>

**파라미터 그룹 패밀리:** valkey8

**참고**  
Redis OSS 7.2.4는 Valkey 8 이상의 파라미터 그룹과 호환되지 않습니다.


**Valkey 8.0의 특정 파라미터 변경 사항**  

| 이름 | 세부 정보 | 설명 | 
| --- | --- | --- | 
|  repl-backlog-size  |  기본값: 10485760 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시  |  프라이머리 노드 백로그 버퍼의 크기(바이트)입니다. 백로그는 프라이머리 노드의 데이터에 대한 업데이트를 레코딩하는 데 사용됩니다. 읽기 전용 복제본이 기본에 연결되면 프라이머리 노드를 따라잡기 위해 백로그에서 데이터를 적용하는 부분적 동기화(psync)를 수행하려고 시도합니다. psync가 실패하면 전체 동기화가 필요합니다. 이 파라미터의 최소값은 16384입니다. 참고: Redis OSS 2.8.22부터 이 파라미터는 기본 클러스터와 읽기 전용 복제본에 적용됩니다.  | 
|  maxmemory-samples  |  기본값: 3 허용되는 값: 1\$164 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시  |  LRU(가장 오랫동안 사용되지 않음) 및 TTL(Time To Live) 계산의 경우 파라미터는 확인할 키의 샘플 크기를 나타냅니다. 기본적으로 Redis OSS는 키 3개를 선택하고 가장 최근에 사용한 키를 사용합니다.  | 


**Valkey 8.0의 새 파라미터 그룹**  

| 이름 | 세부 정보 | 설명 | 
| --- | --- | --- | 
|  extended-redis-compatibility  |  허용되는 값: yes, no 기본값: yes 유형: boolean 수정 가능 여부: 예 변경 사항 적용: 즉시  |  확장 Redis OSS 호환성 모드를 사용하면 Valkey 서체가 Redis OSS 7.2로 설정됩니다. 도구 또는 클라이언트에 문제가 있는 경우에만 이 기능을 활성화합니다. 고객 대면 영향: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/ParameterGroups.Engine.html)  | 


**Valkey 8.0에서 파라미터 그룹 제거**  

| 이름 | 세부 정보 | 설명 | 
| --- | --- | --- | 
|  lazyfree-lazy-eviction  |  허용되는 값: yes, no 기본값: 아니요 유형: boolean 수정 가능 여부: 예 변경 사항 적용: 즉시  |  제거 시 비동기식 삭제를 수행합니다.  | 
|  lazyfree-lazy-expire  |  허용되는 값: yes, no 기본값: 아니요 유형: boolean 수정 가능 여부: 예 변경 사항 적용: 즉시  |  키 만료 시 비동기식 삭제를 수행합니다.  | 
|  lazyfree-lazy-server-del  |  허용되는 값: yes, no 기본값: 아니요 유형: boolean 수정 가능 여부: 예 변경 사항 적용: 즉시  |  값을 업데이트하는 명령에 대해 비동기식 삭제를 수행합니다.  | 
|  lazyfree-lazy-server-del  |  기본값: 아니요 유형: 문자열 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨  |   값이 yes로 설정되면 DEL 명령이 UNLINK 명령과 동일하게 작동합니다.  | 
|  replica-lazy-flush  |  기본값: yes 유형: boolean 수정 가능 여부: 아니요 이전 이름: slave-lazy-flush  |  복제본 동기화 동안 비동기식 flushDB를 수행합니다.  | 

### Valkey 7.2 및 Redis OSS 7 파라미터 변경 사항
<a name="ParameterGroups.Redis.7"></a>

**파라미터 그룹 패밀리:** valkey7

Valkey 7.2 기본 파라미터 그룹은 다음과 같습니다.
+ `default.valkey7` – 이 파라미터 그룹 또는 Valkey(클러스터 모드 비활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.
+ `default.valkey7.cluster.on` – 이 파라미터 그룹 또는 Valkey(클러스터 모드 활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.

**파라미터 그룹 패밀리:** redis7

Redis OSS 7 기본 파라미터 그룹은 다음과 같습니다.
+ `default.redis7` – 이 파라미터 그룹 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.
+ `default.redis7.cluster.on` – 이 파라미터 그룹 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.

**특정 파라미터 변경 사항**

Redis OSS 7에 추가된 파라미터는 다음과 같습니다. Valkey 7.2는 이러한 파라미터도 지원합니다.


|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| cluster-allow-pubsubshard-when-down |  허용되는 값: `yes`, `no`  기본값: `yes` 유형: 문자열 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 기본값인 yes로 설정하면 클러스터가 다운된 상태에서, 슬롯을 소유하고 있다고 판단되는 한 노드가 pubsub 샤드 트래픽을 처리할 수 있습니다.  | 
| cluster-preferred-endpoint-type |  허용되는 값: `ip`, `tls-dynamic`  기본값: `tls-dynamic` 유형: 문자열 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 이 값은 MOVED/ASKING 요청에 어떤 엔드포인트가 반환될지와 `CLUSTER SLOTS` 및 `CLUSTER SHARDS`에 대한 엔드포인트 필드를 제어합니다. 값이 ip로 설정되면 노드는 자신의 IP 주소를 광고합니다. 값이 tls-dynamic으로 설정되면 전송 중 암호화가 활성되어 있을 때는 노드가 호스트 이름을 광고하고 그렇지 않을 때는 IP 주소를 광고합니다.  | 
| latency-tracking |  허용되는 값: `yes`, `no`  기본값: `no` 유형: 문자열 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | yes로 설정하면 명령별 지연 시간을 추적하고 `INFO` 지연 시간 통계 명령을 통해 백분위수 분포 내보내기를 활성화하며, `LATENCY` 명령을 통해 지연 시간 분포(히스토그램)를 누적 집계합니다.  | 
| hash-max-listpack-entries |  허용되는 값: `0+` 기본값: `512` 유형: 정수 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 데이터세트를 압축하기 위한 해시 항목 최대 개수입니다.  | 
| hash-max-listpack-value |  허용되는 값: `0+` 기본값: `64` 유형: 정수 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 데이터세트를 압축하기 위한 최대 해시 항목의 임곗값입니다.  | 
| zset-max-listpack-entries |  허용되는 값: `0+` 기본값: `128` 유형: 정수 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 데이터세트를 압축하기 위한 정렬된 세트 항목 최대 개수입니다.  | 
| zset-max-listpack-value |  허용되는 값: `0+` 기본값: `64` 유형: 정수 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 데이터세트를 압축하기 위한 정렬된 최대 세트 항목의 임곗값입니다.  | 

Redis OSS 7에서 변경된 파라미터는 다음과 같습니다.


|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| activerehashing |  수정 가능: `no`. Redis OSS 7에서는 이 파라미터가 기본적으로 숨겨져 있고 활성화되어 있습니다. 비활성화하려면 [지원 사례](https://console.aws.amazon.com/support/home)를 생성해야 합니다.  | 수정 가능 여부는 '예'였습니다.  | 

Redis OSS 7에서 제거된 파라미터는 다음과 같습니다.


|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| hash-max-ziplist-entries |  허용되는 값: `0+` 기본값: `512` 유형: 정수 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 작은 해시 인코딩을 표현하는 데 `ziplist` 대신 `listpack` 사용  | 
| hash-max-ziplist-value |  허용되는 값: `0+` 기본값: `64` 유형: 정수 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 작은 해시 인코딩을 표현하는 데 `ziplist` 대신 `listpack` 사용  | 
| zset-max-ziplist-entries |  허용되는 값: `0+` 기본값: `128` 유형: 정수 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 작은 해시 인코딩을 표현하는 데 `ziplist` 대신 `listpack` 사용.  | 
| zset-max-ziplist-value |  허용되는 값: `0+` 기본값: `64` 유형: 정수 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 작은 해시 인코딩을 표현하는 데 `ziplist` 대신 `listpack` 사용.  | 
| list-max-ziplist-size |  허용되는 값: 기본값: `-2` 유형: 정수 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 내부 목록 노드당 허용되는 항목 개수입니다.  | 

### Redis OSS 6.x 파라미터 변경 사항
<a name="ParameterGroups.Redis.6-x"></a>

**파라미터 그룹 패밀리:** redis6.x

Redis OSS 6.x 기본 파라미터 그룹은 다음과 같습니다.
+ `default.redis6.x` – 이 파라미터 그룹 또는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.
+ `default.redis6.x.cluster.on` – 이 파라미터 그룹 또는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.

**참고**  
 Redis OSS 엔진 버전 6.2에서 r6gd 노드 패밀리가 [ElastiCache의 데이터 계층화](data-tiering.md)의 정보를 통해 사용하도록 도입된 경우 *noeviction*, *volatile-lru* 및 *allkeys-lru* 최대 메모리 정책은 r6gd 노드 유형을 통해 지원됩니다.

자세한 내용은 [ElastiCache for Redis OSS 버전 6.2(향상된 버전)](engine-versions.md#redis-version-6.2) 및 [ElastiCache for Redis OSS 버전 6.0(향상된 버전)](engine-versions.md#redis-version-6.0) 섹션을 참조하세요.

Redis OSS 6.x에 추가된 파라미터는 다음과 같습니다.


|  세부 정보 |  설명  | 
| --- | --- | 
| acl-pubsub-default (added in 6.2) |  허용되는 값: `resetchannels`, `allchannels`  기본값: `allchannels` 유형: 문자열 수정 가능 여부: 예 변경 적용: 클러스터에 연결된 기존 Redis OSS 사용자에게는 계속해서 기존 권한이 있습니다. 사용자를 업데이트하거나 클러스터를 재부팅하여 기존 Redis OSS 사용자를 업데이트합니다. | 이 클러스터에 배포된 ACL 사용자의 기본 pubsub 채널 권한입니다.  | 
| cluster-allow-reads-when-down (added in 6.0) |  기본값: 아니요 유형: 문자열 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | yes로 설정하면 노드가 기본 그룹의 쿼럼에 도달할 수 없는 경우에도 Redis OSS(클러스터 모드 활성화됨) 복제 그룹이 읽기 명령을 계속 처리합니다. 기본값인 no로 설정하면 복제 그룹이 모든 명령을 거부합니다. 노드 그룹이 3개 미만인 클러스터를 사용하거나 애플리케이션에서 기한 경과 읽기를 안전하게 처리할 수 있는 경우 이 값을 yes로 설정하는 것이 좋습니다.  | 
| tracking-table-max-keys (added in 6.0) |  기본값: 1,000,000 유형: 숫자 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 클라이언트 측 캐싱을 지원하기 위해 Redis OSS는 어떤 클라이언트가 어떤 키에 액세스했는지 확인하는 추적을 지원합니다. 추적된 키가 수정되면 무효화 메시지가 모든 클라이언트에 전송되어 키의 캐시된 값이 더 이상 유효하지 않음을 알립니다. 이 값을 사용하면 이 테이블의 상한을 지정할 수 있습니다. 이 파라미터 값을 초과하면 클라이언트가 임의로 무효화 메시지를 전송합니다. 이 값은 충분한 수의 키를 계속 추적하면서 메모리 사용을 제한하도록 조정해야 합니다. 메모리 부족 조건에서도 키가 무효화됩니다.  | 
| acllog-max-len (added in 6.0) |  기본값: 128 유형: 숫자 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 이 값은 ACL 로그의 최대 항목 수에 해당합니다.  | 
| active-expire-effort (added in 6.0) |  기본값: 1 유형: 숫자 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | Redis OSS는 두 가지 메커니즘을 사용하여 유지 시간(TTL)이 초과된 키를 삭제합니다. 하나는 키가 액세스되고 만료된 것으로 확인된 경우입니다. 다른 하나는 정기적인 작업이 키를 샘플링하고 유지 시간(TTL)이 초과된 키를 만료시키는 경우입니다. 이 파라미터는 Redis OSS가 정기 작업에서 항목을 만료시키는 데 사용하는 작업량을 정의합니다. 기본값 1은 만료된 키의 10% 이상이 메모리에 남아 있지 않도록 합니다. 또한 총 메모리의 25% 이상을 소비하지 않도록 시스템에 대기 시간을 추가합니다. 이 값을 최대 10까지 늘려 키 만료에 사용되는 작업량을 늘릴 수 있습니다. CPU 사용량이 늘어나고 대기 시간이 길어진다는 단점이 있습니다. 높은 메모리 사용량과 CPU 사용률 증가를 허용할 수 있는 경우가 아니면 1의 값을 사용하는 것이 좋습니다.  | 
| lazyfree-lazy-user-del (added in 6.0) |  기본값: 아니요 유형: 문자열 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 값이 yes로 설정되면 `DEL` 명령이 `UNLINK` 명령과 동일하게 작동합니다.  | 

Redis OSS 6.x에서 제거된 파라미터는 다음과 같습니다.


|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| lua-replicate-commands |  허용되는 값: yes/no 기본값: yes 유형: boolean 수정 가능 여부: 예 변경 사항 적용: 즉시 | Lua 스크립트에서 항상 Lua 효과 복제를 활성화하거나 활성화하지 않음  | 

### Redis OSS 5.0.3 파라미터 변경 사항
<a name="ParameterGroups.Redis.5-0-3"></a>

**파라미터 그룹 Family:** redis5.0

Redis OSS 5.0 기본 파라미터 그룹
+ `default.redis5.0` – 이 파라미터 그룹 또는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.
+ `default.redis5.0.cluster.on` – 이 파라미터 그룹 또는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.


**Redis OSS 5.0.3에 추가된 파라미터**  

|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| rename-commands |  기본값: 없음 유형: 문자열 수정 가능 여부: 예 변경 적용: 클러스터의 모든 노드에 즉시 적용됨 | 이름 변경된 Redis OSS 명령의 목록(공백으로 구분)입니다. 다음은 이름 변경에 사용할 수 있는 제한된 명령의 목록입니다. `APPEND AUTH BITCOUNT BITFIELD BITOP BITPOS BLPOP BRPOP BRPOPLPUSH BZPOPMIN BZPOPMAX CLIENT CLUSTER COMMAND DBSIZE DECR DECRBY DEL DISCARD DUMP ECHO EVAL EVALSHA EXEC EXISTS EXPIRE EXPIREAT FLUSHALL FLUSHDB GEOADD GEOHASH GEOPOS GEODIST GEORADIUS GEORADIUSBYMEMBER GET GETBIT GETRANGE GETSET HDEL HEXISTS HGET HGETALL HINCRBY HINCRBYFLOAT HKEYS HLEN HMGET HMSET HSET HSETNX HSTRLEN HVALS INCR INCRBY INCRBYFLOAT INFO KEYS LASTSAVE LINDEX LINSERT LLEN LPOP LPUSH LPUSHX LRANGE LREM LSET LTRIM MEMORY MGET MONITOR MOVE MSET MSETNX MULTI OBJECT PERSIST PEXPIRE PEXPIREAT PFADD PFCOUNT PFMERGE PING PSETEX PSUBSCRIBE PUBSUB PTTL PUBLISH PUNSUBSCRIBE RANDOMKEY READONLY READWRITE RENAME RENAMENX RESTORE ROLE RPOP RPOPLPUSH RPUSH RPUSHX SADD SCARD SCRIPT SDIFF SDIFFSTORE SELECT SET SETBIT SETEX SETNX SETRANGE SINTER SINTERSTORE SISMEMBER SLOWLOG SMEMBERS SMOVE SORT SPOP SRANDMEMBER SREM STRLEN SUBSCRIBE SUNION SUNIONSTORE SWAPDB TIME TOUCH TTL TYPE UNSUBSCRIBE UNLINK UNWATCH WAIT WATCH ZADD ZCARD ZCOUNT ZINCRBY ZINTERSTORE ZLEXCOUNT ZPOPMAX ZPOPMIN ZRANGE ZRANGEBYLEX ZREVRANGEBYLEX ZRANGEBYSCORE ZRANK ZREM ZREMRANGEBYLEX ZREMRANGEBYRANK ZREMRANGEBYSCORE ZREVRANGE ZREVRANGEBYSCORE ZREVRANK ZSCORE ZUNIONSTORE SCAN SSCAN HSCAN ZSCAN XINFO XADD XTRIM XDEL XRANGE XREVRANGE XLEN XREAD XGROUP XREADGROUP XACK XCLAIM XPENDING GEORADIUS_RO GEORADIUSBYMEMBER_RO LOLWUT XSETID SUBSTR`  | 

자세한 내용은 [ElastiCache for Redis OSS 버전 5.0.6(향상된 버전)](engine-versions.md#redis-version-5-0.6) 단원을 참조하십시오.

### Redis OSS 5.0.0 파라미터 변경 사항
<a name="ParameterGroups.Redis.5.0"></a>

**파라미터 그룹 Family:** redis5.0

Redis OSS 5.0 기본 파라미터 그룹
+ `default.redis5.0` – 이 파라미터 그룹 또는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.
+ `default.redis5.0.cluster.on` – 이 파라미터 그룹 또는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.


**Redis OSS 5.0에 추가된 파라미터**  

|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| stream-node-max-bytes |  허용되는 값: 0\$1 기본값: 4096 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | 스트림 데이터 구조는 내부에 여러 항목을 인코딩하는 노드의 기수 트리입니다. 이 구성을 사용하여 기수 트리에서 단일 노드의 최대 크기를 바이트로 지정합니다. 0으로 설정하면 트리 노드의 크기는 무제한입니다. | 
| stream-node-max-entries |  허용되는 값: 0\$1 기본값: 100 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | 스트림 데이터 구조는 내부에 여러 항목을 인코딩하는 노드의 기수 트리입니다. 이 구성을 사용하여 새 노드 항목을 추가할 때 새 노드로 전환하기 전에 단일 노드에 포함할 수 있는 최대 항목 수를 지정합니다. 0으로 설정하면 트리 노드의 항목 수는 무제한입니다. | 
| active-defrag-max-scan-fields |  허용되는 값: 1\$11000000 기본값: 1000 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | 기본 사전 스캔에서 처리될 최대 set/hash/zset/list 필드 수  | 
| lua-replicate-commands |  허용되는 값: yes/no 기본값: yes 유형: boolean 수정 가능 여부: 예 변경 사항 적용: 즉시 | Lua 스크립트에서 항상 Lua 효과 복제를 활성화하거나 활성화하지 않음  | 
| replica-ignore-maxmemory |  기본값: yes 유형: boolean 수정 가능 여부: 아니요  | 복제본이 프라이머리 노드와 독립적인 항목을 유지하여 maxmemory 설정을 무시하는지 결정합니다. | 

Redis OSS는 커뮤니티 피드백에 따라 엔진 버전 5.0에서 여러 파라미터의 이름을 변경했습니다. 자세한 내용은 [What's New in Redis OSS 5?](https://aws.amazon.com/redis/Whats_New_Redis5/)를 참조하세요. 다음 표에는 새 이름 및 이러한 이름이 이전 버전과 매핑되는 방법이 나와 있습니다.


**Redis OSS 5.0에서 이름이 변경된 파라미터**  

|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| replica-lazy-flush |  기본값: yes 유형: boolean 수정 가능 여부: 아니요 이전 이름: slave-lazy-flush  | 복제본 동기화 동안 비동기식 flushDB를 수행합니다. | 
| client-output-buffer-limit-replica-hard-limit | 기본값: 값은 [Redis OSS 노드 유형별 파라미터](#ParameterGroups.Redis.NodeSpecific)를 참조하세요. 유형: 정수 수정 가능 여부: 아니요 이전 이름: client-output-buffer-limit-slave-hard-limit | Redis OSS 읽기 전용 복제본: 클라이언트의 출력 버퍼가 특정 바이트 수에 도달하면 클라이언트가 연결 해제됩니다. | 
| client-output-buffer-limit-replica-soft-limit | 기본값: 값은 [Redis OSS 노드 유형별 파라미터](#ParameterGroups.Redis.NodeSpecific)를 참조하세요. 유형: 정수 수정 가능 여부: 아니요 이전 이름: client-output-buffer-limit-slave-soft-limit | Redis OSS 읽기 전용 복제본: 클라이언트의 출력 버퍼가 특정 바이트 수에 도달하면 클라이언트가 연결 해제됩니다. 그러나 이러한 조건은 client-output-buffer-limit-replica-soft-seconds의 경우에만 지속됩니다. | 
| client-output-buffer-limit-replica-soft-seconds | 기본값: 60 유형: 정수 수정 가능 여부: 아니요 이전 이름: client-output-buffer-limit-slave-soft-seconds  | Redis OSS 읽기 전용 복제본: 클라이언트의 출력 버퍼가 client-output-buffer-limit-replica-soft-limit 바이트에 해당 시간(초)보다 오래 유지되면 클라이언트가 연결 해제됩니다. | 
| replica-allow-chaining | 기본값: 아니요 유형: 문자열 수정 가능 여부: 아니요 이전 이름: slave-allow-chaining | Redis OSS가 자체 읽기 전용 복제본을 가질 수 있는지를 결정합니다. | 
| min-replicas-to-write | 기본값: 0 유형: 정수 수정 가능 여부: 예 이전 이름: min-slaves-to-write 변경 적용: 즉시 | 프라이머리 노드가 클러스터에서 쓰기를 허용하기 위해 사용 가능해야 하는 최소 읽기 전용 복제본 수입니다. 사용 가능한 복제본 수가 이 수보다 떨어지면 프라이머리 노드는 더 이상 쓰기 요청을 허용하지 않습니다. 이 파라미터 또는 min-replicas-max-lag가 0이면 사용 가능한 복제본이 없어도 프라이머리 노드가 항상 쓰기 요청을 허용합니다. | 
| min-replicas-max-lag  | 기본값: 10 유형: 정수 수정 가능 여부: 예 이전 이름: min-slaves-max-lag 변경 적용: 즉시 | 프라이머리 노드가 읽기 전용 복제본에서 핑 요청을 수신해야 하는 시간(초)입니다. 이 시간까지 프라이머리 노드가 핑을 수신하지 않으면 복제본을 더 이상 사용할 수 없는 것으로 간주합니다. 사용 가능한 복제본 수가 min-replicas-to-write 아래로 떨어지면 기본 복제본이 해당 시점에서 쓰기 허용을 중지합니다. 이 파라미터 또는 min-replicas-to-write가 0이면 사용 가능한 복제본이 없어도 프라이머리 노드가 항상 쓰기 요청을 허용합니다. | 
| close-on-replica-write  | 기본값: yes 유형: boolean 수정 가능 여부: 예 이전 이름: close-on-slave-write 변경 적용: 즉시 | 활성화하면 읽기 전용 복제본에 작성을 시도하는 클라이언트의 연결이 끊어집니다. | 


**Redis OSS 5.0에서 제거된 파라미터**  

|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| repl-timeout |  기본값: 60 수정 가능 여부: 아니요  | 이 버전에서는 파라미터를 사용할 수 없습니다. | 

### Redis OSS 4.0.10 파라미터 변경 사항
<a name="ParameterGroups.Redis.4-0-10"></a>

**파라미터 그룹 패밀리:** redis4.0

Redis OSS 4.0.x 기본 파라미터 그룹
+ `default.redis4.0` – 이 파라미터 그룹 또는 Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.
+ `default.redis4.0.cluster.on` – 이 파라미터 그룹 또는 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 클러스터 및 복제 그룹으로부터 파생된 파라미터 그룹을 사용합니다.


**Redis OSS 4.0.10에서 변경된 파라미터**  

|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| maxmemory-policy |  허용되는 값: `allkeys-lru`, `volatile-lru`, **allkeys-lfu**, **volatile-lfu**, `allkeys-random`, `volatile-random`, `volatile-ttl`, `noeviction`  기본값: volatile-lru 유형: 문자열 수정 가능 여부: 예 변경 사항 적용: 즉시 | maxmemory-policy버전 2.6.13에는 섹션이 추가되었습니다. 4.0.10에는 새로 허용된 두 개의 값이 추가되었습니다. allkeys-lfu는 근사 LFU를 사용하여 모든 키를 제거하고 volatile-lfu는 근사 LFU를 사용하여 키 중 만료 설정이 있는 키를 제거합니다. 버전 6.2에서는 데이터 계층화에 사용하기 위해 r6gd 노드 패밀리를 제공한 경우 noeviction,volatile-lru 및 allkeys-lru 최대 메모리 정책만 r6gd 노드 유형을 통해 지원됩니다. | 


**Redis OSS 4.0.10에 추가된 파라미터**  

|  이름  |  세부 정보 |  설명  | 
| --- |--- |--- |
| **비동기 삭제 파라미터** | 
| --- |
| lazyfree-lazy-eviction |  허용되는 값: yes/no 기본값: 아니요 유형: boolean 수정 가능 여부: 예 변경 사항 적용: 즉시 | Performs an asynchronous delete on evictions. | 
| lazyfree-lazy-expire |  허용되는 값: yes/no 기본값: 아니요 유형: boolean 수정 가능 여부: 예 변경 사항 적용: 즉시 | Performs an asynchronous delete on expired keys. | 
| lazyfree-lazy-server-del |  허용되는 값: yes/no 기본값: 아니요 유형: boolean 수정 가능 여부: 예 변경 사항 적용: 즉시 | Performs an asynchronous delete for commands which update values. | 
| slave-lazy-flush |  허용되는 값: N/A 기본값: 아니요 유형: boolean 수정 가능 여부: 아니요 Changes take place: N/A | Performs an asynchronous flushDB during slave sync. | 
| **LFU 파라미터** | 
| --- |
| lfu-log-factor |  허용되는 값: 0보다 큰 모든 정수 기본값: 10 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | Set the log factor, which determines the number of key hits to saturate the key counter. | 
| lfu-decay-time |  허용되는 값: 모든 정수 기본값: 1 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | The amount of time in minutes to decrement the key counter. | 
| **활성 조각 모음 파라미터** | 
| --- |
| activedefrag |  허용되는 값: yes/no 기본값: 아니요 유형: boolean 수정 가능 여부: 예 변경 사항 적용: 즉시 | 활성 조각 모음 파라미터가 활성화됩니다. Valkey 및 Redis OSS 버전 7.0 이상에서는이 설정에 관계없이 운영상 필요한 경우 자동으로 조각 모음을 수행할AWS수 있습니다.  | 
| active-defrag-ignore-bytes |  허용되는 값: 10485760\$1104857600 기본값: 104857600 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | Minimum amount of fragmentation waste to start active defrag. | 
| active-defrag-threshold-lower |  허용되는 값: 1\$1100 기본값: 10 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | Minimum percentage of fragmentation to start active defrag. | 
| active-defrag-threshold-upper |  허용되는 값: 1\$1100 기본값: 100 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | Maximum percentage of fragmentation at which we use maximum effort. | 
| active-defrag-cycle-min |  허용되는 값: 1\$175 기본값: 25 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | Minimal effort for defrag in CPU percentage. | 
| active-defrag-cycle-max |  허용되는 값: 1\$175 기본값: 75 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | Maximal effort for defrag in CPU percentage. | 
| **클라이언트 출력 버퍼 파라미터** | 
| --- |
| client-query-buffer-limit |  허용되는 값: 1048576\$11073741824 기본값: 1073741824 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | Max size of a single client query buffer. | 
| proto-max-bulk-len |  허용되는 값: 1048576\$1536870912 기본값: 536870912 유형: 정수 수정 가능 여부: 예 변경 사항 적용: 즉시 | Max size of a single element request. | 

### Redis OSS 3.2.10 파라미터 변경 사항
<a name="ParameterGroups.Redis.3-2-10"></a>

**파라미터 그룹 패밀리:** redis3.2

ElastiCache for Redis OSS 3.2.10의 경우 지원되는 추가 파라미터가 없습니다.

### Redis OSS 3.2.6 파라미터 변경 사항
<a name="ParameterGroups.Redis.3-2-6"></a>

**파라미터 그룹 패밀리:** redis3.2

Redis OSS 3.2.6의 경우 지원되는 추가 파라미터가 없습니다.

### Redis OSS 3.2.4 파라미터 변경 사항
<a name="ParameterGroups.Redis.3-2-4"></a>

**파라미터 그룹 패밀리:** redis3.2

Redis OSS 3.2.4부터 기본 파라미터 그룹이 2개 있습니다.
+ `default.redis3.2` – Valkey 또는 Redis OSS(클러스터 모드 비활성화됨) 복제 그룹을 생성하고 Redis OSS 3.2.4의 추가 기능을 계속 사용하려면 Redis OSS 3.2.4를 실행할 때 이 파라미터 그룹 또는 그로부터 파생된 파라미터 그룹을 지정합니다.
+ `default.redis3.2.cluster.on` - Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹을 생성하려면 파라미터 그룹 또는 그로부터 파생된 파라미터 그룹을 지정합니다.

**Topics**
+ [Redis OSS 3.2.4의 새 파라미터](#ParameterGroups.Redis.3-2-4.New)
+ [Redis OSS 3.2.4(확장)에서 변경된 파라미터](#ParameterGroups.Redis.3-2-4.Changed)

#### Redis OSS 3.2.4의 새 파라미터
<a name="ParameterGroups.Redis.3-2-4.New"></a>

**파라미터 그룹 패밀리:** redis3.2

Redis OSS 3.2.4의 경우 다음과 같은 추가 파라미터가 지원됩니다.


****  

|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| list-max-ziplist-size | 기본값: -2 유형: 정수 수정 가능 여부: 아니요  | 목록은 공간을 절약하기 위해 특별한 방법으로 인코딩됩니다. 내부 목록 노드 당 허용되는 항목 수는 요소의 최대 수 또는 최대 고정 크기로 지정할 수 있습니다. 최대 고정 크기의 경우 -5\$1-1을 사용합니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/ParameterGroups.Engine.html) | 
| list-compress-depth | 기본값: 0 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시 | 목록을 압축할 수도 있습니다. 압축 깊이는 압축에서 제외할 목록 각 측면의 퀵리스트 집리스트 노드 수입니다. 목록의 헤드와 테일은 빠른 푸시 및 팝 작업을 위해 항상 압축하지 않습니다. 설정: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/ParameterGroups.Engine.html) | 
| cluster-enabled |  기본값: 아니요/예 \$1 유형: 문자열 수정 가능 여부: 아니요 | 클러스터 모드(yes)의 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹인지 비클러스터 모드(no)의 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹인지를 나타냅니다. 클러스터 모드의 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 복제 그룹은 최대 500개의 노드 그룹에 데이터를 분할할 수 있습니다. \$1 Redis OSS 3.2.*x*에는 기본 파라미터 그룹 2개가 있습니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/ParameterGroups.Engine.html). | 
| cluster-require-full-coverage | 기본값: 아니요 유형: boolean 수정 가능 여부: 예 변경 적용: 즉시 |  `yes`로 설정했을 때 클러스터 모드의 Valkey 또는 Redis OSS(클러스터 모드 활성화됨) 노드는 확인되지 않은 해시 슬롯을 하나 이상 감지하면 더 이상 쿼리를 허용하지 않습니다(사용할 수 있는 노드가 없는 경우). 클러스터가 부분적으로 가동 중지되면 클러스터를 사용할 수 없게 됩니다. 모든 슬롯이 다시 확인되는 즉시 자동으로 사용할 수 있게 됩니다. 그러나 때로는 확인된 일부 키스페이스의 쿼리를 계속해서 허용하는 작업 중인 클러스터의 하위 세트가 필요합니다. 이렇게 하려면 `cluster-require-full-coverage` 옵션을 `no`로 설정합니다. | 
| hll-sparse-max-bytes | 기본값: 3000 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시 | HyperLogLog 스파스 표현 바이트 제한입니다. 제한은 16바이트 헤더를 포함합니다. 스파스 표현을 사용하는 HyperLogLog가 이 제한을 초과하면 밀도가 높은 표현으로 변환됩니다. 그 시점에서는 밀도가 높은 표현이 메모리 효율을 높이기 때문에 16000보다 큰 값은 권장하지 않습니다. 스파스 인코딩이 너무 많은 O(N)인 PFADD를 너무 느리게 하지 않고 공간 효율적인 인코딩의 이점을 얻으려면 값을 약 3000까지로 하는 것이 좋습니다. CPU의 문제가 아니라 공백이 있고 데이터세트가 0\$115000 범위의 카디널리티(cardinality)를 가진 많은 HyperLogLog로 구성되어 있으면 값을 10000까지 올릴 수 있습니다. | 
| reserved-memory-percent | 기본값: 25 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시 |  비데이터 사용을 위해 예약된 노드의 메모리 비율입니다. 기본적으로 Redis OSS 데이터 공간은 노드의 메모리를 모두 소진할 때까지 증가합니다. 이 경우 과도한 메모리 페이징으로 인해 노드 성능이 저하될 수 있습니다. 메모리를 예약하면 페이징 양을 줄일 수 있도록 Redis OSS가 아닌 용도로 사용 가능한 메모리 일부를 구분하여 설정할 수 있습니다. 이 파라미터는 ElastiCache에 고유하며 표준 Redis OSS 배포의 일부가 아닙니다. 자세한 내용은 `reserved-memory` 및 [Valkey 및 Redis OSS에 대한 예약된 메모리 관리](redis-memory-management.md) 섹션을 참조하세요. | 

#### Redis OSS 3.2.4(확장)에서 변경된 파라미터
<a name="ParameterGroups.Redis.3-2-4.Changed"></a>

**파라미터 그룹 패밀리:** redis3.2

Redis OSS 3.2.4에서는 다음 파라미터가 변경되었습니다.


****  

|  이름  |  세부 정보 |  변경  | 
| --- | --- | --- | 
| activerehashing | 수정 가능 여부: 파라미터 그룹이 클러스터와 연결되어 있지 않은 경우 yes. 그렇지 않으면 아니요입니다. | 수정 가능 여부는 '아니요'였습니다. | 
| databases | 수정 가능 여부: 파라미터 그룹이 클러스터와 연결되어 있지 않은 경우 yes. 그렇지 않으면 아니요입니다. | 수정 가능 여부는 '아니요'였습니다. | 
| appendonly | 기본값: 꺼짐 수정 가능 여부: 아니요 | 이전 Redis OSS 버전에서 업그레이드하려면 먼저 `appendonly`를 해제해야 합니다. | 
| appendfsync | 기본값: 꺼짐 수정 가능 여부: 아니요 | 이전 Redis OSS 버전에서 업그레이드하려면 먼저 `appendfsync`를 해제해야 합니다. | 
| repl-timeout | 기본값: 60 수정 가능 여부: 아니요 | 현재 기본값을 60으로 수정할 수 없습니다. | 
| tcp-keepalive | 기본값: 300 | 기본값은 0입니다. | 
| list-max-ziplist-entries |  | 파라미터를 더 이상 사용할 수 없습니다. | 
| list-max-ziplist-value |  | 파라미터를 더 이상 사용할 수 없습니다. | 

### Redis OSS 2.8.24(확장) 추가 파라미터
<a name="ParameterGroups.Redis.2-8-24"></a>

**파라미터 그룹 패밀리:** redis2.8

Redis OSS 2.8.24의 경우 지원되는 추가 파라미터가 없습니다.

### Redis OSS 2.8.23(확장) 추가 파라미터
<a name="ParameterGroups.Redis.2-8-23"></a>

**파라미터 그룹 패밀리:** redis2.8

Redis OSS 2.8.23의 경우 다음과 같은 추가 파라미터가 지원됩니다.


****  

|  이름  |  세부 정보 |  설명  | 
| --- | --- | --- | 
| close-on-slave-write  | 기본값: yes 유형: 문자열(yes/no) 수정 가능 여부: 예 변경 적용: 즉시 | 활성화하면 읽기 전용 복제본에 작성을 시도하는 클라이언트의 연결이 끊어집니다. | 

#### close-on-slave-write의 작동 방식
<a name="w2aac24c16c30c49c15c39b9"></a>

Amazon ElastiCache가 `close-on-slave-write` 파라미터를 도입하여 읽기 복제본을 기본으로 승격시켜 프라이머리 노드 및 읽기 복제본 노드의 역할을 바꾸면 클러스터가 응답하는 방법을 보다 세부적으로 제어할 수 있도록 합니다.

![\[이미지: close-on-replica-write, 정상 작동 중\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCache-close-on-slave-write-01.png)


다중 AZ가 활성화된 복제 그룹 장애 조치 이외의 다른 이유로 읽기 전용 복제본 클러스터가 기본으로 승격되면 클라이언트는 엔드포인트 A에 계속 쓰려고 시도합니다. 그러나 엔드포인트 A가 읽기 전용 복제본의 엔드포인트이기 때문에 쓰기가 실패합니다. ElastiCache가 `close-on-replica-write`를 도입하기 전에 Redis OSS의 동작이며 `close-on-replica-write`를 비활성화한 경우의 동작입니다.

![\[이미지: close-on-slave-write, 쓰기 실패\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCache-close-on-slave-write-02.png)


`close-on-replica-write`를 활성화하면 클라이언트가 읽기 전용 복제본에 쓰기를 시도할 때마다 클러스터와의 클라이언트 연결이 종료됩니다. 애플리케이션 논리가 연결 해제를 감지하고 DNS 테이블을 확인한 다음 이제 기본 엔드포인트(엔드포인트 B)에 다시 연결합니다.

![\[이미지: close-on-slave-write, 새 기본 클러스터에 쓰기\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/images/ElastiCache-close-on-slave-write-03.png)


#### close-on-replica-write를 비활성화할 때
<a name="w2aac24c16c30c49c15c39c11"></a>

`close-on-replica-write`를 비활성화했는데 장애가 발생한 클러스터에 쓴 경우 `close-on-replica-write`를 비활성화하는 이유는 무엇일까요?

앞서 언급했듯이 `close-on-replica-write`를 활성화하면 클라이언트가 읽기 전용 복제본에 쓰기를 시도할 때마다 클러스터와의 클라이언트 연결이 종료됩니다. 노드에 새로운 연결을 설정하는 것은 시간이 소요됩니다. 따라서 복제본에 대한 쓰기 요청의 결과로 연결을 끊고 다시 연결하면 동일한 연결을 통해 제공되는 읽기 요청의 지연 시간에도 영향을 미칩니다. 새로운 연결이 설정될 때까지 이 영향이 그대로 유지됩니다. 애플리케이션이 특별히 읽기 중심이거나 지연 시간에 매우 민감한 경우, 읽기 성능이 저하되지 않도록 클라이언트 연결을 유지하는 것이 좋습니다.

### Redis OSS 2.8.22(확장) 추가 파라미터
<a name="ParameterGroups.Redis.2-8-22"></a>

**파라미터 그룹 패밀리:** redis2.8

Redis OSS 2.8.22의 경우 지원되는 추가 파라미터가 없습니다.

**중요**  
Redis OSS 버전 2.8.22부터 `repl-backlog-size`가 기본 클러스터와 복제본 클러스터에 적용됩니다.
Redis OSS 버전 2.8.22부터 `repl-timeout` 파라미터를 지원하지 않습니다. 변경된 경우 `appendonly`와 같이 ElastiCache는 기본값(60초)으로 덮어씁니다.

다음 파라미터는 더 이상 지원되지 않습니다.
+ *appendonly*
+ *appendfsync*
+ *repl-timeout*

### Redis OSS 2.8.21 추가 파라미터
<a name="ParameterGroups.Redis.2-8-21"></a>

**파라미터 그룹 패밀리:** redis2.8

Redis OSS 2.8.21의 경우 지원되는 추가 파라미터가 없습니다.

### Redis OSS 2.8.19 추가 파라미터
<a name="ParameterGroups.Redis.2-8-19"></a>

**파라미터 그룹 패밀리:** redis2.8

Redis OSS 2.8.19의 경우 지원되는 추가 파라미터가 없습니다.

### Redis OSS 2.8.6 추가 파라미터
<a name="ParameterGroups.Redis.2-8-6"></a>

**파라미터 그룹 패밀리:** redis2.8

Redis OSS 2.8.6의 경우 다음과 같은 추가 파라미터가 지원됩니다.


****  

|  이름  |  세부 정보  |  설명  | 
| --- | --- | --- | 
| min-slaves-max-lag  | 기본값: 10 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시 | 프라이머리 노드가 읽기 전용 복제본에서 핑 요청을 수신해야 하는 시간(초)입니다. 이 시간까지 프라이머리 노드가 핑을 수신하지 않으면 복제본을 더 이상 사용할 수 없는 것으로 간주합니다. 사용 가능한 복제본 수가 min-slaves-to-write 아래로 떨어지면 기본 복제본이 해당 시점에서 쓰기 허용을 중지합니다. 이 파라미터 또는 min-slaves-to-write가 0이면 사용 가능한 복제본이 없어도 프라이머리 노드가 항상 쓰기 요청을 허용합니다. | 
| min-slaves-to-write | 기본값: 0 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시 | 프라이머리 노드가 클러스터에서 쓰기를 허용하기 위해 사용 가능해야 하는 최소 읽기 전용 복제본 수입니다. 사용 가능한 복제본 수가 이 수보다 떨어지면 프라이머리 노드는 더 이상 쓰기 요청을 허용하지 않습니다. 이 파라미터 또는 min-slaves-max-lag가 0이면 사용 가능한 복제본이 없어도 프라이머리 노드가 항상 쓰기 요청을 허용합니다. | 
| notify-keyspace-events | 기본값: (빈 문자열) 유형: 문자열 수정 가능 여부: 예 변경 적용: 즉시 | Redis OSS가 클라이언트에 알릴 수 있는 키스페이스 이벤트 유형입니다. 각 이벤트 유형은 한 글자로 표현됩니다. [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/ParameterGroups.Engine.html) 이러한 이벤트 유형을 자유롭게 조합할 수 있습니다. 예를 들어, *AKE*는 Redis OSS가 모든 이벤트 유형의 알림을 게시할 수 있음을 의미합니다. 오류 메시지가 발생할 수 있으므로 위에 나열된 문자 이외의 다른 문자로 시도하지 마십시오. 기본적으로 이 파라미터는 빈 문자열로 설정되어 있습니다. 즉, 키스페이스 이벤트 알림이 비활성화되어 있습니다. | 
| repl-backlog-size | 기본값: 1048576 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시 | 프라이머리 노드 백로그 버퍼의 크기(바이트)입니다. 백로그는 프라이머리 노드의 데이터에 대한 업데이트를 레코딩하는 데 사용됩니다. 읽기 전용 복제본이 기본에 연결되면 프라이머리 노드를 따라잡기 위해 백로그에서 데이터를 적용하는 부분적 동기화(`psync`)를 수행하려고 시도합니다. `psync`가 실패하면 전체 동기화가 필요합니다. 이 파라미터의 최소값은 16384입니다.  Redis OSS 2.8.22부터 이 파라미터는 기본 클러스터와 읽기 전용 복제본에 적용됩니다.  | 
| repl-backlog-ttl | 기본값: 3600 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시 | 프라이머리 노드가 백로그 버퍼를 보관할 시간(초)입 니다. 마지막 복제본 노드가 연결 해제된 시점부터 백로그의 데이터는 `repl-backlog-ttl`이 만료될 때 까지 그대로 유지됩니다. 이 시간 안에 복제본이 프라이머리 노드에 연결되지 않으면 기본이 백로그 버퍼를 해제합니다. 결국 복제본이 다시 연결되면 기본과 전체 동기화를 수행해야 합니다. 파라미터를 0으로 설정하면 백로그 버퍼가 절대 해제되지 않습니다. | 
| repl-timeout | 기본값: 60 유형: 정수 수정 가능 여부: 예 변경 적용: 즉시 | 다음에 대한 제한 시간(초)을 나타냅니다.[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/ParameterGroups.Engine.html) | 

### Redis OSS 2.6.13 파라미터
<a name="ParameterGroups.Redis.2-6-13"></a>

**파라미터 그룹 패밀리:** redis2.6

Redis OSS 2.6.13은 ElastiCache가 지원하는 Redis OSS 초기 버전이었습니다. 다음은 ElastiCache가 지원하는 Redis OSS 2.6.13 파라미터를 보여주는 표입니다.


****  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AmazonElastiCache/latest/dg/ParameterGroups.Engine.html)

**참고**  
Redis OSS 2.6.13 클러스터의 파라미터 그룹을 지정하지 않으면 기본 파라미터 그룹(`default.redis2.6`)이 사용됩니다. 기본 파라미터 그룹의 파라미터 값은 변경할 수 없지만 언제든지 사용자 지정 파라미터 그룹을 생성하고 클러스터에 할당할 수 있습니다.

### Redis OSS 노드 유형별 파라미터
<a name="ParameterGroups.Redis.NodeSpecific"></a>

대부분의 파라미터는 단일 값을 갖지만 일부 파라미터는 사용하는 노드 유형에 따라 다양한 값을 갖습니다. 다음 표에는 각 노드 유형에 대한 `maxmemory`, `client-output-buffer-limit-slave-hard-limit` 및 `client-output-buffer-limit-slave-soft-limit` 파라미터의 기본값이 나와 있습니다. `maxmemory`의 값은 노드에서 데이터 및 다른 용도에 사용할 수 있는 최대 바이트 수입니다. 자세한 내용은 [사용할 수 있는 메모리](https://aws.amazon.com/premiumsupport/knowledge-center/available-memory-elasticache-redis-node/)를 참조하세요.

**참고**  
`maxmemory` 파라미터는 수정할 수 없습니다.


|  노드 유형  | Maxmemory  | Client-output-buffer-limit-slave-hard-limit | Client-output-buffer-limit-slave-soft-limit | 
| --- | --- | --- | --- | 
| cache.t1.micro | 142606336 | 14260633 | 14260633 | 
| cache.t2.micro | 581959680 | 58195968 | 58195968 | 
| cache.t2.small | 1665138688 | 166513868 | 166513868 | 
| cache.t2.medium | 3461349376 | 346134937 | 346134937 | 
| cache.t3.micro | 536870912 | 53687091 | 53687091 | 
| cache.t3.small | 1471026299 | 147102629 | 147102629 | 
| cache.t3.medium | 3317862236 | 331786223 | 331786223 | 
| cache.t4g.micro | 536870912 | 53687091 | 53687091 | 
| cache.t4g.small | 1471026299 | 147102629 | 147102629 | 
| cache.t4g.medium | 3317862236 | 331786223 | 331786223 | 
| cache.m1.small | 943718400 | 94371840 | 94371840 | 
| cache.m1.medium | 3093299200 | 309329920 | 309329920 | 
| cache.m1.large | 7025459200 | 702545920 | 702545920 | 
| cache.m1.xlarge | 14889779200 | 1488977920 | 1488977920 | 
| cache.m2.xlarge | 17091788800 | 1709178880 | 1709178880 | 
| cache.m2.2xlarge | 35022438400 | 3502243840 | 3502243840 | 
| cache.m2.4xlarge | 70883737600 | 7088373760 | 7088373760 | 
| cache.m3.medium | 2988441600 | 309329920 | 309329920 | 
| cache.m3.large | 6501171200 | 650117120 | 650117120 | 
| cache.m3.xlarge | 14260633600 | 1426063360 | 1426063360 | 
| cache.m3.2xlarge | 29989273600 | 2998927360 | 2998927360 | 
| cache.m4.large | 6892593152 | 689259315 | 689259315 | 
| cache.m4.xlarge | 15328501760 | 1532850176 | 1532850176 | 
| cache.m4.2xlarge | 31889126359 | 3188912636 | 3188912636 | 
| cache.m4.4xlarge | 65257290629 | 6525729063 | 6525729063 | 
| cache.m4.10xlarge | 166047614239 | 16604761424 | 16604761424 | 
| cache.m5.large | 6854542746 | 685454275  | 685454275 | 
| cache.m5.xlarge | 13891921715 | 1389192172 | 1389192172 | 
| cache.m5.2xlarge | 27966669210 | 2796666921 | 2796666921 | 
| cache.m5.4xlarge | 56116178125 | 5611617812 | 5611617812 | 
| cache.m5.12xlarge | 168715971994 | 16871597199 | 16871597199 | 
| cache.m5.24xlarge | 337500562842 | 33750056284 | 33750056284 | 
| cache.m6g.large | 6854542746 | 685454275 | 685454275 | 
| cache.m6g.xlarge | 13891921715 | 1389192172 | 1389192172 | 
| cache.m6g.2xlarge | 27966669210 | 2796666921 | 2796666921 | 
| cache.m6g.4xlarge | 56116178125 | 5611617812 | 5611617812 | 
| cache.m6g.8xlarge | 111325552312 | 11132555231 | 11132555231 | 
| cache.m6g.12xlarge | 168715971994 | 16871597199 | 16871597199 | 
| cache.m6g.16xlarge | 225000375228 | 22500037523 | 22500037523 | 
| cache.c1.xlarge | 6501171200 | 650117120 | 650117120 | 
| cache.r3.large | 14470348800 | 1468006400 | 1468006400 | 
| cache.r3.xlarge | 30513561600 | 3040870400 | 3040870400 | 
| cache.r3.2xlarge | 62495129600 | 6081740800 | 6081740800 | 
| cache.r3.4xlarge | 126458265600 | 12268339200 | 12268339200 | 
| cache.r3.8xlarge | 254384537600 | 24536678400 | 24536678400 | 
| cache.r4.large | 13201781556 | 1320178155 | 1320178155 | 
| cache.r4.xlarge | 26898228839 | 2689822883 | 2689822883 | 
| cache.r4.2xlarge | 54197537997 | 5419753799 | 5419753799 | 
| cache.r4.4xlarge | 108858546586 | 10885854658 | 10885854658 | 
| cache.r4.8xlarge | 218255432090 | 21825543209 | 21825543209 | 
| cache.r4.16xlarge | 437021573120 | 43702157312 | 43702157312 | 
| cache.r5.large | 14037181030 | 1403718103 | 1403718103 | 
| cache.r5.xlarge | 28261849702 | 2826184970 | 2826184970 | 
| cache.r5.2xlarge | 56711183565 | 5671118356 | 5671118356 | 
| cache.r5.4xlarge | 113609865216 | 11360986522 | 11360986522 | 
| cache.r5.12xlarge | 341206346547 | 34120634655 | 34120634655 | 
| cache.r5.24xlarge | 682485973811 | 68248597381 | 68248597381 | 
| cache.r6g.large | 14037181030 | 1403718103 | 1403718103 | 
| cache.r6g.xlarge | 28261849702 | 2826184970 | 2826184970 | 
| cache.r6g.2xlarge | 56711183565 | 5671118356 | 5671118356 | 
| cache.r6g.4xlarge | 113609865216 | 11360986522 | 11360986522 | 
| cache.r6g.8xlarge | 225000375228 | 22500037523 | 22500037523 | 
| cache.r6g.12xlarge | 341206346547 | 34120634655 | 34120634655 | 
| cache.r6g.16xlarge | 450000750456 | 45000075046 | 45000075046 | 
| cache.r6gd.xlarge | 28261849702 | 2826184970 | 2826184970 | 
| cache.r6gd.2xlarge | 56711183565 | 5671118356 | 5671118356 | 
| cache.r6gd.4xlarge | 113609865216 | 11360986522 | 11360986522 | 
| cache.r6gd.8xlarge | 225000375228 | 22500037523 | 22500037523 | 
| cache.r6gd.12xlarge | 341206346547 | 34120634655 | 34120634655 | 
| cache.r6gd.16xlarge | 450000750456 | 45000075046 | 45000075046 | 
| cache.r7g.large | 14037181030 | 1403718103 | 1403718103 | 
| cache.r7g.xlarge | 28261849702 | 2826184970 | 2826184970 | 
| cache.r7g.2xlarge | 56711183565 | 5671118356 | 5671118356 | 
| cache.r7g.4xlarge | 113609865216 | 11360986522 | 11360986522 | 
| cache.r7g.8xlarge | 225000375228 | 22500037523 | 22500037523 | 
| cache.r7g.12xlarge | 341206346547 | 34120634655 | 34120634655 | 
| cache.r7g.16xlarge | 450000750456 | 45000075046 | 45000075046 | 
| cache.m7g.large | 6854542746 | 685454275 | 685454275 | 
| cache.m7g.xlarge | 13891921715 | 1389192172 | 1389192172 | 
| cache.m7g.2xlarge | 27966669210 | 2796666921 | 2796666921 | 
| cache.m7g.4xlarge | 56116178125 | 5611617812 | 5611617812 | 
| cache.m7g.8xlarge | 111325552312 | 11132555231 | 11132555231 | 
| cache.m7g.12xlarge | 168715971994 | 16871597199 | 16871597199 | 
| cache.m7g.16xlarge | 225000375228 | 22500037523 | 22500037523 | 
| cache.c7gn.large | 3317862236 | 1403718103 | 1403718103 | 
| cache.c7gn.xlarge | 6854542746 | 2826184970 | 2826184970 | 
| cache.c7gn.2xlarge | 13891921715 | 5671118356 | 5671118356 | 
| cache.c7gn.4xlarge | 27966669210 | 11360986522 | 11360986522 | 
| cache.c7gn.8xlarge | 56116178125 | 22500037523 | 22500037523 | 
| cache.c7gn.12xlarge | 84357985997 | 34120634655 | 34120634655 | 
| cache.c7gn.16xlarge | 113609865216 | 45000075046 | 45000075046 | 

**참고**  
현재 세대의 모든 인스턴스 유형은 기본적으로 Amazon Virtual Private Cloud VPC에서 생성됩니다.  
T1 인스턴스는 다중 AZ를 지원하지 않습니다.  
T1 및 T2 인스턴스는 Redis OSS AOF를 지원하지 않습니다.  
Redis OSS 구성 변수 `appendonly` 및 `appendfsync`는 Redis OSS 버전 2.8.22 이상에서 지원되지 않습니다.

## Memcached 특정 파라미터
<a name="ParameterGroups.Memcached"></a>

**Memcached**

Memcached 클러스터에 파라미터 그룹을 지정하지 않으면 엔진 버전에 적절한 기본 파라미터 그룹이 사용됩니다. 기본 파라미터 그룹에서는 어떤 파라미터 값도 변경할 수 없습니다. 그러나 사용자 지정 파라미터 그룹을 생성하여 언제든지 클러스터에 할당할 수 있습니다. 자세한 내용은 [ElastiCache 파라미터 그룹 생성](ParameterGroups.Creating.md) 단원을 참조하십시오.

**Topics**
+ [Memcached 1.6.17 변경 사항](#ParameterGroups.Memcached.1.6.17)
+ [Memcached 1.6.6 추가 파라미터](#ParameterGroups.Memcached.1-6-6)
+ [Memcached 1.5.10 파라미터 변경](#ParameterGroups.Memcached.1-5-10)
+ [Memcached 1.4.34 추가 파라미터](#ParameterGroups.Memcached.1-4-34)
+ [Memcached 1.4.33 추가 파라미터](#ParameterGroups.Memcached.1-4-33)
+ [Memcached 1.4.24 추가 파라미터](#ParameterGroups.Memcached.1-4-24)
+ [Memcached 1.4.14 추가 파라미터](#ParameterGroups.Memcached.1-4-14)
+ [Memcached 1.4.5 지원 파라미터](#ParameterGroups.Memcached.1-4-5)
+ [Memcached 연결 오버헤드](#ParameterGroups.Memcached.Overhead)
+ [Memcached 노드 유형별 파라미터](#ParameterGroups.Memcached.NodeSpecific)

### Memcached 1.6.17 변경 사항
<a name="ParameterGroups.Memcached.1.6.17"></a>

Memcached 1.6.17부터는 `lru_crawler`, `lru`, `slabs` 관리 명령을 더 이상 지원하지 않습니다. 이러한 변경으로 인해 런타임에 명령을 통해 `lru_crawler`를 활성화하거나 비활성화할 수 없습니다. 사용자 지정 파라미터 그룹을 수정하여 `lru_crawler`를 활성화하거나 비활성화하세요.

### Memcached 1.6.6 추가 파라미터
<a name="ParameterGroups.Memcached.1-6-6"></a>

Memcached 1.6.6은 추가 파라미터를 지원하지 않습니다.

**파라미터 그룹 패밀리:** memcached1.6

### Memcached 1.5.10 파라미터 변경
<a name="ParameterGroups.Memcached.1-5-10"></a>

Memcached 1.5.10은 다음과 같은 추가 파라미터가 지원됩니다.

**파라미터 그룹 Family:** memcached1.5


| 이름 | 세부 정보 | 설명 | 
| --- | --- | --- | 
| no\$1modern  | 기본값: 1 유형: boolean 수정 가능 여부: 예 허용된 값: 0,1 변경 적용: 시작 시  |  `slab_reassign`, `lru_maintainer_thread`, `lru_segmented` 및 `maxconns_fast` 명령을 비활성화하기 위한 별칭입니다. Memcached 1.5 이상을 사용하는 경우, `no_modern`는 해시 알고리즘도 `jenkins`로 설정합니다. 또한 Memcached 1.5.10를 사용하는 경우 `inline_ascii_reponse`는 파라미터 `parallelly`로 제어됩니다. 즉, `no_modern`이 비활성화되면 `inline_ascii_reponse`가 비활성화됩니다. Memcached 엔진 1.5.16부터 `inline_ascii_response` 파라미터가 더 이상 적용되지 않으므로 `no_modern`을 활성화하거나 비활성화해도 `inline_ascii_reponse`에 영향을 주지 않습니다. `no_modern`이 비활성화되면 `slab_reassign`, `lru_maintainer_thread`, `lru_segmented`, `maxconns_fast`가 활성화됩니다. `slab_automove` 및 `hash_algorithm` 파라미터는 SWITCH 파라미터가 아니므로 파라미터 그룹의 구성을 기반으로 설정됩니다. `no_modern`을 비활성화하고 `modern`으로 되돌리려면 사용자 지정 파라미터 그룹을 구성하여 이 파라미터를 비활성화한 다음 재부팅해야 변경 사항을 적용할 수 있습니다.  이 파라미터의 기본 구성 값은 2021년 8월 20일 현재 0에서 1로 변경되었습니다. 업데이트된 기본값은 2021년 8월 20일 이후 각 리전의 새로운 ElastiCache 사용자에 의해 자동으로 선택됩니다. 2021년 8월 20일 이전의 해당 리전에서는 기존 ElastiCache 사용자가 사용자 지정 파라미터 그룹을 수동으로 수정해야 이 새로운 변경 사항이 적용됩니다.   | 
| inline\$1ascii\$1resp  | 기본값: 0 유형: boolean 수정 가능 여부: 예 허용된 값: 0,1 변경 적용: 시작 시  |  최대 24바이트를 사용하여 항목 내 `VALUE` 응답의 수치를 저장합니다. ASCII `get`, `faster` 세트의 속도가 약간 느려집니다. | 

Memcached 1.5.10의 경우 다음과 같은 파라미터가 제거됩니다.


| 이름 | 세부 정보 | 설명 | 
| --- | --- | --- | 
| expirezero\$1does\$1not\$1evict  | 기본값: 0 유형: boolean 수정 가능 여부: 예 허용된 값: 0,1 변경 적용: 시작 시  |  이 버전에서는 이제 지원하지 않습니다. | 
| modern  | 기본값: 1 유형: boolean 수정 가능 여부: 예(`no_modern`으로 설정하는 경우 재시작해야 함) 허용된 값: 0,1 변경 적용: 시작 시  |  이 버전에서는 이제 지원하지 않습니다. 이 버전부터는 시작할 때마다 항상 또는 재시작 시 기본적으로 `no-modern`이 활성화됩니다. | 

### Memcached 1.4.34 추가 파라미터
<a name="ParameterGroups.Memcached.1-4-34"></a>

Memcached 1.4.34는 추가 파라미터를 지원하지 않습니다.

**파라미터 그룹 패밀리:** memcached1.4

### Memcached 1.4.33 추가 파라미터
<a name="ParameterGroups.Memcached.1-4-33"></a>

For Memcached 1.4.33은 다음과 같은 추가 파라미터가 지원됩니다.

**파라미터 그룹 패밀리:** memcached1.4


| 이름 | 세부 정보 | 설명 | 
| --- | --- | --- | 
|  modern  | 기본값: enabled 유형: boolean 수정 가능 여부: 예 변경 적용: 시작 시  |  여러 기능의 별칭입니다. `modern`을 활성화하는 것은 murmur3 해시 알고리즘을 사용하고 다음 명령을 사용하는 것과 같습니다. `slab_reassign`, `slab_automove`, `lru_crawler`, `lru_maintainer`, `maxconns_fast` 및 `hash_algorithm=murmur3` | 
|  watch  | 기본값: enabled 유형: boolean 수정 가능 여부: 예 변경 적용: 즉시 사용자가 `watcher_logbuf_size` 및 `worker_logbuf_size` 한도에 도달하면 로그가 삭제될 수 있습니다.  |  로그 가져오기, 제거 또는 변형. 예를 들어 사용자가 `watch`를 켜면 `get`, `set`, `delete` 또는 `update` 발생 시 로그를 볼 수 있습니다. | 
|  idle\$1timeout  | 기본값: 0(비활성화) 유형: 정수 수정 가능 여부: 예 변경 적용: 시작 시  |  종료하라는 메시지가 표시되기 전에 클라이언트가 유휴 상태로 있을 수 있는 최소 시간(초)입니다. 값의 범위는 0\$186400입니다. | 
|  track\$1sizes  | 기본값: 비활성화 유형: boolean 수정 가능 여부: 예 변경 적용: 시작 시  |  슬래브 그룹이 소비한 크기를 표시합니다. `track_sizes`를 활성화하면 `stats sizes_enable`을 실행할 필요 없이 `stats sizes`를 실행할 수 있습니다. | 
|  watcher\$1logbuf\$1size  | 기본값: 256(KB) 유형: 정수 수정 가능 여부: 예 변경 적용: 시작 시  |  `watch` 명령은 Memcached에 대한 스트림 로깅을 켭니다. 그러나 로깅 버퍼가 가득 찰 정도로 제거, 변형 또는 가져오기 비율이 높은 경우 `watch`에서 로그를 삭제할 수 있습니다. 이러한 상황에서 사용자는 로그 손실을 줄이기 위해 버퍼 크기를 늘릴 수 있습니다. | 
|  worker\$1logbuf\$1size  | 기본값: 64(KB) 유형: 정수 수정 가능 여부: 예 변경 적용: 시작 시  |  `watch` 명령은 Memcached에 대한 스트림 로깅을 켭니다. 그러나 버퍼가 가득 찰 정도로 제거, 변형 또는 가져오기 비율이 높으면 `watch`는 로그를 삭제할 수 있습니다. 이러한 상황에서 사용자는 로그 손실을 줄이기 위해 버퍼 크기를 늘릴 수 있습니다. | 
|  slab\$1chunk\$1max  | 기본값: 524288(바이트)  유형: 정수 수정 가능 여부: 예 변경 적용: 시작 시  |  슬래브의 최대 크기를 지정합니다. 슬래브 크기를 작게 설정하면 메모리를 더 효율적으로 사용합니다. `slab_chunk_max`보다 큰 항목은 여러 슬래브로 분할됩니다. | 
|  lru\$1crawler metadump [all\$11\$12\$13] | 기본값: 비활성화  유형: boolean 수정 가능 여부: 예 변경 적용: 즉시  |  lru\$1crawler를 활성화하면 이 명령이 모든 키를 덤프합니다. `all\|1\|2\|3` - 모든 슬래브 또는 특정 슬래브 수 지정 | 

### Memcached 1.4.24 추가 파라미터
<a name="ParameterGroups.Memcached.1-4-24"></a>

Memcached 1.4.24는 다음과 같은 추가 파라미터가 지원됩니다.

**파라미터 그룹 패밀리:** memcached1.4


| 이름 | 세부 정보 | 설명 | 
| --- | --- | --- | 
|  disable\$1flush\$1all  | 기본값: 0(비활성화) 유형: boolean 수정 가능 여부: 예 변경 적용: 시작 시  |  flush\$1all을 비활성화하려면 파라미터(`-F`)를 추가합니다. 프로덕션 인스턴스에서 전체 플러시를 실행할 수 없는 경우에 유용합니다. 값은 0, 1(값이 0일 때 사용자가 `flush_all`을 수행할 수 있음)입니다. | 
|  hash\$1algorithm  | 기본값: jenkins 유형: 문자열 수정 가능 여부: 예 변경 적용: 시작 시  | 사용할 해시 알고리즘입니다. 허용되는 값은 murmur3 및 jenkins입니다. | 
|  lru\$1crawler  | 기본값: 0(비활성화) 유형: boolean 수정 가능 여부: 예 변경 적용: 재시작 후  런타임 시 명령줄에서 `lru_crawler`를 일시적으로 활성화할 수 있습니다. 자세한 내용은 설명 열을 참조하세요.   |  만료된 항목의 슬래브 클래스를 삭제합니다. 백그라운드에서 실행되는 영향이 적은 프로세스입니다. 현재는 수동 명령을 사용하여 크롤링을 시작해야 합니다. 일시적으로 활성화하려면 명령줄에서 `lru_crawler enable`을 실행합니다. `lru_crawler 1,3,5`는 슬래브 클래스 1, 3 및 5를 크롤링하여 freelist에 추가할 만료 항목을 찾습니다. 값: 0,1  명령줄에서 `lru_crawler`를 활성화하면 명령줄에서 비활성화하거나 다음에 재부팅될 때까지 크롤러가 활성화됩니다. 영구적으로 활성화하려면 파라미터 값을 수정해야 합니다. 자세한 내용은 [ElastiCache 파라미터 그룹 수정](ParameterGroups.Modifying.md) 단원을 참조하십시오.   | 
|  lru\$1maintainer  | 기본값: 0(비활성화) 유형: boolean 수정 가능 여부: 예 변경 적용: 시작 시  |  용량에 도달할 때 LRU 간에 항목을 셔플링한 백그라운드 스레드입니다. 값: 0, 1  | 
|  expirezero\$1does\$1not\$1evict  | 기본값: 0(비활성화) 유형: boolean 수정 가능 여부: 예 변경 적용: 시작 시  |  `lru_maintainer`와 함께 사용하면 만료 시간이 0인 항목을 제거할 수 없게 합니다.  기타 제거할 수 있는 항목에 사용 가능한 메모리를 밀어낼 수 있습니다.  `lru_maintainer`를 무시하도록 설정할 수 있습니다. | 

### Memcached 1.4.14 추가 파라미터
<a name="ParameterGroups.Memcached.1-4-14"></a>

Memcached 1.4.14는 다음과 같은 추가 파라미터가 지원됩니다.

**파라미터 그룹 패밀리:** memcached1.4


**Memcached 1.4.14에 추가된 파라미터**  

|  이름  |  세부 정보  |  설명  | 
| --- | --- | --- | 
| config\$1max | 기본값: 16 유형: 정수 수정 가능 여부: 아니요 | ElastiCache 구성 항목의 최대 수입니다. | 
| config\$1size\$1max | 기본값: 65536 유형: 정수 수정 가능 여부: 아니요 | 구성 항목의 최대 크기(바이트)입니다. | 
| hashpower\$1init | 기본값: 16 유형: 정수 수정 가능 여부: 아니요 | ElastiCache 해시 테이블의 처음 크기이며 2의 거듭 제곱으로 표시됩니다. 기본값은 16(2^16) 또는 65536 키입니다. | 
| maxconns\$1fast | 기본값: 0(false) 유형: 부울 수정 가능 여부: 예 변경 적용: 재시작 후 | 최대 연결 한도에 도달했을 때 새 연결 요청을 처리하는 방식을 변경합니다. 이 파라미터를 0으로 설정하면 새 연결이 백로그 대기열에 추가되고 다른 연결이 끊길 때까지 대기합니다. 파라미터를 1로 설정하면 ElastiCache가 클라이언트에 오류를 전송하고 즉시 연결을 끊습니다. | 
| slab\$1automove | 기본값: 0 유형: 정수 수정 가능 여부: 예 변경 적용: 재시작 후 | 슬래브 오토무브 알고리즘을 조정합니다. 이 파라미터를 0(영)으로 설정하면 오토무브 알고리즘이 비활성화됩니다. 1로 설정하면 ElastiCache가 자동으로 슬래브를 이동하는 데 느리고 보수적인 접근 방식을 취합니다. 2로 설정하면 제거할 때마다 ElastiCache가 적극적으로 슬래브를 이동합니다. (이 모드는 테스트 목적을 제외하고는 권장되지 않음) | 
| slab\$1reassign | 기본값: 0(false) 유형: 부울 수정 가능 여부: 예 변경 적용: 재시작 후 | 슬래브 재할당을 활성화하거나 비활성화합니다. 이 파라미터를 1로 설정하면 "슬래브 재할당" 명령을 사용하여 메모리를 수동으로 재할당할 수 있습니다. | 

### Memcached 1.4.5 지원 파라미터
<a name="ParameterGroups.Memcached.1-4-5"></a>

**파라미터 그룹 패밀리:** memcached1.4

Memcached 1.4.5는 다음과 같은 파라미터를 지원합니다.


**Memcached 1.4.5에 추가된 파라미터**  

|  이름  |  세부 정보  |  설명  | 
| --- | --- | --- | 
| backlog\$1queue\$1limit | 기본값: 1024 유형: 정수 수정 가능 여부: 아니요 | 백 로그 대기열 제한입니다. | 
| binding\$1protocol | 기본값: 자동 유형: 문자열 수정 가능 여부: 예 변경 적용: 재시작 후 | 바인딩 프로토콜입니다.허용 가능한 값은 `ascii` 및 `auto`입니다. `binding_protocol`의 값을 수정하는 방법에 대한 지침은 [ElastiCache 파라미터 그룹 수정](ParameterGroups.Modifying.md)을 참조하세요. | 
| cas\$1disabled | 기본값: 0(false) 유형: 부울 수정 가능 여부: 예 변경 적용: 재시작 후 | 1(true)이면 확인 및 설정(CAS) 작업이 비활성화되고 저장된 항목이 CAS가 활성화된 경우보다 8바이트 적게 소비합니다. | 
| chunk\$1size | 기본값: 48 유형: 정수 수정 가능 여부: 예 변경 적용: 재시작 후 | 가장 작은 항목의 키, 값 및 플래그에 할당할 공간의 최소 크기(바이트)입니다. | 
| chunk\$1size\$1growth\$1factor | 기본값: 1.25 유형: float 수정 가능 여부: 예 변경 적용: 재시작 후 | 연속된 Memcached 청크 크기를 제어하는 성장 인자입니다. 각 청크는 이전 청크보다 chunk\$1size\$1growth\$1factor배 더 큽니다. | 
| error\$1on\$1memory\$1exhausted | 기본값: 0(false) 유형: 부울 수정 가능 여부: 예 변경 적용: 재시작 후 | 1(true)이면 항목을 저장할 메모리가 없으면 Memcached가 항목을 제거하는 대신 오류를 반환합니다. | 
| large\$1memory\$1pages | 기본값: 0(false) 유형: Boolean 수정 가능 여부: 아니요 | 1(true)이면 ElastiCache가 더 큰 메모리 페이지를 사용하고자 합니다. | 
| lock\$1down\$1paged\$1memory | 기본값: 0(false) 유형: Boolean 수정 가능 여부: 아니요 | 1(true)이면 ElastiCache가 페이징된 모든 메모리를 잠급니다. | 
| max\$1item\$1size | 기본값: 1048576 유형: 정수 수정 가능 여부: 예 변경 적용: 재시작 후 | 클러스터에 저장할 수 있는 가장 큰 항목의 크기(바이트)입니다. | 
| max\$1simultaneous\$1connections | 기본값: 65000 유형: 정수 수정 가능 여부: 아니요 | 최대 동시 연결 수입니다. | 
| maximize\$1core\$1file\$1limit | 기본값: 0(false) 유형: Boolean 수정 가능:  변경 적용: 재시작 후 | 1(true)이면 ElastiCache가 핵심 파일 제한을 최대화합니다. | 
| memcached\$1connections\$1overhead | 기본값: 100 유형: 정수 수정 가능 여부: 예 변경 적용: 재시작 후 | Memcached 연결 및 기타 오버헤드에 예약된 메모리 양입니다. 이 파라미터에 대한 자세한 정보는 [Memcached 연결 오버헤드](#ParameterGroups.Memcached.Overhead)를 참조하세요. | 
| requests\$1per\$1event | 기본값: 20 유형: 정수 수정 가능 여부: 아니요 | 지정된 연결의 이벤트 당 최대 요청 수입니다. 이 제한은 리소스 결핍을 막기 위해 필요합니다. | 

### Memcached 연결 오버헤드
<a name="ParameterGroups.Memcached.Overhead"></a>

각 노드에서 항목을 저장하는 데 사용할 수 있는 메모리는 `max_cache_memory` 파라미터에 저장된 해당 노드의 총 사용 가능한 메모리에서 `memcached_connections_overhead` 파라미터에 저장된 연결에 사용하는 메모리와 기타 오버헤드를 뺀 값입니다. 예를 들어, `cache.m1.small` 유형의 노드에는 1300MB의 `max_cache_memory`가 있습니다. 기본 `memcached_connections_overhead` 값이 100MB이면 Memcached 프로세스는 항목을 저장하는 데 1200MB를 사용할 수 있습니다.

`memcached_connections_overhead` 파라미터의 기본값은 대부분의 사용 사례를 충족시키지만 연결 오버헤드에 필요한 할당량은 요청 빈도, 페이로드 크기 및 연결 수를 비롯한 여러 요소에 따라 달라질 수 있습니다.

애플리케이션에 맞게 `memcached_connections_overhead` 값을 변경할 수 있습니다. 예를 들어, `memcached_connections_overhead` 파라미터 값을 높이면 항목을 저장하는 데 사용할 수 있는 메모리 양이 줄어들어 연결 오버헤드에 더 큰 버퍼가 제공됩니다. `memcached_connections_overhead` 파라미터 값을 줄이면 항목을 저장하는 데 더 많은 메모리를 사용할 수 있지만 스왑 사용량 및 성능 저하 위험이 높아질 수 있습니다. 스왑 사용량이 늘고 성능 저하가 발생하면 `memcached_connections_overhead` 파라미터 값을 늘립니다.

**중요**  
`cache.t1.micro` 노드 유형의 경우 `memcached_connections_overhead` 값은 다음과 같이 결정됩니다.  
클러스터가 기본 파라미터 그룹을 사용하면 ElastiCache는 `memcached_connections_overhead` 값을 13MB로 설정합니다.
클러스터가 사용자가 직접 생성한 파라미터 그룹을 사용하면 `memcached_connections_overhead` 값을 원하는 대로 설정할 수 있습니다.

### Memcached 노드 유형별 파라미터
<a name="ParameterGroups.Memcached.NodeSpecific"></a>

대부분의 파라미터는 단일 값을 갖지만 일부 파라미터는 사용하는 노드 유형에 따라 다양한 값을 갖습니다. 다음 표에는 각 노드 유형에 대한 `max_cache_memory` 및 `num_threads` 파라미터의 기본값이 나와 있습니다. 이 파라미터의 값은 수정할 수 없습니다.


|  노드 유형  | max\$1cache\$1memory(MB)  | num\$1threads  | 
| --- | --- | --- | 
| cache.t1.micro | 213  | 1 | 
| cache.t2.micro | 555 | 1 | 
| cache.t2.small | 1588 | 1 | 
| cache.t2.medium | 3301 | 2 | 
| cache.t3.micro | 512 | 2 | 
| cache.t3.small | 1402 | 2 | 
| cache.t3.medium | 3364 | 2 | 
| cache.t4g.micro | 512 | 2 | 
| cache.t4g.small | 1402 | 2 | 
| cache.t4g.medium | 3164 | 2 | 
| cache.m1.small | 1301 | 1 | 
| cache.m1.medium | 3350 | 1 | 
| cache.m1.large | 7100 | 2 | 
| cache.m1.xlarge | 14600  | 4 | 
| cache.m2.xlarge | 33800 | 2 | 
| cache.m2.2xlarge | 30412 | 4 | 
| cache.m2.4xlarge | 68000  | 16 | 
| cache.m3.medium | 2850 | 1 | 
| cache.m3.large | 6200 | 2 | 
| cache.m3.xlarge | 13600 | 4 | 
| cache.m3.2xlarge | 28600 | 8 | 
| cache.m4.large | 6573 | 2 | 
| cache.m4.xlarge | 11496  | 4 | 
| cache.m4.2xlarge | 30412 | 8 | 
| cache.m4.4xlarge | 62234 | 16 | 
| cache.m4.10xlarge | 158355 | 40 | 
| cache.m5.large | 6537 | 2 | 
| cache.m5.xlarge | 13248 | 4 | 
| cache.m5.2xlarge | 26671 | 8 | 
| cache.m5.4xlarge | 53516 | 16 | 
| cache.m5.12xlarge | 160900 | 48 | 
| cache.m5.24xlarge | 321865  | 96 | 
| cache.m6g.large | 6537 | 2 | 
| cache.m6g.xlarge | 13248 | 4 | 
| cache.m6g.2xlarge | 26671 | 8 | 
| cache.m6g.4xlarge | 53516 | 16 | 
| cache.m6g.8xlarge | 107000 | 32 | 
| cache.m6g.12xlarge | 160900 | 48 | 
| cache.m6g.16xlarge | 214577 | 64 | 
| cache.c1.xlarge | 6600 | 8 | 
| cache.r3.large | 13800 | 2 | 
| cache.r3.xlarge | 29100 | 4 | 
| cache.r3.2xlarge | 59600 | 8 | 
| cache.r3.4xlarge | 120600 | 16 | 
| cache.r3.8xlarge | 120600 | 32 | 
| cache.r4.large | 12590 | 2 | 
| cache.r4.xlarge | 25652 | 4 | 
| cache.r4.2xlarge | 51686 | 8 | 
| cache.r4.4xlarge | 103815 | 16 | 
| cache.r4.8xlarge | 208144 | 32 | 
| cache.r4.16xlarge | 416776 | 64 | 
| cache.r5.large | 13387 | 2 | 
| cache.r5.xlarge | 26953 | 4 | 
| cache.r5.2xlarge | 54084 | 8 | 
| cache.r5.4xlarge | 108347 | 16 | 
| cache.r5.12xlarge | 325400 | 48 | 
| cache.r5.24xlarge | 650869 | 96 | 
| cache.r6g.large | 13387 | 2 | 
| cache.r6g.xlarge | 26953 | 4 | 
| cache.r6g.2xlarge | 54084 | 8 | 
| cache.r6g.4xlarge | 108347 | 16 | 
| cache.r6g.8xlarge | 214577 | 32 | 
| cache.r6g.12xlarge | 325400 | 48 | 
| cache.r6g.16xlarge | 429154 | 64 | 
| cache.c7gn.large | 3164 | 2 | 
| cache.c7gn.xlarge | 6537 | 4 | 
| cache.c7gn.2xlarge | 13248 | 8 | 
| cache.c7gn.4xlarge | 26671 | 16 | 
| cache.c7gn.8xlarge | 53516 | 32 | 
| cache.c7gn.12xlarge | 325400 | 48 | 
| cache.c7gn.16xlarge | 108347 | 64 | 

**참고**  
모든 T2 인스턴스는 Amazon Virtual Private Cloud(Amazon VPC)에서 생성됩니다.