Auto Scaling de aplicaciones y Amazon DynamoDB - Aplicación de escalado automático

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-capacity 5 \ --max-capacity 10

    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-capacity 5 \ --max-capacity 10

    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-capacity 5 \ --max-capacity 10

    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-capacity 5 \ --max-capacity 10

    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 y MaxCapacity como parámetros.

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: