기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
조정 정책 정의
대상 추적 조정 정책 구성은 지표와 대상 값이 정의되어 있는 JSON 블록으로 나타냅니다. 텍스트 파일에 JSON 블록으로 조정 정책 구성을 저장할 수 있습니다. AWS CLI 또는 Application Auto Scaling API를 호출할 때 해당 텍스트 파일을 사용합니다. 정책 구성 구문에 대한 자세한 정보는 Application Auto Scaling API 참조의 TargetTrackingScalingPolicyConfiguration을 참조하세요.
대상 추적 조정 정책 구성을 정의하기 위해 다음과 같은 옵션을 사용할 수 있습니다.
미리 정의된 지표 사용
대상 추적 조정 정책 구성은 지표와 대상 값이 정의되어 있는 JSON 블록으로 나타냅니다. 텍스트 파일에 JSON 블록으로 조정 정책 구성을 저장할 수 있습니다. AWS CLI 또는 Application Auto Scaling API를 호출할 때 해당 텍스트 파일을 사용합니다. 정책 구성 구문에 대한 자세한 정보는 Application Auto Scaling API 참조의 TargetTrackingScalingPolicyConfiguration을 참조하세요.
대상 추적 조정 정책 구성을 정의하기 위해 다음과 같은 옵션을 사용할 수 있습니다.
미리 정의된 지표 사용
사전 정의된 지표를 사용하면 ElastiCache Auto Scaling에서 대상 추적과 함께 작동하는 ElastiCache Auto Scaling. 현재 ElastiCache는 ElastiCache 복제본 오토 스케일링에서 다음과 같이 미리 정의된 지표를 지원합니다.
ElastiCacheReplicaEngineCPUUtilization
– 클러스터의 모든 복제본에 대한 CloudWatch의 EngineCPUUtilization 지표 평균 값입니다. CloudWatch의 집계된 지표 값은 필요한 ReplicationGroupId 및 Role Replica에 대한 ElastiCache ReplicationGroupId, Role
에서 찾을 수 있습니다.
조정 정책에서 미리 정의된 지표를 사용하려면 조정 정책을 위한 대상 추적 구성을 생성합니다. 미리 정의된 지표의 PredefinedMetricSpecification
및 해당 지표의 대상 값에 대한 TargetValue
를 이 구성에 포함해야 합니다.
사용자 지정 지표 사용
사용자 지정 지표를 사용하여 사용자 지정 요구 사항에 맞는 대상 추적 조정 정책을 정의할 수 있습니다. 규모 조정에 따라 변경되는 모든 ElastiCache for Valkey 및 Redis OSS 지표를 기반으로 사용자 지정 지표를 정의할 수 있습니다. 일부 ElastiCache 지표를 대상 추적에 사용할 수 있습니다. 지표는 유효한 사용량 수치로서 인스턴스의 사용량을 설명해야 합니다. 클러스터에 있는 복제본 수에 비례하여 지표 값이 증가하거나 줄어들어야 합니다. 지표 데이터를 사용하여 복제본 수를 비례적으로 늘리거나 줄이려면 이 비례적인 증가나 감소가 필요합니다.
다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 사용자 지정 지표는 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" } }
휴지 기간 사용
ScaleOutCooldown
에 초 단위로 값을 지정하여 클러스터를 확장하기 위한 휴지 기간을 추가할 수 있습니다. 마찬가지로 ScaleInCooldown
에 초 단위로 값을 추가하여 클러스터를 축소하기 위한 휴지 기간을 추가할 수 있습니다. ScaleInCooldown
및 ScaleOutCooldown
에 대한 자세한 내용은 Application Auto Scaling API 참조의 TargetTrackingScalingPolicyConfiguration을 참조하세요. 다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 ElastiCacheReplicaEngineCPUUtilization
미리 정의된 지표는 해당 클러스터의 모든 복제본에서 40%의 평균 CPU 사용률을 기준으로 클러스터를 조정하는 데 사용됩니다. 구성에서는 스케일 인 휴지 기간 10분과 스케일 아웃 휴지 기간 5분을 제공합니다.
{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }
스케일 인 활동 비활성화
축소 활동을 비활성화하여 대상 추적 조정 정책 구성이 ElastiCache for Valkey 및 Redis OSS 클러스터에서 조정되지 않도록 할 수 있습니다. 스케일 인 활동을 비활성화하면 조정 정책에서 필요에 따라 복제본을 추가할 수 있지만 삭제할 수는 없습니다.
DisableScaleIn
에 부울 값을 지정하여 클러스터에 대한 스케일 인 활동을 활성화하거나 비활성화할 수 있습니다. DisableScaleIn
에 대한 자세한 내용은 Application Auto Scaling API 참조의 TargetTrackingScalingPolicyConfiguration을 참조하세요.
다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 ElastiCacheReplicaEngineCPUUtilization
미리 정의된 지표는 해당 클러스터에 있는 모든 복제본에 대해 평균 CPU 사용률 40%를 기반으로 클러스터를 조정합니다. 구성에서는 조정 정책의 스케일 인 활동을 비활성화합니다.
{"TargetValue": 40.0, "PredefinedMetricSpecification": {"PredefinedMetricType": "ElastiCacheReplicaEngineCPUUtilization" }, "DisableScaleIn": true }
Valkey 및 Redis OSS용 ElastiCache 클러스터에 조정 정책 적용
클러스터를 ElastiCache for Valkey 및 Redis OSS Auto Scaling에 등록하고 조정 정책을 정의한 후 등록된 클러스터에 조정 정책을 적용합니다. Valkey 및 Redis OSS용 ElastiCache 클러스터에 조정 정책을 적용하려면 AWS CLI 또는 Application Auto Scaling API를 사용할 수 있습니다.
사용 AWS CLI
Valkey 및 Redis OSS용 ElastiCache 클러스터에 조정 정책을 적용하려면 다음 파라미터와 함께 put-scaling-policy 명령을 사용합니다.
-
--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 – 클러스터에 사용할 대상 추적 조정 정책 구성입니다.
다음 예제에서는 ElastiCache Auto Scaling을 myscalablecluster
사용하여 라는 대상 추적 조정 정책을 라는 클러스터myscalablepolicy
에 적용합니다. 이를 위해 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 Application Auto Scaling API 작업을 다음 파라미터와 함께 사용합니다.
-
PolicyName – 조정 정책의 이름입니다.
-
PolicyType – 이 값을
TargetTrackingScaling
으로 설정합니다. -
ResourceID – 클러스터의 리소스 식별자입니다. 이 파라미터의 경우 리소스 유형은 ReplicationGroup이고 고유 식별자는와 같은 ElastiCache for Redis OSS 클러스터의 이름입니다
replication-group/myscalablecluster
. -
ServiceNamespace - 이 값을 elasticache로 설정합니다.
-
ScalableDimension - 이 값을
elasticache:replication-group:Replicas
로 설정합니다. -
TargetTrackingScalingPolicyConfiguration – 클러스터에 사용할 대상 추적 조정 정책 구성입니다.
다음 예제에서는 ElastiCache Auto Scaling을 myscalablecluster
사용하여 라는 대상 추적 조정 정책을 라는 클러스터scalablepolicy
에 적용합니다. 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" } } }