Aurora 복제본에 Amazon Aurora Auto Scaling 사용 - Amazon Aurora

Aurora 복제본에 Amazon Aurora Auto Scaling 사용

연결 및 워크로드 요구 사항을 충족하기 위해 Aurora Auto Scaling은 Aurora DB 클러스터에 대해 프로비저닝된 Aurora 복제본(리더 DB 인스턴스) 수를 동적으로 조정합니다. Aurora Auto Scaling은 Aurora MySQL 및 Aurora PostgreSQL에 모두 사용 가능합니다. Aurora Auto Scaling은 Aurora DB 클러스터를 활성화하여 연결 또는 워크로드의 갑작스러운 증가를 처리합니다. 연결 또는 워크로드가 감소하면 사용하지 않는 프로비저닝된 DB 인스턴스에 대해 요금을 지불하지 않도록 Aurora Auto Scaling이 불필요한 Aurora 복제본을 제거합니다.

고객은 조정 정책을 정의하고 Aurora DB 클러스터에 적용합니다. 조정 정책은 Aurora Auto Scaling에서 관리할 수 있는 최소 및 최대 Aurora 복제본 수를 정의합니다. 정책을 기반으로 Amazon CloudWatch 지표와 대상 값을 사용하여 결정된 실제 워크로드에 따라 Aurora Auto Scaling이 Aurora 복제본 수를 늘리거나 줄여 조정합니다.

AWS Management Console을 사용하여 미리 정의된 지표를 기반으로 조정 정책을 적용할 수 있습니다. 또는 미리 정의된 지표나 사용자 지정 지표를 기반으로 AWS CLI 또는 Aurora Auto Scaling API를 사용하여 크기 조정 정책을 적용할 수도 있습니다.

시작하기 전에

Aurora Auto Scaling을 Aurora DB 클러스터에 사용하려면 먼저 기본(라이터) DB 인스턴스가 있는 Aurora DB 클러스터를 생성해야 합니다. Aurora DB 클러스터 생성에 대한 자세한 정보는 Amazon Aurora DB 클러스터 생성 단원을 참조하십시오.

DB 클러스터가 복제본이 사용 가능한 상태일 경우에만 Aurora Auto Scaling이 DB 클러스터의 크기를 조정합니다.

Aurora Auto Scaling이 새로운 Aurora 복제본을 추가할 때 새로운 Aurora 복제본은 기본 인스턴스에 사용되는 것과 동일한 DB 인스턴스 클래스입니다. DB 인스턴스 클래스에 대한 자세한 내용은 Aurora DB 인스턴스 클래스 섹션을 참조하십시오. 또한 새 Aurora 복제본을 위한 승격 티어는 우선 순위가 마지막인 기본값 15로 설정됩니다. 즉 장애 조치가 이루어지는 동안 수동으로 생성된 것과 같이 우선 순위가 더 높은 복제본이 먼저 승격됩니다. 자세한 내용은 Aurora DB 클러스터의 내결함성 섹션을 참조하세요.

Aurora Auto Scaling은 자체에서 생성한 Aurora 복제본만 제거합니다.

Aurora Auto Scaling의 이점을 활용하려면 애플리케이션에서 새로운 Aurora 복제본과의 연결을 지원해야 합니다. 이렇게 하려면 Aurora 리더 엔드포인트를 사용하는 것이 좋습니다. Aurora MySQL의 경우 AWS JDBC Driver for MySQL과 같은 드라이버를 사용할 수 있습니다. 자세한 내용은 Amazon Aurora DB 클러스터에 연결 섹션을 참조하세요.

참고

Aurora 글로벌 데이터베이스는 현재 세컨더리 데이터베이스 클러스터에 대해 Aurora Auto Scaling을 지원하지 않습니다.

Aurora Auto Scaling 정책

Aurora Auto Scaling에서는 조정 정책을 사용하여 Aurora DB 클러스터의 Aurora 복제본 수를 조정합니다. Aurora Auto Scaling의 구성 요소는 다음과 같습니다.

  • 서비스 연결 역할

  • 대상 지표

  • 최소 및 최대 용량

  • 휴지 기간

서비스 연결 역할

Aurora Auto Scaling은 AWSServiceRoleForApplicationAutoScaling_RDSCluster 서비스 연결 역할을 사용합니다. 자세한 정보는 Application Auto Scaling 사용 설명서Application Auto Scaling 서비스 연결 역할을 참조하십시오.

대상 지표

