기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
오토 스케일링 Valkey 및 Redis OSS 클러스터
사전 조건
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 오토 스케일링을 사용하여 자동으로 용량 관리
Valkey 또는 Redis OSS를 사용한 ElastiCache 오토 스케일링은 ElastiCache 서비스에서 원하는 샤드 또는 복제본을 자동으로 늘리거나 줄일 수 있는 기능입니다. ElastiCache는 Application Auto Scaling 서비스를 활용하여 이 기능을 제공합니다. 자세한 내용은 Application Auto Scaling 섹션을 참조하세요. 자동 크기 조정을 사용하려면 할당한 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 오토 스케일링이 사용자를 대신해 크기 조정을 트리거합니다.
-
복제본 - 수동 복제본 증가/감소 작업과 유사하게 클러스터에서 복제본을 자동으로 추가/제거합니다. Valkey 및 Redis OSS에 대한 ElastiCache Auto Scaling은 클러스터의 모든 샤드에서 복제본을 균일하게 추가/제거합니다.
ElastiCache for Valkey 및 Redis OSS는 다음과 같은 유형의 자동 조정 정책을 지원합니다.
-
대상 추적 조정 정책 - 특정 지표에 대한 대상 값을 기준으로 서비스가 실행하는 샤드/복제본의 수를 늘리거나 줄입니다. 이 과정은 온도 조절기를 사용하여 집안 온도를 유지하는 방법과 비슷합니다. 사용자가 온도를 선택하면 나머지는 모두 온도 조절기에서 자동으로 수행됩니다.
-
애플리케이션의 예약된 조정입니다. – ElastiCache for Valkey 및 Redis OSS Auto Scaling은 날짜 및 시간에 따라 서비스가 실행되는 샤드/복제본 수를 늘리거나 줄일 수 있습니다.

