Amazon Aurora and Application Auto Scaling - Application Auto Scaling
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Amazon Aurora and Application Auto Scaling

You can scale Aurora DB clusters using target tracking scaling policies, step scaling policies, and scheduled scaling.

Use the following information to help you integrate Aurora with Application Auto Scaling.

Service-linked role created for Aurora

The following service-linked role is automatically created in your Amazon Web Services account when registering Aurora resources as scalable targets with Application Auto Scaling. This role allows Application Auto Scaling to perform supported operations within your account. For more information, see Service-linked roles for Application Auto Scaling.

  • AWSServiceRoleForApplicationAutoScaling_RDSCluster

Service principal used by the service-linked role

The service-linked role in the previous section can be assumed only by the service principal authorized by the trust relationships defined for the role. The service-linked role used by Application Auto Scaling grants access to the following service principal:

  • rds.application-autoscaling.amazonaws.com

Registering Aurora DB clusters as scalable targets with Application Auto Scaling

Application Auto Scaling requires a scalable target before you can create scaling policies or scheduled actions for an Aurora cluster. A scalable target is a resource that Application Auto Scaling can scale out and scale in. Scalable targets are uniquely identified by the combination of resource ID, scalable dimension, and namespace.

If you configure auto scaling using the Aurora console, then Aurora automatically registers a scalable target for you.

If you want to configure auto scaling using the Amazon CLI or one of the Amazon SDKs, you can use the following options:

  • Amazon CLI:

    Call the register-scalable-target command for an Aurora cluster. The following example registers the count of Aurora Replicas in a cluster called my-db-cluster, with a minimum capacity of one Aurora Replica and a maximum capacity of eight Aurora Replicas.

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

    If successful, this command returns the ARN of the scalable target.

    { "ScalableTargetARN": "arn:aws-cn:application-autoscaling:region:account-id:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }
  • Amazon SDK:

    Call the RegisterScalableTarget operation and provide ResourceId, ScalableDimension, ServiceNamespace, MinCapacity, and MaxCapacity as parameters.

If you are just getting started with Application Auto Scaling, you can find additional useful information about scaling your Aurora resources in the following documentation:

Using Amazon Aurora Auto Scaling with Aurora replicas in the Amazon RDS User Guide