이 유형의 정책에서는 미리 정의된 지표나 사용자 지정 지표 및 지표의 대상 값이 대상 추적 조정 정책 구성에 지정됩니다. Aurora Auto Scaling은 조정 정책을 트리거하는 CloudWatch 경보를 생성 및 관리하고 지표와 대상 값을 기준으로 조정 조절을 계산합니다. 조정 정책은 필요에 따라 Aurora 복제본을 추가하거나 제거하여 지표를 지정한 대상 값으로 또는 대상 값에 가깝게 유지합니다. 대상 추적 조정 정책은 지표를 대상 값에 가깝게 유지하는 것 외에도 워크로드 변화로 인한 지표의 변동에 따라 조정되기도 합니다. 이 정책은 DB 클러스터의 사용 가능한 Aurora 복제본 수의 급격한 변동을 최소하기도 합니다.

미리 정의된 평균 CPU 사용률 지표가 사용되는 조정 정책을 예로 든다면, 그러한 정책이 CPU 사용률을 40%의 지정된 사용률(퍼센트)로 또는 그에 가깝게 유지할 수 있습니다.

참고

Aurora DB 클러스터마다 대상 지표에 대해 Auto Scaling 정책을 하나씩만 생성할 수 있습니다.

최소 및 최대 용량

Application Auto Scaling에서 관리할 최대 Aurora 복제본 수를 지정할 수 있습니다. 이 값은 0–15로 설정되어야 하며 최소 Aurora 복제본 수에 대해 지정된 값과 같거나 커야 합니다.

Application Auto Scaling에서 관리할 최소 Aurora 복제본 수를 지정할 수도 있습니다. 이 값은 0–15로 설정되어야 하며 최대 Aurora 복제본 수에 대해 지정된 값과 같거나 작아야 합니다.

참고

Aurora DB 클러스터에 대해 최소 및 최대 용량이 설정됩니다. 지정된 값은 해당 Aurora DB 클러스터와 연관된 모든 정책에 적용됩니다.

휴지 기간

Aurora DB 클러스터의 축소 및 확장에 영향을 미치는 휴지 기간을 추가하여 대상 추적 조정 정책의 응답성을 조정할 수 있습니다. 휴지 기간은 기간이 만료될 때까지 후속 스케일 인 또는 스케일 아웃 요청을 차단합니다. 이 차단으로 인해 축소 요청에 대한 Aurora DB 클러스터의 Aurora 복제본 차단과 확장 요청에 대한 Aurora 복제본 생성 속도가 느려집니다.

다음과 같은 휴지 기간을 지정할 수 있습니다.

  • 축소 활동은 Aurora DB 클러스터에 있는 Aurora 복제본 수를 줄입니다. 스케일 인 휴지 기간은 스케일 인 활동이 완료되고 다른 스케일 인 활동이 시작되기 전의 시간을 초 단위로 지정합니다.

  • 확장 활동은 Aurora DB 클러스터에 있는 Aurora 복제본 수를 늘립니다. 스케일 아웃 휴지 기간은 스케일 아웃 활동이 완료되고 다른 스케일 아웃 활동이 시작되기 전의 시간을 초 단위로 지정합니다.

    참고

    후속 스케일 아웃 요청이 첫 번째 요청보다 많은 Aurora Replica에 대한 요청인 경우 스케일 아웃 휴지 기간은 무시됩니다.

스케일 인 또는 스케일 아웃 휴지 기간을 지정하지 않은 경우 기본값은 각각 300초입니다.

스케일 인 활동 활성화 또는 비활성화

정책의 스케일 인 활동을 활성화하거나 비활성화할 수 있습니다. 축소 활동을 활성화하면 조정 정책을 통해 Aurora 복제본을 삭제할 수 있습니다. 스케일 인 활동이 활성화되면 조정 정책의 스케일 인 휴지 기간이 스케일 인 활동에 적용됩니다. 축소 활동을 비활성화하면 스케일 정책을 통해 Aurora 복제본을 삭제할 수 없습니다.

참고

조정 정책이 필요에 따라 Aurora 복제본을 생성할 수 있도록 확장 활동이 항상 활성화됩니다.

Aurora DB 클러스터에 크기 조정 정책을 추가하는 방법

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 클러스터 크기를 동적으로 조정해야 함을 나타냅니다.

Linux, macOS, 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이라는 파일에 저장된 정책 구성을 사용합니다.

Linux, macOS, 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" } } }

조정 정책 편집

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

AWS Management Console을 사용하여 조정 정책을 편집할 수 있습니다.

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

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

  3. Auto Scaling 정책을 편집할 Aurora DB 클러스터를 선택합니다.

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

  5. Auto scaling policies(Auto Scaling 정책) 섹션에서 Auto Scaling 정책을 선택한 후 편집을 선택합니다.

  6. 정책을 변경합니다.

  7. 저장을 선택합니다.