다음 단계에서는 이전 다이어그램과 같이 ElastiCache for Valkey 및 Redis OSS Auto Scaling 프로세스를 요약합니다.
-
복제 그룹에 대한 ElastiCache 오토 스케일링 정책을 생성합니다.
-
ElastiCache Auto Scaling은 사용자를 대신하여 CloudWatch 경보 쌍을 생성합니다. 각 쌍은 지표의 상한값과 하한값을 나타냅니다. 클러스터의 실제 사용률이 일정한 시간 동안 목표 사용률을 벗어나면 이러한 CloudWatch 경보가 트리거됩니다. 콘솔에서 경보를 볼 수 있습니다.
-
구성된 지표 값이 특정 기간의 목표 사용률을 초과하는 경우(또는 목표에 미달하는 경우), CloudWatch가 오토 스케일링을 호출하여 크기 조정 정책을 평가하는 경보를 트리거합니다.
-
ElastiCache Auto Scaling은 클러스터 용량을 조정하기 위한 수정 요청을 발행합니다.
-
ElastiCache는 수정 요청을 처리하여 클러스터 샤드/복제본 용량을 동적으로 증가(또는 감소)하여 대상 사용률에 근접합니다.
ElastiCache Auto Scaling의 작동 방식을 이해하려면 라는 클러스터가 있다고 가정합니다UsersCluster
. UsersCluster
의 CloudWatch 지표를 모니터링하여 트래픽이 가장 높을 때 클러스터에 필요한 최대 샤드 수와 트래픽이 가장 낮을 때 필요한 최소 샤드 수를 결정합니다. 또한 UsersCluster
클러스터의 CPU 사용률에 대한 목표 값을 결정합니다. ElastiCache 오토 스케일링에서는 목표 추적 알고리즘을 사용하여 UsersCluster
의 프로비저닝된 샤드 수를 필요에 따라 조절함으로써 사용률이 목표 값 안팎으로 유지되도록 합니다.
참고
크기 조정에는 상당한 시간이 소요될 수 있으며 샤드가 재분배되려면 추가적인 클러스터 리소스가 필요합니다. ElastiCache Auto Scaling은 실제 워크로드가 몇 분 동안 상승(또는 우울)된 상태로 유지되는 경우에만 리소스 설정을 수정합니다. 오토 스케일링의 목표 추적 알고리즘은 목표 사용률을 장기적으로 사용자가 선택한 값 안팎으로 유지되도록 합니다.
오토 스케일링에 필요한 IAM 권한
ElastiCache for Valkey 및 Redis OSS Auto Scaling은 ElastiCache, CloudWatch 및 Application Auto Scaling APIs의 조합으로 가능합니다. 클러스터는 ElastiCache로 생성 및 업데이트되고, 경보는 CloudWatch로 생성되며, 조정 정책은 Application Auto Scaling으로 생성됩니다. ElastiCache 오토 스케일링 설정에 액세스하는 IAM 사용자에게는 클러스터 생성 및 업데이트에 대한 표준 IAM 권한에 더해 동적 크기 조정을 지원하는 서비스에 대한 적절한 권한이 있어야 합니다. IAM 사용자에게는 다음 예제 정책에 나온 태스크를 수행할 수 있는 권한이 있어야 합니다.
{ "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" } ] }
서비스 연결 역할
또한 ElastiCache for Valkey 및 Redis OSS Auto Scaling 서비스는 클러스터 및 CloudWatch 경보를 설명할 수 있는 권한과 ElastiCache 대상 용량을 사용자 대신 수정할 수 있는 권한이 필요합니다. 클러스터에 오토 스케일링을 활성화하면 AWSServiceRoleForApplicationAutoScaling_ElastiCacheRG
라는 서비스 연결 역할이 생성됩니다. 이 서비스 연결 역할은 ElastiCache 오토 스케일링에 정책에 대한 경보를 설명하고, 플릿의 현재 용량을 모니터링하고, 플릿의 용량을 수정할 수 있는 권한을 부여합니다. 서비스 연결 역할은 ElastiCache 오토 스케일링의 기본 역할입니다. 자세한 내용은 Application Auto Scaling 사용 설명서의 ElastiCache for Redis OSS Auto Scaling에 대한 서비스 연결 역할을 참조하세요. Auto Scaling
Auto Scaling 모범 사례
Auto Scaling에 등록하기 전에 다음 작업을 수행하는 것이 좋습니다.
-
하나의 추적 지표만 사용 - 클러스터에 CPU 또는 데이터 사용량이 많은 워크로드가 있는지 확인하고 해당하는 사전 정의된 지표를 사용하여 크기 조정 정책을 정의합니다.
-
엔진 CPU:
ElastiCachePrimaryEngineCPUUtilization
(샤드 차원) 또는ElastiCacheReplicaEngineCPUUtilization
(복제본 차원) -
데이터베이스 사용:
ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage
이 크기 조정 정책은 클러스터에서 maxmemory-policy를 noeviction으로 설정한 경우에 가장 잘 작동합니다.
클러스터에서 측정기준당 여러 정책을 사용하지 않는 것이 좋습니다. 대상 추적 정책이 스케일 아웃할 준비가 되면 ElastiCache for Valkey 및 Redis OSS Auto Scaling은 확장 가능 대상을 스케일 아웃하지만 모든 대상 추적 정책(스케일 인 부분이 활성화된 상태)이 스케일 인할 준비가 된 경우에만 스케일 인됩니다. 여러 정책이 조정 가능한 대상에 스케일 아웃 또는 인을 동시에 지시하는 경우 대상은 스케일 인과 스케일 아웃 모두에 대해 가장 큰 용량을 제공하는 정책에 따라 조정합니다.
-
-
대상 추적을 위한 사용자 지정 지표 - Auto Scaling은 정책에 대해 선택한 지표의 변화에 비례하는 스케일 아웃/인에 가장 적합하므로 대상 추적에 사용자 지정 지표를 사용할 경우 주의해야 합니다. 이와 같이 크기 조정 작업에 비례하여 변경되지 않는 지표가 정책 생성에 사용되는 경우 가용성이나 비용에 영향을 줄 수 있는 지속적인 스케일 아웃 또는 스케일 인 작업이 발생할 수 있습니다.
데이터 계층화 클러스터(r6gd 패밀리 인스턴스 유형)의 경우 크기 조정에 메모리 기반 지표를 사용하지 마세요.
-
예약된 조정(Scheduled Scaling) - 워크로드가 결정적인지(특정 시간에 상한/하한에 도달) 확인되면 예약 조정을 사용하고 필요에 따라 대상 용량을 구성하는 것이 좋습니다. 대상 추적은 비결정적 워크로드와 필요한 대상 지표에 따라 더 많은 리소스가 필요할 때 스케일 아웃되고 더 적은 리소스가 필요할 때 스케일 인되는 방식으로 작동하는 클러스터에 가장 적합합니다.
-
스케일 인 사용 중지(Disable Scale-In) - 지표의 급속한 증가/감소는 연속적인 스케일 아웃/인 변동을 트리거할 수 있으므로 대상 추적의 자동 크기 조정은 워크로드가 점진적으로 증가/감소하는 클러스터에 가장 적합합니다. 이러한 변동을 방지하기 위해 스케일 인을 사용 중지한 상태로 시작하고 나중에 언제든지 필요에 따라 수동으로 스케일 인할 수 있습니다.
-
애플리케이션 테스트(Test your application) - 예상 최소/최대 워크로드를 사용하여 애플리케이션을 테스트하여 가용성 문제를 방지하기 위한 조정 정책을 생성하는 동안 클러스터에 필요한 최소, 최대 샤드/복제본의 절대 수를 확인하는 것이 좋습니다. 자동 크기 조정은 대상에 구성된 최대 임계값까지 스케일 아웃하고 최소 임계값까지 스케일 인할 수 있습니다.
-
대상 값 정의(Defining Target Value) - 4주간의 클러스터 사용률에 대한 해당 CloudWatch 지표를 분석하여 대상 값 임계값을 확인할 수 있습니다. 어떤 값을 선택할지 잘 모르는 경우 지원되는 최소 사전 정의 지표 값으로 시작하는 것이 좋습니다.
-
대상 추적의 자동 크기 조정은 샤드/복제본 측정기준에서 워크로드가 균일하게 분산된 클러스터에 가장 적합합니다. 균일하게 분산되지 않으면 다음과 같은 결과가 발생할 수 있습니다.
-
사용량이 많은 몇 개의 샤드/복제본에서 워크로드의 급격한 증가/감소로 인해 필요하지 않을 때 조정이 발생할 수 있습니다.
-
사용량이 많은 샤드/복제본이 있어도 전체 평균이 대상에 가깝기 때문에 필요할 때 조정이 발생하지 않을 수 있습니다.
-
참고
클러스터를 스케일 아웃할 때, ElastiCache는 (임의로 선택된) 기존 노드 중 하나에 로드된 함수를 새 노드에 자동으로 복제합니다. 클러스터에 Valkey 또는 Redis OSS 7.0 이상이 설치되어 있고 애플리케이션이 함수
자동 크기 조정에 등록한 후에는 다음 사항에 주의하세요.
-
자동 크기 조정의 지원되는 구성에 제한이 있으므로 자동 크기 조정에 등록된 복제 그룹의 구성을 변경하지 않는 것이 좋습니다. 예를 들어, 다음과 같습니다.
-
인스턴스 유형을 지원되지 않는 유형으로 수동으로 수정합니다.
-
복제 그룹을 글로벌 데이터 스토어에 연결합니다.
-
ReservedMemoryPercent
파라미터를 변경합니다. -
정책 생성 중에 구성된 최소/최대 용량을 초과하여 샤드/복제본을 수동으로 늘리거나 줄입니다.
-