Auto Scaling de aplicaciones y Amazon DynamoDB
Puede escalar tablas de DynamoDB e índices secundarios globales mediante políticas de escalado de seguimiento de destino y escalado programado.
Utilice la siguiente información para ayudarle a integrar DynamoDB con Auto Scaling de aplicaciones.
Rol vinculado al servicio creado para DynamoDB
Los siguientes ejemplos de rol vinculado al servicio se crean automáticamente en su Cuenta de AWS al registrar recursos de DynamoDB como destinos escalables con Auto Scaling de aplicaciones. Este rol permite que Auto Scaling de aplicaciones realice operaciones compatibles dentro de su cuenta. Para obtener más información, consulte Roles vinculados a servicios para Application Auto Scaling.
-
AWSServiceRoleForApplicationAutoScaling_DynamoDBTable
Entidad de seguridad de servicio utilizada por el rol vinculado al servicio
El rol vinculado al servicio de la sección anterior solo puede ser asumido por la entidad de seguridad de servicio autorizada por las relaciones de confianza definidas para el rol. El rol vinculado al servicio utilizado por Auto Scaling de aplicaciones concede acceso a la siguiente entidad de seguridad de servicio:
-
dynamodb.application-autoscaling.amazonaws.com
Registro de recursos de DynamoDB como destinos escalables con Auto Scaling de aplicaciones
El Auto Scaling de aplicaciones requiere un destino escalable antes de que pueda crear políticas de escalado o acciones programadas para una tabla de DynamoDB o un índice secundario global. Un destino escalable es un recurso que se puede escalar horizontalmente o reducir horizontalmente con Auto Scaling de aplicaciones. Los destinos escalables se identifican de forma única mediante la combinación de ID de recurso, dimensión escalable y espacio de nombres.
Si configura el escalado automático mediante la consola de DynamoDB, DynamoDB registra automáticamente un destino escalable.
Si desea configurar el escalado automático usando la CLI de AWS o uno de los SDK de AWS, puede utilizar las siguientes opciones:
-
AWS CLI:
Utilice el comando register-scalable-target para la capacidad de escritura de una tabla. En el siguiente ejemplo, se registra la capacidad de escritura aprovisionada de una tabla denominada
my-table
, con una capacidad mínima de cinco unidades de capacidad de escritura y una capacidad máxima de 10 unidades de capacidad de escritura.aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:WriteCapacityUnits \ --resource-id table/
my-table
\ --min-capacity5
\ --max-capacity10
Si se ejecuta correctamente, este comando devolverá el ARN del destino escalable.
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }Utilice el comando register-scalable-target para la capacidad de lectura de una tabla. El siguiente ejemplo registra la capacidad de lectura aprovisionada de una tabla denominada
my-table
, con una capacidad mínima de cinco unidades de capacidad de lectura y una capacidad máxima de diez unidades de lectura.aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:table:ReadCapacityUnits \ --resource-id table/
my-table
\ --min-capacity5
\ --max-capacity10
Si se ejecuta correctamente, este comando devolverá el ARN del destino escalable.
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }Utilice el comando register-scalable-target para la capacidad de escritura de un índice secundario global. En el siguiente ejemplo, se registra la capacidad de escritura aprovisionada de una tabla denominada
my-table-index
, con una capacidad mínima de cinco unidades de capacidad de escritura y una capacidad máxima de 10 unidades de capacidad de escritura.aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:index:WriteCapacityUnits \ --resource-id table/
my-table
/index/my-table-index
\ --min-capacity5
\ --max-capacity10
Si se ejecuta correctamente, este comando devolverá el ARN del destino escalable.
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" }Utilice el comando register-scalable-target para la capacidad de lectura de un índice secundario global. En el siguiente ejemplo, se registra la capacidad de lectura aprovisionada de un índice secundario global denominado
my-table-index
, con una capacidad mínima de cinco unidades de capacidad de lectura y una capacidad máxima de diez unidades de capacidad de lectura.aws application-autoscaling register-scalable-target \ --service-namespace dynamodb \ --scalable-dimension dynamodb:index:ReadCapacityUnits \ --resource-id table/
my-table
/index/my-table-index
\ --min-capacity5
\ --max-capacity10
Si se ejecuta correctamente, este comando devolverá el ARN del destino escalable.
{ "ScalableTargetARN": "arn:aws:application-autoscaling:
region
:account-id
:scalable-target/1234abcd56ab78cd901ef1234567890ab123" } -
AWS SDK:
Llame a la operación RegisterScalableTarget y proporcione
ResourceId
,ScalableDimension
,ServiceNamespace
,MinCapacity
yMaxCapacity
como parámetros.
Recursos relacionados
Si acaba de comenzar a utilizar Application Auto Scaling, puede ver información adicional útil sobre el escalado de recursos de DynamoDB en la siguiente documentación:
-
Administración de la capacidad de rendimiento con el Auto Scaling de DynamoDB en la Guía para desarrolladores de Amazon DynamoDB
-
Evaluar la configuración de escalado automático de la tabla en la Guía para desarrolladores de Amazon DynamoDB.
-
How to use AWS CloudFormation to configure auto scaling for DynamoDB tables and indexes
en el blog de AWS