[Edit Auto Scaling policy] 대화 상자 샘플은 다음과 같습니다.


                        평균 CPU 사용률을 기반으로 Auto Scaling 정책 편집

크기 조정 정책을 적용하는 것과 같은 방식으로 AWS CLI 또는 Application Auto Scaling API를 사용하여 크기 조정 정책을 편집할 수 있습니다.

  • AWS CLI를 사용할 때는 --policy-name 파라미터에서 편집할 정책의 이름을 지정하세요. 변경할 파라미터의 새로운 값을 지정합니다.

  • Application Auto Scaling API를 사용할 때는 PolicyName 파라미터에서 편집하려는 정책의 이름을 지정하세요. 변경할 파라미터의 새로운 값을 지정합니다.

자세한 내용은 Aurora DB 클러스터에 조정 정책 적용 섹션을 참조하세요.

조정 정책 삭제

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

AWS Management Console을 사용하여 조정 정책을 삭제할 수 있습니다.

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

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

  3. Auto Scaling 정책을 삭제할 Aurora DB 클러스터를 선택합니다.

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

  5. Auto scaling policies(Auto Scaling 정책) 섹션에서 Auto Scaling 정책을 선택한 후 삭제를 선택합니다.

Aurora DB 클러스터에서 크기 조정 정책을 삭제하려면 다음 파라미터와 함께 delete-scaling-policy AWS CLI 명령을 사용하세요.

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

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

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

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

다음 예제에서는 myscalablepolicy라는 대상 추적 조정 정책을 myscalablecluster라는 Aurora DB 클러스터에서 삭제합니다.

Linux, macOS, Unix:

aws application-autoscaling delete-scaling-policy \ --policy-name myscalablepolicy \ --resource-id cluster:myscalablecluster \ --service-namespace rds \ --scalable-dimension rds:cluster:ReadReplicaCount \

Windows의 경우:

aws application-autoscaling delete-scaling-policy ^ --policy-name myscalablepolicy ^ --resource-id cluster:myscalablecluster ^ --service-namespace rds ^ --scalable-dimension rds:cluster:ReadReplicaCount ^

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

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

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

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

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

다음 예제에서는 Application Auto Scaling API를 사용하여 myscalablepolicy라는 대상 추적 조정 정책을 myscalablecluster라는 Aurora DB 클러스터에서 삭제합니다.

POST / HTTP/1.1 Host: autoscaling.us-east-2.amazonaws.com Accept-Encoding: identity Content-Length: 219 X-Amz-Target: AnyScaleFrontendService.DeleteScalingPolicy 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" }

DB 인스턴스 ID 및 태그 지정

Aurora Auto Scaling으로 복제본이 추가되면 DB 인스턴스 ID에 application-autoscaling- 접두어가 붙습니다 (예: application-autoscaling-61aabbcc-4e2f-4c65-b620-ab7421abc123).

다음 태그는 DB 인스턴스에 자동으로 추가됩니다. DB 인스턴스 세부 정보 페이지의 Tags 탭에서 확인할 수 있습니다.

Tag
application-autoscaling:resourceId cluster:mynewcluster-cluster

Amazon RDS 리소스 태그에 관한 자세한 내용은 Amazon RDS 리소스에 태그 지정 단원을 참조하십시오.

Aurora Auto Scaling 및 성능 개선 도우미

성능 개선 도우미를 사용하면 다른 Aurora 리더 DB 인스턴스와 마찬가지로 Aurora Auto Scaling에서 추가한 복제본을 모니터링할 수 있습니다.

Aurora DB 클러스터에 대해서는 성능 개선 도우미를 켤 수 없습니다. DB 클러스터 내의 각 DB 인스턴스에 대해 수동으로 성능 개선 도우미를 켤 수 있습니다.

Aurora DB 클러스터의 라이터 DB 인스턴스에 대해 성능 개선 도우미를 켜도 리더 DB 인스턴스에 대해서는 성능 개선 도우미가 자동으로 켜지지 않습니다. 기존 리더 DB 인스턴스와 Aurora Auto Scaling으로 추가된 새 복제본에 대해 성능 개선 도우미를 수동으로 켜야 합니다.

성능 개선 도우미를 사용하여 Aurora DB 클러스터를 모니터링하는 방법에 대한 자세한 내용은 성능 개선 도우미를 통한 Amazon Aurora 모니터링 단원을 참조하세요.