Amazon DynamoDB e Application Auto Scaling - Application Auto Scaling

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Amazon DynamoDB e Application Auto Scaling

Você pode escalar tabelas do DynamoDB e índices secundários globais usando políticas de dimensionamento com monitoramento do objetivo e escalabilidade programada.

Use as informações a seguir para ajudar a integrar o DynamoDB com o Application Auto Scaling.

Criação de uma função vinculada ao serviço para DynamoDB

A função vinculada ao serviço a seguir é criada automaticamente em você Conta da AWS ao registrar recursos do DynamoDB como destinos escaláveis com o Application Auto Scaling. Essa função permite que o Application Auto Scaling realize as operações suportadas em sua conta. Para ter mais informações, consulte Funções vinculadas ao serviço necessárias para o Application Auto Scaling.

  • AWSServiceRoleForApplicationAutoScaling_DynamoDBTable

Principal de serviço primário usado pela função vinculada ao serviço

A função vinculada ao serviço na seção anterior pode ser assumida apenas pelo principal de serviço primário autorizado pelas relações de confiança definidas para a função. A função vinculada ao serviço usada pelo Application Auto Scaling concede acesso aos seguintes principais de serviço primários:

  • dynamodb.application-autoscaling.amazonaws.com

Registrar recursos do DynamoDB como destinos escaláveis com o Application Auto Scaling

O Application Auto Scaling requer um destino escalável para que você possa criar políticas de escalabilidade ou ações programadas para uma tabela do DynamoDB ou índices secundários globais. Um destino escalável é um recurso que pode ser ampliado ou reduzido com o Application Auto Scaling. Os destinos escaláveis são identificados exclusivamente pela combinação de ID de recurso, dimensão escalável e namespace.

Se você configurar a escalabilidade automática usando o console do DynamoDB, o DynamoDB inscreverá automaticamente um destino escalável para você.

Se quiser configurar o escalonamento automático usando a AWS CLI ou um dos SDKs, você pode usar AWS as seguintes opções:

  • AWS CLI:

    Chame o register-scalable-targetcomando para obter a capacidade de gravação de uma tabela. O exemplo a seguir inscreve a capacidade de gravação provisionada de uma tabela chamada my-table, com um mínimo cinco unidades de capacidade de gravação e um máximo de dez unidades de capacidade de gravação.

    aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:WriteCapacityUnits \ --resource-id table/my-table \ --min-capacity 5 \ --max-capacity 10

    Se obtiver êxito, esse comando retornará o ARN do destino escalável.

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

    Chame o register-scalable-targetcomando para saber a capacidade de leitura de uma tabela. O exemplo a seguir registra a capacidade de leitura provisionada de uma tabela chamada my-table, com um mínimo cinco unidades de capacidade de leitura e um máximo de dez unidades de leitura.

    aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits \ --resource-id table/my-table \ --min-capacity 5 \ --max-capacity 10

    Se obtiver êxito, esse comando retornará o ARN do destino escalável.

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

    Chame o register-scalable-targetcomando para obter a capacidade de gravação de um índice secundário global. O exemplo a seguir registra a capacidade de gravação provisionada de um índice secundário global chamado my-table-index, com um mínimo cinco unidades de capacidade de gravação e um máximo de dez unidades de capacidade de gravação.

    aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:index:WriteCapacityUnits \ --resource-id table/my-table/index/my-table-index \ --min-capacity 5 \ --max-capacity 10

    Se obtiver êxito, esse comando retornará o ARN do destino escalável.

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

    Chame o register-scalable-targetcomando para obter a capacidade de leitura de um índice secundário global. O exemplo a seguir registra a capacidade de leitura provisionada de um índice secundário global chamado my-table-index, com um mínimo de cinco unidades de capacidade de leitura e um máximo de dez unidades de capacidade de leitura.

    aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:index:ReadCapacityUnits \ --resource-id table/my-table/index/my-table-index \ --min-capacity 5 \ --max-capacity 10

    Se obtiver êxito, esse comando retornará o ARN do destino escalável.

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

    Chame a operação RegisterScalableTarget e forneça ResourceId, ScalableDimension, ServiceNamespace, MinCapacity e MaxCapacity como parâmetros.

Se você está apenas começando a usar o Application Auto Scaling, você pode encontrar mais informações úteis sobre como escalar seus recursos do DynamoDB na seguinte documentação:

Você também pode encontrar um tutorial para escalonamento programado. Tutorial: comece a usar a escalabilidade programada usando a AWS CLI Nesse tutorial, você aprende as etapas básicas para configurar a escalabilidade para que sua tabela do DynamoDB seja escalada em horários programados.