

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

# 조정 정책 정의
<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으로 클러스터를 등록하고 조정 정책을 정의한 후 등록된 클러스터에 조정 정책을 적용합니다. Valkey 및 Redis OSS용 ElastiCache 클러스터에 조정 정책을 적용하려면 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"
        }
    }
}
```