Amazon Aurora DB 클러스터에 Auto Scaling 정책 추가 - Amazon Aurora

Amazon Aurora DB 클러스터에 Auto Scaling 정책 추가

AWS Management Console, AWS CLI 또는 Application Auto Scaling API를 사용하여 크기 조정 정책을 추가할 수 있습니다.

참고

AWS CloudFormation을 사용하여 크기 조정 정책을 추가하는 예는 AWS CloudFormation 사용 설명서Aurora DB 클러스터의 크기 조정 정책 선언을 참조하세요.

AWS Management Console을 사용하여 크기 조정 정책을 Aurora DB 클러스터에 추가할 수 있습니다.

Aurora DB 클러스터에 Auto Scaling 정책을 추가하려면
  1. AWS Management Console에 로그인한 후 https://console.aws.amazon.com/rds/에서 Amazon RDS 콘솔을 엽니다.

  2. 탐색 창에서 데이터베이스를 선택합니다.

  3. 정책을 추가할 Aurora DB 클러스터를 선택하십시오.

  4. 로그 및 이벤트 탭을 선택합니다.

  5. Auto scaling policies(Auto Scaling 정책) 섹션에서 추가를 선택합니다.

    [Add Auto Scaling policy] 대화 상자가 나타납니다.

  6. Policy Name(정책 이름)에서 정책의 이름을 입력합니다.

  7. 대상 지표로 다음 중 하나를 선택합니다.

    • 평균 CPU 사용률을 기반으로 정책을 생성하려면 Aurora 복제본의 평균 CPU 사용률.

    • Aurora 복제본에 대한 평균 연결 수를 기반으로 정책을 생성하려면 Aurora 복제본의 평균 연결 수.

  8. 대상 값으로 다음 중 하나를 입력합니다.

    • 이전 단계에서 Aurora 복제본의 평균 CPU 사용률을 선택한 경우 Aurora 복제본에 유지하려는 CPU 사용률(퍼센트)을 입력하십시오.

    • 이전 단계에서 Aurora 복제본의 평균 연결을 선택한 경우 유지하려는 연결 수를 입력하십시오.

    Aurora 복제본이 추가되거나 제거되어 지정한 값에 가깝게 지표가 유지됩니다.

  9. (선택 사항) 추가 구성을 열어 스케일 인 또는 스케일 아웃 휴지 기간을 생성합니다.

  10. 최소 용량에 Aurora Auto Scaling 정책에 따라 유지해야 할 최소 Aurora 복제본 수를 입력하십시오.

  11. 최대 용량에 Aurora Auto Scaling 정책에 따라 유지해야 할 최대 Aurora 복제본 수를 입력하십시오.

  12. [Add policy]를 선택합니다.

다음 대화 상자에서 평균 CPU 사용률 40%를 기반으로 Auto Scaling 정책을 생성합니다. 정책은 최소 5개의 Aurora 복제본과 최대 15개의 Aurora 복제본을 지정합니다.

평균 CPU 사용률을 기반으로 Auto Scaling 정책 생성

다음 대화 상자는 평균 연결 수 100을 기반으로 Auto Scaling 정책을 생성합니다. 정책은 최소 2개의 Aurora 복제본과 최대 8개의 Aurora 복제본을 지정합니다.

평균 연결을 기반으로 Auto Scaling 정책 생성

미리 정의된 지표나 사용자 지정 지표를 기반으로 조정 정책을 적용할 수 있습니다. 이를 위해 AWS CLI 또는 Application Auto Scaling API를 사용할 수 있습니다. 첫 단계는 Application Auto Scaling 사용하여 Aurora DB 클러스터를 등록해야 합니다.

Aurora DB 클러스터 등록

Aurora DB 클러스터에 Aurora Auto Scaling을 사용하려면 먼저 Application Auto Scaling을 사용하여 Aurora DB 클러스터를 등록합니다. 그렇게 하려면 해당 클러스터에 적용할 크기 조정 차원 및 한계를 정의합니다. Application Auto Scaling은 Aurora 복제본 수를 나타내는 rds:cluster:ReadReplicaCount 크기 조정 가능한 차원을 따라 Aurora DB 클러스터를 동적으로 크기 조정합니다.

Aurora DB 클러스터를 등록하려면 AWS CLI 또는 Application Auto Scaling API를 사용할 수 있습니다.

AWS CLI

Aurora DB 클러스터를 등록하려면 다음 파라미터와 함께 register-scalable-target AWS CLI명령을 사용하세요.

  • --service-namespace 이 값을 로 설정하십시오.rds

  • --resource-id – Aurora DB 클러스터의 리소스 식별자. 이 파라미터의 경우 리소스 유형은 cluster이고 고유 식별자는 cluster:myscalablecluster와 같은 Aurora DB 클러스터의 이름입니다.

  • --scalable-dimension 이 값을 로 설정하십시오.rds:cluster:ReadReplicaCount

  • --min-capacity – Application Auto Scaling에서 관리하는 최소 리더 DB 인스턴스 수 --min-capacity, --max-capacity 및 클러스터의 DB 인스턴스 수 간의 관계에 대한 자세한 내용은 최소 및 최대 용량 단원을 참조하십시오.

  • --max-capacity – Application Auto Scaling에서 관리하는 최소 리더 DB 인스턴스 수 --min-capacity, --max-capacity 및 클러스터의 DB 인스턴스 수 간의 관계에 대한 자세한 내용은 최소 및 최대 용량 단원을 참조하십시오.

다음 예제에서는 이름이 myscalablecluster인 Aurora DB 클러스터를 등록합니다. 등록은 1개에서 8개까지 Aurora 복제본을 포함하도록 DB 클러스터 크기를 동적으로 조정해야 함을 나타냅니다.

대상 LinuxmacOS, 또는Unix:

aws application-autoscaling register-scalable-target \ --service-namespace rds \ --resource-id cluster:myscalablecluster \ --scalable-dimension rds:cluster:ReadReplicaCount \ --min-capacity 1 \ --max-capacity 8 \

Windows의 경우:

aws application-autoscaling register-scalable-target ^ --service-namespace rds ^ --resource-id cluster:myscalablecluster ^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --min-capacity 1 ^ --max-capacity 8 ^

Application Auto Scaling API

Application Auto Scaling로 Aurora DB 클러스터를 등록하려면 다음 파라미터와 함께 RegisterScalableTarget Application Auto Scaling API 작업을 사용하십시오.

  • ServiceNamespace 이 값을 로 설정하십시오.rds

  • ResourceID – Aurora DB 클러스터의 리소스 식별자. 이 파라미터의 경우 리소스 유형은 cluster이고 고유 식별자는 cluster:myscalablecluster와 같은 Aurora DB 클러스터의 이름입니다.

  • ScalableDimension 이 값을 로 설정하십시오.rds:cluster:ReadReplicaCount

  • MinCapacity – Application Auto Scaling에서 관리하는 최소 리더 DB 인스턴스 수 MinCapacity, MaxCapacity 및 클러스터의 DB 인스턴스 수 간의 관계에 대한 자세한 내용은 최소 및 최대 용량 단원을 참조하십시오.

  • MaxCapacity – Application Auto Scaling에서 관리하는 최소 리더 DB 인스턴스 수 MinCapacity, MaxCapacity 및 클러스터의 DB 인스턴스 수 간의 관계에 대한 자세한 내용은 최소 및 최대 용량 단원을 참조하십시오.

