Usar o Amazon Aurora Auto Scaling com réplicas do Aurora - Amazon Aurora

Usar o Amazon Aurora Auto Scaling com réplicas do Aurora

Para atender aos requisitos de conectividade e de workload, a autoescalabilidade do Aurora ajusta dinamicamente o número de réplicas do Aurora (instâncias de banco de dados do leitor) provisionadas para um cluster de banco de dados Aurora. O Auto Scaling do Aurora está disponível para ambos Aurora MySQL e Aurora PostgreSQL. O Auto Scaling do Aurora permite que o cluster de banco de dados Aurora processe aumentos repentinos de conectividade ou de workload. Quando a conectividade ou a workload diminui, o Auto Scaling do Aurora elimina as réplicas desnecessárias do Aurora para que você não pague por instâncias de banco de dados provisionadas não usadas.

Você define e aplica as políticas de escalabilidade do Aurora para um cluster de banco de dados. A política de escalabilidade define o número mínimo e máximo de réplicas do Aurora que o Auto Scaling do Aurora pode gerenciar. Com base nas políticas, o Auto Scaling do Aurora ajusta o número de réplicas do Aurora para mais ou para menos em resposta às workloads reais, usando as métricas e valores de destino do Amazon CloudWatch.

Você pode usar o AWS Management Console para uma política de escalabilidade com base em uma métrica predefinida. Se preferir, você pode usar a AWS CLI ou a API do Auto Scaling do Aurora para aplicar uma política de escalabilidade com base em uma métrica predefinida ou personalizada.

Antes de começar

Para usar o Aurora Auto Scaling com um cluster de banco de dados do Aurora, você deve primeiro criar um cluster de banco de dados do Aurora com uma instância de banco de dados (gravação) primária. Para ter mais informações sobre como criar um cluster de banco de dados Aurora, consulte Criar um cluster de bancos de dados do Amazon Aurora.

O Aurora Auto Scaling só dimensionará um cluster de banco de dados se o cluster de banco de dados estiver no estado disponível.

Quando o Auto Scaling do Aurora adicionar uma nova réplica do Aurora, a nova réplica do Aurora será da mesma classe de instância de banco de dados que a usada pela instância principal. Para mais informações sobre classes de instância de banco de dados, consulte Classes de instância de banco de dados Aurora. Além disso, o nível de promoção para novas réplicas do Aurora está definido como a última prioridade, que é 15 por padrão. Isso significa que, durante um failover, uma réplica com uma prioridade maior, como uma criada manualmente, será promovida primeiro. Para ter mais informações, consulte Tolerância a falhas para um cluster de banco de dados do Aurora.

O Auto Scaling do Aurora remove somente as réplicas do Aurora que ele criou.

Para que se beneficiem do Auto Scaling do Aurora, seus aplicativos devem oferecer suporte a conexões com as novas réplicas do Aurora. Para fazer isso, recomendamos usar o endpoint do leitor do Aurora. Para o Aurora MySQL você pode usar um driver, como o AWS Driver JDBC para MySQL. Para ter mais informações, consulte Como conectar-se a um cluster de bancos de dados Amazon Aurora.

nota

No momento, os bancos de dados globais Aurora não oferecem suporte ao Aurora Auto Scaling para clusters de banco de dados secundários.

Políticas de Auto Scaling do Aurora

O Auto Scaling do Aurora usa uma política de escalabilidade para ajustar o número de réplicas do Aurora em um cluster de banco de dados Aurora. O Aurora Auto Scaling tem os seguintes componentes:

  • Uma função vinculada a serviços

  • Uma métrica de destino

  • Capacidades mínima e máxima

  • Um desaquecimento

Função vinculada ao serviço

O Auto Scaling do Aurora usa a função vinculada ao serviço AWSServiceRoleForApplicationAutoScaling_RDSCluster. Para ter mais informações, consulte Funções vinculadas a serviço do Application Auto Scaling, no Guia do usuário do Application Auto Scaling.

Métrica de destino

Neste tipo de política, uma métrica predefinida ou personalizada e um valor de destino dessa métrica são especificados na configuração de uma política de escalabilidade de rastreamento de destino. O Auto Scaling do Aurora cria e gerencia os alarmes do CloudWatch que acionam a política de escalabilidade e calculam o ajuste de escalabilidade com base na métrica e no valor de destino. A política de escalabilidade adiciona ou remove réplicas do Aurora conforme necessário para manter a métrica no valor de destino especificado ou próxima a ele. Além de manter a métrica próxima ao valor de destino, uma política de escalabilidade de rastreamento de destino também se ajusta às flutuações na métrica, devido a workloads variáveis. Essas políticas também minimizam flutuações rápidas no número de réplicas do Aurora disponíveis para seu cluster de banco de dados.

Por exemplo, considere uma política de escalabilidade que use a métrica predefinida de utilização média da CPU. Essa política pode manter a utilização da CPU a uma porcentagem específica de utilização específica, por exemplo, 40 por cento ou próxima disso.

nota

Para cada cluster de banco de dados Aurora, você pode criar somente uma política de Auto Scaling para cada métrica de destino.

Capacidades mínima e máxima

Você pode especificar o número máximo de réplicas do Aurora a serem gerenciadas pelo Application Auto Scaling. Este valor deve ser definido entre 0 – 15, e deve ser igual ou maior que o valor especificado para o número mínimo de réplicas do Aurora.

Você também pode especificar o número mínimo de réplicas do Aurora a serem gerenciadas pelo Application Auto Scaling. Este valor deve ser definido entre 0 – 15, e deve ser igual ou menor que o valor especificado para o número máximo de réplicas do Aurora.

nota

A capacidade mínima e máxima são definidas para um cluster de banco de dados Aurora. Os valores especificados se aplicam a todas as políticas associadas a um cluster de banco de dados Aurora.

Desaquecimento

Você pode ajustar a responsividade das políticas de escalabilidade de rastreamento de destino, adicionando desaquecimentos que afetam a escalabilidade de seu cluster de banco de dados Aurora pra mais ou para menos. Um desaquecimento bloqueia solicitações subsequentes de redução ou expansão até o período expirar. Esses blocos retardam as exclusões de réplicas do Aurora em seu cluster de banco de dados Aurora para solicitações de redução e a criação de réplicas do Aurora para solicitações de expansão.

Você pode especificar os seguintes desaquecimentos:

  • A atividade de redução diminui o número de réplicas do Aurora em seu cluster de banco de dados Aurora. Um desaquecimento de redução especifica a quantidade de tempo, em segundos, após a conclusão de uma ação de redução antes que quaisquer outras atividades de redução possam iniciar.

  • A atividade de expansão aumenta o número de réplicas do Aurora em seu cluster de banco de dados Aurora. Um desaquecimento de expansão especifica a quantidade de tempo, em segundos, após a conclusão de uma ação de expansão antes que quaisquer outras atividades de expansão possam iniciar.

    nota

    Um período de esfriamento de aumento da escala horizontalmente será ignorado se uma solicitação subsequente para aumentar a escala horizontalmente for para um número maior de réplicas do Aurora do que o da primeira solicitação.

Se você não especificar um período de esfriamento de aumento ou redução da escala horizontalmente, o padrão para cada um será de 300 segundos.

Habilitar ou desabilitar atividades de redução

Você pode habilitar ou desabilitar atividades de redução para as políticas. Habilitar atividades de redução permite que as políticas de escalabilidade excluam réplicas do Aurora. Quando as atividades de redução são habilitadas, o desaquecimento de redução na política de escalabilidade aplica-se a atividades de redução. Desabilitar atividades de redução evita que as políticas de escalabilidade excluam réplicas do Aurora.

nota

As atividades de expansão são habilitadas para que a política de escalabilidade possa criar réplicas do Aurora, conforme necessário.

Adicionar uma política de escalabilidade a um cluster de banco de dados do Aurora

Você pode adicionar uma política de escalabilidade usando o AWS Management Console, a AWS CLI ou a API do Application Auto Scaling.

nota

