기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Auto Scaling Valkey 및 Redis OSS 클러스터
사전 조건
ElastiCache Auto Scaling은 다음으로 제한됩니다.
-
Valkey 7.2 이상을 실행하거나 Redis OSS6.0 이상을 실행하는 Valkey 또는 RedisOSS(클러스터 모드 활성화됨) 클러스터
-
Valkey 7.2 이상을 실행하거나 Redis 7.0.OSS7 이상을 실행하는 데이터 계층화(클러스터 모드 활성화됨) 클러스터
-
인스턴스 크기 - 대형, XLarge, 2XLarge
-
인스턴스 유형 패밀리 - R7g, R6g, R6gd, R5, M7g, M6g, M5, C7gn
-
의 Auto Scaling ElastiCache 은 글로벌 데이터 스토어, Outpost 또는 로컬 영역에서 실행되는 클러스터에는 지원되지 않습니다.
Valkey 또는 Redis를 사용한 ElastiCache Auto Scaling으로 용량 자동 관리 OSS
ElastiCache Valkey 또는 Redis를 사용한 Auto ScalingOSS은 ElastiCache 서비스에서 원하는 샤드 또는 복제본을 자동으로 늘리거나 줄이는 기능입니다.는 Application Auto Scaling 서비스를 ElastiCache 활용하여이 기능을 제공합니다. 자세한 내용은 Application Auto Scaling 섹션을 참조하세요. 자동 조정을 사용하려면 할당한 CloudWatch 지표와 대상 값을 사용하는 조정 정책을 정의하고 적용합니다. ElastiCache 자동 조정은 정책을 사용하여 실제 워크로드에 대한 응답으로 인스턴스 수를 늘리거나 줄입니다.
AWS Management Console 를 사용하여 사전 정의된 지표를 기반으로 조정 정책을 적용할 수 있습니다. predefined metric
이 열거 형식으로 정의되어 이를 코드의 이름별로 지정하거나 AWS Management Console에서 사용할 수 있습니다. AWS Management Console을 사용하여 선택하는 경우에는 사용자 지정 지표를 사용할 수 없습니다. 또는 AWS CLI 또는 Application Auto ScalingAPI을 사용하여 사전 정의 또는 사용자 지정 지표를 기반으로 조정 정책을 적용할 수 있습니다.
ElastiCache for Valkey 및 Redis는 다음 차원에 대한 조정을 OSS 지원합니다.
-
샤드 - 수동 온라인 리샤딩과 유사하게 클러스터에서 샤드를 자동으로 추가/제거합니다. 이 경우 ElastiCache Auto Scaling은 사용자를 대신하여 조정을 트리거합니다.
-
복제본 - 클러스터의 모든 샤드에서 자동으로 add/remove replicas in the cluster similar to manual Increase/Decrease replica operations. ElastiCache auto scaling for Valkey and Redis OSS adds/removes 균일하게 복제됩니다.
ElastiCache for Valkey 및 Redis는 다음과 같은 유형의 자동 조정 정책을 OSS 지원합니다.
-
대상 추적 조정 정책 - 특정 지표에 대한 대상 값을 기준으로 서비스가 실행하는 샤드/복제본의 수를 늘리거나 줄입니다. 이 과정은 온도 조절기를 사용하여 집안 온도를 유지하는 방법과 비슷합니다. 사용자가 온도를 선택하면 나머지는 모두 온도 조절기에서 자동으로 수행됩니다.
-
애플리케이션의 예약된 조정. - Valkey 및 Redis OSS Auto Scaling의 ElastiCache 경우 서비스가 날짜 및 시간에 따라 실행되는 샤드/복제본 수를 늘리거나 줄일 수 있습니다.
다음 단계에서는 이전 다이어그램과 같이 ElastiCache Valkey 및 Redis OSS Auto Scaling 프로세스를 요약합니다.
-
복제 그룹에 대한 ElastiCache Auto Scaling 정책을 생성합니다.
-
ElastiCache Auto Scaling은 사용자를 대신하여 한 쌍의 CloudWatch 경보를 생성합니다. 각 쌍은 지표의 상한값과 하한값을 나타냅니다. 이러한 CloudWatch 경보는 클러스터의 실제 사용률이 일정 기간 동안 목표 사용률에서 벗어나면 트리거됩니다. 콘솔에서 경보를 볼 수 있습니다.
-
구성된 지표 값이 특정 시간 동안 목표 사용률을 초과(또는 목표 미만으로)하면는 Auto Scaling을 호출하여 조정 정책을 평가하는 경보를 CloudWatch 트리거합니다.
-
ElastiCache Auto Scaling은 클러스터 용량을 조정하기 위한 수정 요청을 실행합니다.
-
ElastiCache 는 수정 요청을 처리하여 클러스터 샤드/복제본 용량을 동적으로 증가(또는 감소)하여 대상 사용률에 도달합니다.
ElastiCache Auto Scaling의 작동 방식을 이해하려면 라는 클러스터가 있다고 가정합니다UsersCluster
. 에 대한 CloudWatch 지표를 모니터링하여 트래픽이 피크에 있을 때 클러스터에 필요한 최대 샤드와 트래픽이 가장 낮은 지점에 있을 때 필요한 최소 샤드를 UsersCluster
결정합니다. 또한 UsersCluster
클러스터의 CPU 사용률에 대한 대상 값을 결정합니다. ElastiCache Auto ScalingUsersCluster
은 대상 추적 알고리즘을 사용하여의 프로비저닝된 샤드가 필요에 따라 조정되도록 하여 사용률이 대상 값과 같거나 가까운 상태를 유지하도록 합니다.
참고
크기 조정에는 상당한 시간이 걸릴 수 있으며 샤드가 리밸런싱되려면 추가 클러스터 리소스가 필요합니다. ElastiCache Auto Scaling은 실제 워크로드가 몇 분 동안 상승(또는 우울)된 상태로 유지되는 경우에만 리소스 설정을 수정합니다. 오토 스케일링의 목표 추적 알고리즘은 목표 사용률을 장기적으로 사용자가 선택한 값 안팎으로 유지되도록 합니다.
IAM Auto Scaling에 필요한 권한
ElastiCache 용 Valkey 및 Redis OSS Auto Scaling은 ElastiCache CloudWatch, 및 Application Auto Scaling의 조합을 통해 가능합니다APIs. 클러스터는 로 생성 및 업데이트되고 ElastiCache, 경보는 로 생성되며 CloudWatch, 조정 정책은 Application Auto Scaling으로 생성됩니다. 클러스터 생성 및 업데이트에 대한 표준 IAM 권한 외에도 ElastiCache Auto Scaling 설정에 액세스하는 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 Auto Scaling의 기본 역할입니다. 자세한 내용은 Application Auto Scaling 사용 설명서의 Redis OSS Auto Scaling에 ElastiCache 대한 서비스 연결 역할을 참조하세요. Auto Scaling
Auto Scaling 모범 사례
Auto Scaling에 등록하기 전에 다음 작업을 수행하는 것이 좋습니다.
-
하나의 추적 지표만 사용 - 클러스터에 CPU 또는 데이터 집약적 워크로드가 있는지 식별하고 해당하는 사전 정의된 지표를 사용하여 조정 정책을 정의합니다.
-
엔진CPU:
ElastiCachePrimaryEngineCPUUtilization
(샤드 차원) 또는ElastiCacheReplicaEngineCPUUtilization
(복제 차원) -
데이터베이스 사용:
ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage
이 크기 조정 정책은 클러스터에서 maxmemory-policy를 noeviction으로 설정한 경우에 가장 잘 작동합니다.
클러스터의 차원당 여러 정책을 사용하지 않는 것이 좋습니다. ElastiCache 대상 추적 정책이 스케일 아웃될 준비가 되면 Valkey 및 Redis OSS Auto Scaling이 확장 가능 대상을 스케일 아웃하지만 모든 대상 추적 정책( 스케일 인 부분이 활성화된 상태)이 스케일 인할 준비가 된 경우에만 스케일 인됩니다. 여러 정책이 조정 가능한 대상에 스케일 아웃 또는 인을 동시에 지시하는 경우 대상은 스케일 인과 스케일 아웃 모두에 대해 가장 큰 용량을 제공하는 정책에 따라 조정합니다.
-
-
대상 추적을 위한 사용자 지정 지표 - Auto Scaling은 정책에 대해 선택한 지표의 변화에 비례하는 스케일 아웃/인에 가장 적합하므로 대상 추적에 사용자 지정 지표를 사용할 경우 주의해야 합니다. 이와 같이 크기 조정 작업에 비례하여 변경되지 않는 지표가 정책 생성에 사용되는 경우 가용성이나 비용에 영향을 줄 수 있는 지속적인 스케일 아웃 또는 스케일 인 작업이 발생할 수 있습니다.
데이터 계층화 클러스터(r6gd 패밀리 인스턴스 유형)의 경우 크기 조정에 메모리 기반 지표를 사용하지 마세요.
-
예약된 조정(Scheduled Scaling) - 워크로드가 결정적인지(특정 시간에 상한/하한에 도달) 확인되면 예약 조정을 사용하고 필요에 따라 대상 용량을 구성하는 것이 좋습니다. 대상 추적은 비결정적 워크로드와 필요한 대상 지표에 따라 더 많은 리소스가 필요할 때 스케일 아웃되고 더 적은 리소스가 필요할 때 스케일 인되는 방식으로 작동하는 클러스터에 가장 적합합니다.
-
스케일 인 비활성화 - 대상 추적의 Auto Scaling은 점진적 진동이 있는 클러스터에 가장 적합합니다. increase/decrease of workloads as spikes/dip in metrics can trigger consecutive scale-out/in 이러한 변동을 방지하기 위해 스케일 인을 사용 중지한 상태로 시작하고 나중에 언제든지 필요에 따라 수동으로 스케일 인할 수 있습니다.
-
애플리케이션 테스트 - 가용성 문제를 방지하기 위해 스케일링 정책을 생성하는 동안 클러스터에 Min/Max workloads to determine absolute Min,Max shards/replicas 필요한 예상 로 애플리케이션을 테스트하는 것이 좋습니다. 자동 크기 조정은 대상에 구성된 최대 임계값까지 스케일 아웃하고 최소 임계값까지 스케일 인할 수 있습니다.
-
목표 값 정의 - 4주 기간 동안 클러스터 사용률에 대한 해당 CloudWatch 지표를 분석하여 목표 값 임계값을 결정할 수 있습니다. 어떤 값을 선택할지 잘 모르는 경우 지원되는 최소 사전 정의 지표 값으로 시작하는 것이 좋습니다.
-
AutoScaling 대상 추적의는 샤드/복제본 차원에 워크로드가 균일하게 분산된 클러스터에 가장 적합합니다. 균일하게 분산되지 않으면 다음과 같은 결과가 발생할 수 있습니다.
-
워크로드 로 인해 필요하지 않은 경우 조정spike/dip on a few hot shards/replicas.
-
사용량이 많은 샤드/복제본이 있어도 전체 평균이 대상에 가깝기 때문에 필요할 때 조정이 발생하지 않을 수 있습니다.
-
참고
클러스터를 확장할 때 ElastiCache 는 기존 노드(임의로 선택됨) 중 하나에 로드된 함수를 새 노드(들)에 자동으로 복제합니다. 클러스터에 Valkey 또는 Redis OSS 7.0 이상이 있고 애플리케이션에서 함수
에 등록한 후 다음 사항에 AutoScaling유의하세요.
-
자동 크기 조정의 지원되는 구성에 제한이 있으므로 자동 크기 조정에 등록된 복제 그룹의 구성을 변경하지 않는 것이 좋습니다. 예를 들어, 다음과 같습니다.
-
인스턴스 유형을 지원되지 않는 유형으로 수동으로 수정합니다.
-
복제 그룹을 글로벌 데이터 스토어에 연결합니다.
-
ReservedMemoryPercent
파라미터를 변경합니다. -
정책 생성 중에 구성된 수동 increasing/decreasing shards/replicas beyond the Min/Max 용량입니다.
-