다음 예제에서는 Application Auto Scaling API를 사용하여 이름이 myscalablecluster인 Aurora DB 클러스터를 등록합니다. 이 등록은 1개에서 8개까지 Aurora 복제본을 포함하도록 DB 클러스터 크기를 동적으로 조정해야 함을 나타냅니다.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.RegisterScalableTarget 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 { "ServiceNamespace": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount", "MinCapacity": 1, "MaxCapacity": 8 }

Aurora DB 클러스터에 대한 조정 정책 정의

대상 추적 조정 정책 구성은 지표와 대상 값이 정의되어 있는 JSON 블록으로 나타냅니다. 텍스트 파일에 JSON 블록으로 조정 정책 구성을 저장할 수 있습니다. AWS CLI 또는 Application Auto Scaling API를 호출할 때 이 텍스트 파일을 사용합니다. 정책 구성 구문에 대한 자세한 정보는 Application Auto Scaling API 참조의 TargetTrackingScalingPolicyConfiguration을 참조하세요.

대상 추적 조정 정책 구성을 정의하기 위해 다음과 같은 옵션을 사용할 수 있습니다.

미리 정의된 지표 사용

미리 정의된 지표를 사용하여 Aurora Auto Scaling에서 대상 추적과 동적 조정 둘 다에 원활하게 사용할 수 있는 대상 추적 조정 정책을 Aurora DB 클러스터에 대해 신속하게 정의할 수 있습니다.

현재 Aurora은 Aurora Auto Scaling에서 다음과 같이 미리 정의된 지표를 지원합니다.

  • RDSReaderAverageCPUUtilization – Aurora DB 클러스터에 있는 모든 Aurora 복제본에서 CloudWatch에 있는 CPUUtilization 지표의 평균 값.

  • RDSReaderAverageDatabaseConnections – Aurora DB 클러스터에 있는 모든 Aurora 복제본에서 CloudWatch에 있는 DatabaseConnections 지표의 평균 값.

CPUUtilizationDatabaseConnections 지표에 대한 자세한 정보는 Amazon Aurora에 대한 Amazon CloudWatch 지표 단원을 참조하십시오.

조정 정책에서 미리 정의된 지표를 사용하려면 조정 정책을 위한 대상 추적 구성을 생성합니다. 미리 정의된 지표의 PredefinedMetricSpecification 및 해당 지표의 대상 값에 대한 TargetValue를 이 구성에 포함해야 합니다.

다음 예제에서는 Aurora DB 클러스터의 대상 추적 조정을 위한 일반적인 정책 구성을 설명합니다. 이 구성에서 RDSReaderAverageCPUUtilization 미리 정의된 지표는 모든 Aurora 복제본에 대해 평균 CPU 사용률 40%를 기반으로 Aurora DB 클러스터를 조정합니다.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } }

사용자 지정 지표 사용

사용자 지정 지표를 사용하여 사용자 지정 요구 사항에 맞는 대상 추적 조정 정책을 정의할 수 있습니다. 조정에 따라 변경되는 모든 Aurora 지표를 기반으로 사용자 지정 지표를 정의할 수 있습니다.

모든 Aurora 지표를 대상 추적에 사용할 수 있는 것은 아닙니다. 측정치는 유효한 사용량 수치로서 인스턴스의 사용량을 설명해야 합니다. Aurora DB 클러스터에 있는 Aurora 복제본 수에 따라 지표 값이 증가하거나 줄어들어야 합니다. 지표 데이터를 사용하여 Aurora 복제본 수를 비례적으로 확장 또는 축소하려면 이 비례적인 증가나 감소가 필요합니다.

다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 사용자 지정 지표는 my-db-cluster라는 Aurora DB 클러스터의 모든 Aurora 복제본에 대해 평균 CPU 사용률 50%를 기반으로 Aurora DB 클러스터를 조정합니다.

{ "TargetValue": 50, "CustomizedMetricSpecification": { "MetricName": "CPUUtilization", "Namespace": "AWS/RDS", "Dimensions": [ {"Name": "DBClusterIdentifier","Value": "my-db-cluster"}, {"Name": "Role","Value": "READER"} ], "Statistic": "Average", "Unit": "Percent" } }

휴지 기간 사용

ScaleOutCooldown에 초 단위로 값을 지정하여 Aurora DB 클러스터를 확장하기 위한 휴지 기간을 추가할 수 있습니다. 마찬가지로 ScaleInCooldown에 초 단위로 값을 추가하여 Aurora DB 클러스터를 축소하기 위한 휴지 기간을 추가할 수 있습니다. ScaleInCooldownScaleOutCooldown에 대한 자세한 정보는 Application Auto Scaling API 참조TargetTrackingScalingPolicyConfiguration을 참조하십시오.

다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 RDSReaderAverageCPUUtilization 사전 정의 지표는 해당 Aurora DB 클러스터에 있는 모든 Aurora 복제본에 대해 평균 CPU 사용률 40%를 기반으로 Aurora DB 클러스터를 조정합니다. 구성에서는 스케일 인 휴지 기간 10분과 스케일 아웃 휴지 기간 5분을 제공합니다.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }

스케일 인 활동 비활성화

축소 활동을 비활성화하여 대상 추적 조정 정책 구성에서 Aurora DB 클러스터를 축소하지 않도록 할 수 있습니다. 축소 활동을 비활성화하면 조정 정책에서 필요에 따라 Aurora 복제본을 생성할 수 있지만 삭제할 수는 없습니다.

DisableScaleIn에 부울 값을 지정하여 Aurora DB 클러스터에 대한 축소 활동을 활성화하거나 비활성화할 수 있습니다. DisableScaleIn에 대한 자세한 정보는 Application Auto Scaling API 참조TargetTrackingScalingPolicyConfiguration을 참조하십시오.