Para obter um exemplo que adiciona uma política de escalabilidade usando o AWS CloudFormation, consulte Declaring a scaling policy for an Aurora DB cluster (Declarar uma política de escalabilidade para um cluster de banco de dados Aurora) no Guia do usuário do AWS CloudFormation.

Você pode adicionar uma política de escalabilidade a um cluster de banco de dados Aurora usando o AWS Management Console.

Como adicionar uma política do Auto Scaling a um cluster de banco de dados Aurora
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Databases (Bancos de dados).

  3. Escolha o cluster de banco de dados Aurora ao qual você deseja adicionar a política.

  4. Escolha a guia Logs & events (Logs e eventos).

  5. Na seção Auto scaling policies (Políticas do Auto Scaling), selecione Add (Adicionar).

    A caixa de diálogo Add Auto Scaling policy (Adicionar política de Auto Scaling) será exibida.

  6. Em Policy Name (Nome da política), digite o nome da política.

  7. Quanto à métrica de destino, escolha uma das seguintes opções:

    • Average CPU utilization of Aurora Replicas (Utilização média da CPU de réplicas do Aurora) para criar uma política com base na utilização média da CPU.

    • Average connections of Aurora Replicas (Média de conexões de réplicas do Aurora) para criar uma política com base no número médio de conexões com réplicas do Aurora.

  8. Quanto ao valor de destino, digite uma das seguintes opções:

    • Se você escolheu Average CPU utilization of Aurora Replicas (Utilização média da CPU de réplicas do Aurora) na etapa anterior, digite a porcentagem de utilização da CPU que você deseja manter nas réplicas do Aurora.

    • Se você escolheu Average connections of Aurora Replicas (Média de conexões de réplicas do Aurora) na etapa anterior, digite o número de conexões que você deseja manter.

    As réplicas do Aurora serão adicionadas ou removidas por manter a métrica próxima ao valor especificado.

  9. (Opcional) Expanda Additional Configuration (Configuração adicional) para criar um período de esfriamento de redução ou aumento da escala horizontalmente.

  10. Em Minimum capacity (Capacidade mínima), digite o número mínimo de réplicas do Aurora que a política de Auto Scaling do Aurora precisa manter.

  11. Em Maximum capacity (Capacidade máxima), digite o número máximo de réplicas do Aurora que a política de Auto Scaling do Aurora precisa manter.

  12. Escolha Add policy.

A caixa de diálogo a seguir cria uma política de Auto Scaling com base na utilização média da CPU em 40 por cento. A política especifica um mínimo de 5 réplicas do Aurora e o máximo 15 réplicas do Aurora.


                        Criação de uma política do Auto Scaling baseada na utilização média da CPU

A caixa de diálogo a seguir cria uma política do Auto Scaling com base no número médio de 100 conexões. A política especifica um mínimo de duas réplicas do Aurora e o máximo oito réplicas do Aurora.


                        Criação de uma política de Auto Scaling baseada na média de conexões

Você pode aplicar uma política de escalabilidade com base em uma métrica predefinida ou personalizada. Para fazer isso, você pode usar a AWS CLI ou a API do Application Auto Scaling. A primeira etapa é registrar seu cluster de banco de dados Aurora no Application Auto Scaling.

Registro de um cluster de banco de dados Aurora

Antes de usar o Auto Scaling do Aurora com um cluster de banco de dados Aurora, você deve registrar seu cluster de banco de dados Aurora no Application Auto Scaling. Faça isso para definir a dimensão de escalabilidade e os limites a serem aplicados no cluster. O Application Auto Scaling escala dinamicamente o cluster de banco de dados Aurora ao longo da dimensão escalável rds:cluster:ReadReplicaCount, que representa o número de réplicas do Aurora.

Para registrar seu cluster de banco de dados Aurora, você pode usar a AWS CLI ou a API do Application Auto Scaling.

AWS CLI

Para registrar seu cluster de banco de dados Aurora, use o comando register-scalable-target da AWS CLI com os seguintes parâmetros:

  • --service-namespace – Defina este valor como rds.

  • --resource-id – o identificador do recurso para o cluster de banco de dados Aurora. Para este parâmetro, o tipo de recurso é cluster e o identificador exclusivo é nome do cluster de banco de dados Aurora, por exemplo cluster:myscalablecluster.

  • --scalable-dimension – Defina este valor como rds:cluster:ReadReplicaCount.

  • --min-capacity – o número mínimo de instâncias de banco de dados de leitura a serem gerenciadas pelo Application Auto Scaling. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de instâncias de banco de dados no cluster, consulte Capacidades mínima e máxima.

  • --max-capacity – o número máximo de instâncias de banco de dados de leitura a serem gerenciadas pelo Application Auto Scaling. Para obter informações sobre a relação entre --min-capacity, --max-capacity e o número de instâncias de banco de dados no cluster, consulte Capacidades mínima e máxima.

No exemplo a seguir, registre um cluster de banco de dados Aurora chamado myscalablecluster. O registro indica que o cluster de banco de dados deve ser escalado dinamicamente para ter de uma a oito réplicas do Aurora.

Para Linux, macOS ou 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 \

Para 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 ^
API do Application Auto Scaling

Para registrar seu cluster de banco de dados Aurora no Application Auto Scaling, use a operação RegisterScalableTarget da API do Application Auto Scaling com os seguintes parâmetros:

  • ServiceNamespace – Defina este valor como rds.

  • ResourceID – o identificador do recurso para o cluster de banco de dados Aurora. Para este parâmetro, o tipo de recurso é cluster e o identificador exclusivo é nome do cluster de banco de dados Aurora, por exemplo cluster:myscalablecluster.

  • ScalableDimension – Defina este valor como rds:cluster:ReadReplicaCount.

  • MinCapacity – o número mínimo de instâncias de banco de dados de leitura a serem gerenciadas pelo Application Auto Scaling. Para obter informações sobre a relação entre MinCapacity, MaxCapacity e o número de instâncias de banco de dados no cluster, consulte Capacidades mínima e máxima.

  • MaxCapacity – o número máximo de instâncias de banco de dados de leitura a serem gerenciadas pelo Application Auto Scaling. Para obter informações sobre a relação entre MinCapacity, MaxCapacity e o número de instâncias de banco de dados no cluster, consulte Capacidades mínima e máxima.

No exemplo a seguir, registre um cluster de banco de dados Aurora chamado myscalablecluster na API do Application Auto Scaling. Este registro indica que o cluster de banco de dados deve ser escalado dinamicamente para ter de uma a oito réplicas do Aurora.

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 }

Definir uma política de escalabilidade para um cluster de banco de dados Aurora

Uma configuração de política de escalabilidade de rastreamento de destino é representada por um bloco JSON no qual as métricas e valores de destino são definidos. Você pode salvar uma configuração de política de escalabilidade como um bloco JSON em um arquivo de texto. Você pode usar esse arquivo de texto ao invocar a AWS CLI ou a API do Application Auto Scaling. Para ter mais informações sobre a sintaxe de configuração de política, consulte TargetTrackingScalingPolicyConfiguration na Referência de API do Application Auto Scaling.

As seguintes opções estão disponíveis para definir uma configuração de política de escalabilidade de rastreamento de destino.

Uso de uma métrica predefinida

Com o uso de métricas predefinidas, você pode definir rapidamente uma política de escalabilidade de rastreamento de destino para um cluster de banco de dados Aurora que funcione bem com o rastreamento de destino e com a escalabilidade dinâmica no Auto Scaling do Aurora.

Atualmente, o Aurora oferece suporte às seguintes métricas predefinidas no Auto Scaling do Aurora:

  • RDSReaderAverageCPUUtilization – o valor médio da métrica CPUUtilization no CloudWatch em todas as réplicas do Aurora no cluster de banco de dados Aurora.

  • RDSReaderAverageDatabaseConnections – o valor médio da métrica DatabaseConnections no CloudWatch em todas as réplicas do Aurora no cluster de banco de dados Aurora.

Para ter mais informações sobre as métricas CPUUtilization e DatabaseConnections, consulte Métricas do Amazon CloudWatch para o Amazon Aurora.

Para usar uma métrica predefinida em sua política de escalabilidade, crie uma configuração de rastreamento de destino para sua política de escalabilidade. Essa configuração deve incluir uma PredefinedMetricSpecification para a métrica predefinida e um TargetValue para o valor de destino dessa métrica.

exemplo

O exemplo a seguir descreve uma configuração de política típica para a escalabilidade de rastreamento de destino para um cluster de banco de dados Aurora. Nessa configuração, a métrica predefinida RDSReaderAverageCPUUtilization é usada para ajustar o cluster de banco de dados Aurora com base em uma utilização média da CPU de 40 por cento em todas as réplicas do Aurora.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" } }
Uso de uma métrica personalizada

Com o uso de métricas personalizadas, você pode definir uma política de escalabilidade de rastreamento de destino que atenda a suas exigências personalizadas. Você pode definir uma métrica personalizada com base em qualquer métrica do Aurora que mude na proporção da escalabilidade.

Nem todas as métricas do Aurora funcionam para o rastreamento de destino. A métrica deve ser de utilização válida e descrever o quão ocupada uma instância está. O valor da métrica deve aumentar ou diminuir na proporção do número de réplicas do Aurora no cluster de banco de dados Aurora. Essa aumento ou redução proporcional é necessário para usar os dados da métrica para expandir ou reduzir proporcionalmente o número de réplicas do Aurora.

exemplo

O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, uma métrica personalizada ajusta um cluster de banco de dados Aurora com base na utilização média de uma CPU em 50 por centro em todas as réplicas do Aurora, em um cluster de banco de dados Aurora chamado my-db-cluster.

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

Você pode especificar um valor, em segundos, para ScaleOutCooldown a fim de adicionar um desaquecimento para expandir seu cluster de banco de dados Aurora. De forma similar, você pode adicionar um valor, em segundos, para ScaleInCooldown a fim de adicionar um desaquecimento para reduzir seu cluster de banco de dados Aurora. Para ter mais informações sobre ScaleInCooldown e ScaleOutCooldown, consulte TargetTrackingScalingPolicyConfiguration na Referência de API do Application Auto Scaling.

O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, a métrica predefinida RDSReaderAverageCPUUtilization é usada para ajustar um cluster de banco de dados Aurora com base em uma utilização média da CPU de 40 por cento em todas as réplicas do Aurora nesse cluster de banco de dados Aurora. A configuração fornece um desaquecimento de redução de 10 minutos e em um desaquecimento de expansão de 5 minutos.

{ "TargetValue": 40.0, "PredefinedMetricSpecification": { "PredefinedMetricType": "RDSReaderAverageCPUUtilization" }, "ScaleInCooldown": 600, "ScaleOutCooldown": 300 }
Desabilitar a atividade de redução

Você pode evitar que a configuração da política de escalabilidade de rastreamento de destino reduza seu cluster de banco de dados Aurora desabilitando a atividade de redução. Desabilitar a atividade de redução impede que a política de escalabilidade exclua réplicas do Aurora, enquanto permite ao mesmo tempo que a política de escalabilidade crie réplicas conforme o necessário.

Você pode especificar um valor booliano para DisableScaleIn a fim de permitir ou evitar a atividade de redução em seu cluster de banco de dados Aurora. Para ter mais informações sobre DisableScaleIn, consulte TargetTrackingScalingPolicyConfiguration na Referência de API do Application Auto Scaling.

O exemplo a seguir descreve uma configuração de rastreamento de destino para uma política de escalabilidade. Nessa configuração, a métrica predefinida RDSReaderAverageCPUUtilization ajusta um cluster de banco de dados Aurora com base em uma utilização média da CPU de 40 por cento em todas as réplicas do Aurora nesse cluster de banco de dados Aurora. A configuração desativa a atividade de redução para a política de escalabilidade.

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

Aplicar uma política de escalabilidade a um cluster de banco de dados Aurora

Após registrar seu cluster de banco de dados Aurora no Application Auto Scaling e definir uma política de escalabilidade, aplique a política de escalabilidade ao cluster de banco de dados Aurora. Para aplicar uma política de escalabilidade a um cluster de banco de dados Aurora, você pode usar a AWS CLI ou a API do Application Auto Scaling.

Para aplicar uma política de escalabilidade a seu cluster de banco de dados Aurora, use o comando put-scaling-policy da AWS CLI com os seguintes parâmetros:

  • --policy-name – o nome da política de escalabilidade.

  • --policy-type – Defina este valor como TargetTrackingScaling.

  • --resource-id – o identificador do recurso para o cluster de banco de dados Aurora. Para este parâmetro, o tipo de recurso é cluster e o identificador exclusivo é nome do cluster de banco de dados Aurora, por exemplo cluster:myscalablecluster.

  • --service-namespace – Defina este valor como rds.

  • --scalable-dimension – Defina este valor como rds:cluster:ReadReplicaCount.

  • --target-tracking-scaling-policy-configuration – a configuração da política de escalabilidade de rastreamento de destino a ser usada para o cluster de banco de dados Aurora.

No exemplo a seguir, aplique a política de escalabilidade de rastreamento de destino chamada myscalablepolicy a um cluster de banco de dados Aurora chamado myscalablecluster com o Application Auto Scaling. Para fazer isso, use uma configuração de política salva em um arquivo chamado config.json.

Para Linux, macOS ou 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

Para 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

Para aplicar a política de escalabilidade em seu cluster de banco de dados Aurora com a API do Application Auto Scaling, use a operação PutScalingPolicy da API do Application Auto Scaling com os seguintes parâmetros:

  • PolicyName – o nome da política de escalabilidade.

  • ServiceNamespace – Defina este valor como rds.

  • ResourceID – o identificador do recurso para o cluster de banco de dados Aurora. Para este parâmetro, o tipo de recurso é cluster e o identificador exclusivo é nome do cluster de banco de dados Aurora, por exemplo cluster:myscalablecluster.

  • ScalableDimension – Defina este valor como rds:cluster:ReadReplicaCount.

  • PolicyType – Defina este valor como TargetTrackingScaling.

  • TargetTrackingScalingPolicyConfiguration – a configuração da política de escalabilidade de rastreamento de destino a ser usada para o cluster de banco de dados Aurora.

No exemplo a seguir, aplique a política de escalabilidade de rastreamento de destino chamada myscalablepolicy a um cluster de banco de dados do Aurora chamado myscalablecluster com o Application Auto Scaling. Use uma configuração de política com base na métrica predefinida 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" } } }

Editar uma política de escalabilidade

Você pode editar uma política de escalabilidade usando o AWS Management Console, a AWS CLI ou a API do Application Auto Scaling.

Você pode editar uma política de escalabilidade usando o AWS Management Console.

Como editar uma política do Auto Scaling para um cluster de banco de dados Aurora
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Databases (Bancos de dados).

  3. Escolha o cluster de banco de dados Aurora cuja política do Auto Scaling você deseja editar.

  4. Escolha a guia Logs & events (Logs e eventos).

  5. Na seção Auto Scaling Policies (Políticas do Auto Scaling), escolha a política do Auto Scaling e depois selecione Edit (Editar).

  6. Faça as alterações na política.

  7. Escolha Save (Salvar).

O exemplo a seguir mostra a caixa de diálogo Edit Auto Scaling policy.


                        Editar uma política do Auto Scaling com base na utilização média da CPU

Você pode usar a AWS CLI ou a API do Application Auto Scaling para editar uma política de escalabilidade da mesma forma que você aplica uma política de escalabilidade:

  • Ao usar a AWS CLI, especifique o nome da política que você deseja editar no parâmetro --policy-name. Especifique novos valores para os parâmetros que você deseja alterar.

  • Ao usar a API do Application Auto Scaling, especifique o nome da política que você deseja editar no parâmetro PolicyName. Especifique novos valores para os parâmetros que você deseja alterar.

Para ter mais informações, consulte Aplicar uma política de escalabilidade a um cluster de banco de dados Aurora.

Excluir uma política de escalabilidade

Você pode excluir uma política de escalabilidade usando o AWS Management Console, a AWS CLI ou a API do Application Auto Scaling.

Você pode excluir uma política de escalabilidade usando o AWS Management Console.

Como excluir uma política do Auto Scaling para um cluster de banco de dados Aurora
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, escolha Databases (Bancos de dados).

  3. Escolha o cluster de banco de dados Aurora cuja política do Auto Scaling você deseja excluir.

  4. Escolha a guia Logs & events (Logs e eventos).

  5. Na seção Auto scaling policies (Políticas do Auto Scaling), escolha a política do Auto Scaling e depois selecione Delete (Excluir).

Para excluir uma política de escalabilidade de seu cluster de banco de dados Aurora, use o comando delete-scaling-policy da AWS CLI com os seguintes parâmetros:

  • --policy-name – o nome da política de escalabilidade.

  • --resource-id – o identificador do recurso para o cluster de banco de dados do Aurora. Para este parâmetro, o tipo de recurso é cluster e o identificador exclusivo é nome do cluster de banco de dados Aurora, por exemplo cluster:myscalablecluster.

  • --service-namespace – Defina este valor como rds.

  • --scalable-dimension – Defina este valor como rds:cluster:ReadReplicaCount.

No exemplo a seguir, a política de escalabilidade de rastreamento de destino chamada myscalablepolicy é excluída de um cluster de banco de dados Aurora chamado myscalablecluster.

Para Linux, macOS ou Unix:

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

Para Windows:

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

Para excluir uma política de escalabilidade do seu cluster de banco de dados Aurora, use a operação DeleteScalingPolicy da API do Application Auto Scaling com os seguintes parâmetros:

  • PolicyName – o nome da política de escalabilidade.

  • ServiceNamespace – Defina este valor como rds.

  • ResourceID – o identificador do recurso para o cluster de banco de dados Aurora. Para este parâmetro, o tipo de recurso é cluster e o identificador exclusivo é nome do cluster de banco de dados Aurora, por exemplo cluster:myscalablecluster.

  • ScalableDimension – Defina este valor como rds:cluster:ReadReplicaCount.

No exemplo a seguir, a política de escalabilidade de rastreamento de destino chamada myscalablepolicy é excluída de um cluster de banco de dados Aurora chamado myscalablecluster com a API do Application Auto Scaling.

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" }

IDs de instância de banco de dados e marcação

Quando uma réplica é adicionada pelo Aurora Auto Scaling, seu ID de instância de banco de dados é prefixado por application-autoscaling-, por exemplo, application-autoscaling-61aabbcc-4e2f-4c65-b620-ab7421abc123.

A tag a seguir é adicionada automaticamente à instância de banco de dados. Você pode visualizá-lo na guia Tags da página de detalhes da instância de banco de dados.

Tag Valor
application-autoscaling:resourceId cluster:mynewcluster-cluster

Para ter mais informações sobre Amazon RDS as tags de recurso, consulte Marcar recursos do Amazon RDS.

Aurora Auto Scaling e Performance Insights

Você pode usar o Performance Insights para monitorar réplicas que foram adicionadas pelo Aurora Auto Scaling da mesma forma que com qualquer instância de banco de dados do leitor do Aurora.

Não é possível ativar o recurso Insights de Performance para um cluster de banco de dados do Aurora. Você pode ativar manualmente o recurso Insights de Performance para cada instância de banco de dados no cluster de banco de dados.

Quando você ativa o recurso Insights de Performance para a instância de banco de dados do gravador no cluster de banco de dados do Aurora, o recurso não é ativado automaticamente para as instâncias de banco de dados do leitor. É necessário ativar manualmente o recurso Insights de Performance para as instâncias de banco de dados do leitor existentes e para as novas réplicas adicionadas pelo Aurora Auto Scaling.

Para ter mais informações sobre como usar o Performance Insights para monitorar clusters de banco de dados do Aurora, consulte Monitorar a carga de banco de dados com o Performance Insights no Amazon Aurora.