Administración automática de la capacidad de desempeño con la función Auto Scaling de DynamoDB - Amazon DynamoDB

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración automática de la capacidad de desempeño con la función Auto Scaling de DynamoDB

Muchas cargas de trabajo de base de datos son cíclicas o difíciles de predecir con antelación. Por ejemplo, tomemos una aplicación de redes sociales en la que la mayoría de los usuarios están activos en el horario diurno. La base de datos debe satisfacer los requisitos de la actividad diurna, pero no se requieren los mismos niveles de desempeño por la noche. Otro ejemplo podría ser una nueva aplicación de juegos para móviles cuya adopción está siendo muy rápida. Si el juego adquiere demasiada popularidad, podría superar los recursos disponibles en la base de datos, lo que daría lugar a un desempeño lento y a clientes descontentos. Estos tipos de cargas de trabajo suelen requerir intervención manual para escalar los recursos de la base de datos en sentido ascendente o descendente en respuesta a las variaciones en los niveles de uso.

El escalado automático de Amazon DynamoDB utiliza elAWSServicio Auto Scaling de aplicación para ajustar de forma dinámica y automática la capacidad de desempeño provisionada en respuesta a los patrones de tráfico reales. Esto permite que una tabla o índice secundario global aumenten su capacidad de lectura y escritura aprovisionada para hacer frente a los aumentos repentinos de tráfico sin que se aplique la limitación controlada. Cuando la carga de trabajo disminuye, la Application Auto Scaling reduce el desempeño para evitar que tenga que pagar por una capacidad provisionada que no se utiliza.

nota

Si utiliza laAWS Management ConsolePara crear una tabla o un índice secundario global, la función Auto Scaling de DynamoDB se habilita de forma predeterminada. Puede modificar los ajustes de Auto Scaling en cualquier momento. Para obtener más información, consulte Mediante laAWS Management ConsoleAuto Scaling de DynamoDB.

Con Application Auto Scaling, puede crear unpolítica de escaladoPara una tabla o un índice secundario global. La política de escalado especifica si desea escalar la capacidad de lectura o de escritura (o ambas), así como los ajustes de unidades de capacidad provisionada mínimas y máximas para la tabla o el índice.

La directiva de escalado también contiene unUso objetivo: porcentaje de desempeño provisionado consumido en un momento dado. Application Auto ScalingSeguimiento de destino .Algoritmo de ajustar el desempeño provisionado de la tabla o el índice al alza o a la baja en respuesta a las cargas de trabajo reales, de tal forma que la utilización de la capacidad real se mantenga en valores iguales o parecidos al objetivo de utilización.

Puede establecer los valores de objetivo de utilización de escalado automático entre un 20 y un 90 por ciento de la capacidad de lectura y escritura.

nota

Además de con las tablas, el escalado automático de DynamoDB es compatible con los índices secundarios globales. Cada índice secundario global tiene su propia capacidad de desempeño provisionada que es independiente de la de su tabla base. Al crear una política de escalado para un índice secundario global, Application Auto Scaling ajusta los ajustes de desempeño provisionado del índice para asegurarse de que el uso real se mantenga en valores iguales o parecidos al porcentaje de utilización deseado.

Funcionamiento del Auto Scaling DynamoDB

nota

Para comenzar rápidamente a usar la función Auto Scaling de DynamoDB, consulteMediante laAWS Management ConsoleAuto Scaling de DynamoDB.

En el siguiente diagrama se ofrece información general sobre cómo Auto Scaling administra la capacidad de desempeño de una tabla en DynamoDB.

En los pasos siguientes se resume el proceso de Auto Scaling mostrado en el diagrama anterior:

  1. Cree una directiva de Application Auto Scaling para la tabla de DynamoDB.

  2. DynamoDB publica métricas de capacidad consumida en Amazon CloudWatch.

  3. Si la capacidad consumida de la tabla supera el objetivo de utilización (o no lo alcanza) durante un periodo de tiempo específico, Amazon CloudWatch activa una alarma. Puede ver la alarma en la consola y recibir notificaciones mediante Amazon Simple Notification Service (Amazon SNS).

  4. La alarma de CloudWatch invoca Application Auto Scaling para evaluar la política de escalado.

  5. Application Auto ScalingUpdateTablePara ajustar el desempeño provisionado de la tabla.

  6. DynamoDB procesa laUpdateTable, aumentando (o disminuyendo) dinámicamente la capacidad de desempeño provisionada de la tabla para que sea parecida al objetivo de utilización.

Para comprender cómo funciona la función Auto Scaling de DynamoDB, supongamos que tenemos una tabla denominadaProductCatalog. Es infrecuente que se realicen cargas masivas de datos en la tabla, de modo que presenta poca actividad de escritura. Sin embargo, sí experimenta una intensa actividad de lectura, que varía en cada momento. Mediante la supervisión de las métricas de Amazon CloudWatch paraProductCatalog, determina que la tabla requiere 1200 unidades de capacidad de lectura (para evitar que DynamoDB aplique una limitación controlada a las solicitudes de lectura durante los picos de actividad). También ha determinado que ProductCatalog requiere como mínimo 150 unidades de capacidad de lectura, cuando el tráfico de lectura se encuentra en el punto más bajo.

Dentro del rango de 150 a 1200 unidades de capacidad de lectura, decide que un objetivo de utilización del 70 por ciento sería apropiado para la tabla ProductCatalog. Objetivo de utilizaciónes la proporción de unidades de capacidad consumidas respecto de las unidades de capacidad provisionadas y se expresa como un porcentaje. Application Auto Scaling de utiliza el algoritmo de seguimiento del objetivo para asegurarse de que la capacidad de lectura provisionada deProductCatalogSe ajusta de acuerdo con las necesidades, de tal forma que la utilización permanezca próxima al 70%.

nota

La función Auto Scaling de DynamoDB modifica los ajustes de desempeño provisionado solo cuando la carga de trabajo real se mantiene elevada (o reducida) durante un periodo sostenido de varios minutos. El algoritmo de seguimiento de objetivo de Auto Scaling de aplicación intenta mantener el objetivo de utilización en el valor elegido o en valores próximos a él a largo plazo.

Los picos de actividad repentinos y breves se atienden gracias a la capacidad de ráfaga incorporada de la tabla. Para obtener más información, consulte Uso eficaz de la capacidad de ráfagas.

Para habilitar el escalado automático de DynamoDB para elProductCatalogPara ello, debe crear una política de escalado. La política especifica los elementos siguientes:

  • La tabla o el índice secundario global que desea administrar

  • Qué tipo de capacidad va a administrar (capacidad de lectura o capacidad de escritura)

  • Los límites superior e inferior de los ajustes de desempeño provisionado

  • Su objetivo de utilización

Al crear una política de escalado, Application Auto Scaling crea automáticamente un par de alarmas de Amazon CloudWatch. Cada par representa los límites superior e inferior de los ajustes de desempeño provisionado. Estas alarmas de CloudWatch alarmas se activan cuando la utilización real de la tabla se desvía del objetivo de utilización durante un periodo de tiempo prolongado.

Cuando se activa una de las alarmas de CloudWatch, Amazon SNS envía una notificación (si se ha habilitado). A continuación, la alarma de CloudWatch invoca Application Auto Scaling, que a su vez notifica DynamoDB para ajustar elProductCatalogLa capacidad provisionada de la tabla al alza o a la baja, según corresponda.

Notas de uso

Antes de comenzar a usar la función Auto Scaling de DynamoDB, debe tener en cuenta lo siguiente:

  • La función Auto Scaling de DynamoDB de puede aumentar la capacidad de lectura o escritura tan a menudo como sea preciso, de acuerdo con la política de Auto Scaling. Todas las cuotas de DynamoDB permanecen en vigor, tal como se describe enCuotas de servicio, cuenta y tabla en Amazon DynamoDB.

  • El escalado automático de DynamoDB no le impide modificar manualmente los ajustes de desempeño provisionado. Estos ajustes manuales no afectan a las alarmas de CloudWatch vigentes relacionadas con la función Auto Scaling de DynamoDB.

  • Si habilita Auto Scaling de DynamoDB para una tabla que tiene uno o varios índices secundarios globales, recomendamos encarecidamente aplicar también Auto Scaling de manera uniforme a esos índices. Para ello, elijaAplicar la misma configuración a índices secundarios globalesen laAWS Management Console. Para obtener más información, consulte Habilitación del Auto Scaling DynamoDB en tablas existentes.