다음 예제에서는 조정 정책의 대상 추적 구성을 설명합니다. 이 구성에서 RDSReaderAverageCPUUtilization 미리 정의된 지표는 해당 Aurora DB 클러스터에 있는 모든 Aurora 복제본에 대해 평균 CPU 사용률 40%를 기반으로 Aurora DB 클러스터를 조정합니다. 구성에서는 조정 정책의 스케일 인 활동을 비활성화합니다.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "DisableScaleIn": true }

Aurora DB 클러스터에 조정 정책 적용

Application Auto Scaling으로 Aurora DB 클러스터를 등록하고 조정 정책을 삭제한 후 등록된 Aurora DB 클러스터에 조정 정책을 적용합니다. 크기 조정 정책을 Aurora DB 클러스터에 적용하려면 AWS CLI 또는 Application Auto Scaling API를 사용할 수 있습니다.

크기 조정 정책을 Aurora DB 클러스터에 적용하려면 put-scaling-policyAWS CLI 명령을 다음 파라미터와 함께 사용합니다.

  • --policy-name – 조정 정책의 이름입니다.

  • --policy-type 이 값을 로 설정하십시오.TargetTrackingScaling

  • --resource-id – Aurora DB 클러스터의 리소스 식별자. 이 파라미터의 경우 리소스 유형은 cluster이고 고유 식별자는 cluster:myscalablecluster와 같은 Aurora DB 클러스터의 이름입니다.

  • --service-namespace 이 값을 로 설정하십시오.rds

  • --scalable-dimension 이 값을 로 설정하십시오.rds:cluster:ReadReplicaCount

  • --target-tracking-scaling-policy-configuration – Aurora DB 클러스터에 사용할 대상 추적 조정 정책 구성입니다.

다음 예제에서는 Application Auto Scaling를 사용하여 myscalablepolicy라는 대상 추적 조정 정책을 myscalablecluster라는 Aurora DB 클러스터에 적용합니다. 이를 위해 config.json이라는 파일에 저장된 정책 구성을 사용합니다.

대상 LinuxmacOS, 또는Unix:

aws application-autoscaling put-scaling-policy \ --policy-name myscalablepolicy \ --policy-type TargetTrackingScaling \ --resource-id cluster:myscalablecluster \ --service-namespace rds \ --scalable-dimension rds:cluster:ReadReplicaCount \ --target-tracking-scaling-policy-configuration file://config.json

Windows의 경우:

aws application-autoscaling put-scaling-policy ^ --policy-name myscalablepolicy ^ --policy-type TargetTrackingScaling ^ --resource-id cluster:myscalablecluster ^ --service-namespace rds ^ --scalable-dimension rds:cluster:ReadReplicaCount ^ --target-tracking-scaling-policy-configuration file://config.json

Application Auto Scaling API를 사용하여 Aurora DB 클러스터에 조정 정책을 적용하려면 다음 파라미터와 함께 PutScalingPolicy Application Auto Scaling API 작업을 사용하십시오.

  • PolicyName – 조정 정책의 이름입니다.

  • ServiceNamespace 이 값을 로 설정하십시오.rds

  • ResourceID – Aurora DB 클러스터의 리소스 식별자. 이 파라미터의 경우 리소스 유형은 cluster이고 고유 식별자는 cluster:myscalablecluster와 같은 Aurora DB 클러스터의 이름입니다.

  • ScalableDimension 이 값을 로 설정하십시오.rds:cluster:ReadReplicaCount

  • PolicyType 이 값을 로 설정하십시오.TargetTrackingScaling

  • TargetTrackingScalingPolicyConfiguration – Aurora DB 클러스터에 사용할 대상 추적 조정 정책 구성입니다.

다음 예제에서는 Application Auto Scaling를 사용하여 myscalablepolicy라는 대상 추적 조정 정책을 myscalablecluster라는 Aurora DB 클러스터에 적용합니다. RDSReaderAverageCPUUtilization 사전 정의 지표를 기반으로 하는 정책 구성을 사용합니다.

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": "rds", "ResourceId": "cluster:myscalablecluster", "ScalableDimension": "rds:cluster:ReadReplicaCount", "PolicyType": "TargetTrackingScaling", "TargetTrackingScalingPolicyConfiguration": { "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } } }