조정 정책 정의
대상 추적 조정 정책 구성은 지표와 대상 값이 정의되어 있는 JSON 블록으로 나타냅니다. 텍스트 파일에 JSON 블록으로 조정 정책 구성을 저장할 수 있습니다. AWS CLI 또는 Application Auto Scaling API를 호출할 때 이 텍스트 파일을 사용합니다. 정책 구성 구문에 대한 자세한 정보는 Application Auto Scaling API 참조의 TargetTrackingScalingPolicyConfiguration을 참조하세요.
대상 추적 조정 정책 구성을 정의하기 위해 다음과 같은 옵션을 사용할 수 있습니다.
미리 정의된 지표 사용
미리 정의된 지표를 사용하여 ElastiCache Auto Scaling의 대상 추적에서 작동하는 ElastiCache for Valkey 및 Redis OSS 클러스터에 대한 대상 추적 조정 정책을 신속하게 정의할 수 있습니다.
현재 ElastiCache는 NodeGroup 오토 스케일링에서 다음과 같이 미리 정의된 지표를 지원합니다.
-
ElastiCachePrimaryEngineCPUUtilization – 클러스터의 모든 프라이머리 노드에 대한 CloudWatch의
EngineCPUUtilization지표 평균 값입니다. -
ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage – 클러스터의 모든 프라이머리 노드에 대한 CloudWatch의
DatabaseMemoryUsageCountedForEvictPercentage지표 평균 값입니다. -
ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage – 클러스터의 모든 프라이머리 노드에 대한 CloudWatch의
ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage지표 평균 값입니다.
EngineCPUUtilization, DatabaseMemoryUsageCountedForEvictPercentage 및 DatabaseCapacityUsageCountedForEvictPercentage 지표에 대한 자세한 정보는 CloudWatch 지표를 사용한 사용량 모니터링 섹션을 참조하세요. 조정 정책에서 미리 정의된 지표를 사용하려면 조정 정책을 위한 대상 추적 구성을 생성합니다. 미리 정의된 지표의 PredefinedMetricSpecification 및 해당 지표의 대상 값에 대한 TargetValue를 이 구성에 포함해야 합니다.
다음 예제에서는 ElastiCache for Valkey 및 Redis OSS 클러스터의 대상 추적 조정을 위한 일반적인 정책 구성을 설명합니다. 이 구성에서 ElastiCachePrimaryEngineCPUUtilization 미리 정의된 지표는 해당 클러스터에 있는 모든 프라이머리 노드에 대해 평균 CPU 사용률 40%를 기반으로 클러스터를 조정하는 데 사용됩니다.
{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" } }
사용자 지정 지표 사용
사용자 지정 지표를 사용하여 사용자 지정 요구 사항에 맞는 대상 추적 조정 정책을 정의할 수 있습니다. 조정에 따라 변경되는 모든 ElastiCache 지표를 기반으로 사용자 지정 지표를 정의할 수 있습니다. 일부 ElastiCache 지표를 대상 추적에 사용할 수 있습니다. 지표는 유효한 사용량 수치로서 인스턴스의 사용량을 설명해야 합니다. 클러스터에 있는 샤드 수에 따라 지표 값이 증가하거나 줄어들어야 합니다. 지표 데이터를 사용하여 샤드 수를 비례적으로 확장 또는 축소하려면 이 비례적인 증가나 감소가 필요합니다.
다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 사용자 지정 지표는 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" } }
휴지 기간 사용
ScaleOutCooldown에 초 단위로 값을 지정하여 클러스터를 확장하기 위한 휴지 기간을 추가할 수 있습니다. 마찬가지로 ScaleInCooldown에 초 단위로 값을 추가하여 클러스터를 축소하기 위한 휴지 기간을 추가할 수 있습니다. 자세한 내용은 Application Auto Scaling API 참조의 TargetTrackingScalingPolicyConfiguration을 참조하세요.
다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 ElastiCachePrimaryEngineCPUUtilization 미리 정의된 지표는 해당 클러스터에 있는 모든 프라이머리 노드에 대해 평균 CPU 사용률 40%를 기반으로 ElastiCache for Redis OSS 클러스터를 조정하는 데 사용됩니다. 구성에서는 스케일 인 휴지 기간 10분과 스케일 아웃 휴지 기간 5분을 제공합니다.
{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "ElastiCachePrimaryEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }