Cómo configurar la escala automática de Dynamodb y usarla para administrar automáticamente la capacidad de rendimiento

Cómo configurar la escala automática de Dynamodb y usarla para administrar automáticamente la capacidad de rendimiento
La gestión de bases de datos impredecibles puede ser una tarea cuesta arriba si confía en las operaciones manuales para manejar los ajustes inesperados de la base de datos. Curiosamente, la función de escala automática de Dynamodb ajusta dinámicamente la capacidad de rendimiento aprovisionada de las tablas o índices secundarios globales sin su intervención.

Por lo tanto, las bases de datos con una función de escala automática habilitada responden de manera confiable y automáticamente a los patrones de tráfico reales. Esto permite que las tablas DynamodB o los índices secundarios globales aumenten o disminuyan su capacidad de rendimiento aprovisionado (leer y escribir) para manejar el tráfico repentino sin estrangular.

Este artículo es su mejor guía de referencia para todo lo relacionado con el servicio de escala automática de Dynamodb. Discute cómo la función maneja la capacidad de lectura y escritura en su tabla Dynamodb. Además, aprenderá cómo habilitar la escala automática en su tabla Dynamodb.

Cómo funciona DynamodB Auto Scaling para administrar dinámicamente la capacidad de rendimiento

En particular, la función de escala automática de Dynamodb se basa en el servicio de escala automática de aplicaciones AWS. Funciona monitoreando continuamente los patrones de tráfico reales de su tabla o índice y ajustando la capacidad de rendimiento aprovisionada según sea necesario para mantener los niveles de utilización de objetivos que establece.

El proceso de funcionamiento de esta característica en Dynamodb implica lo siguiente:

Debe comenzar configurando la escala automática y definiendo los niveles de utilización de objetivos para su tabla o índice. El nivel de utilización es el porcentaje de unidades de capacidad de lectura y escritura que desea usar para una tabla o índice específico. Dependiendo de sus patrones de tráfico y necesidades de rendimiento, puede establecer los diferentes niveles de utilización de objetivos para las unidades de capacidad de lectura y escritura.

DynamodB monitorea continuamente los patrones de tráfico reales de su tabla o índice. A su vez, recopilará los datos sobre el número de solicitudes de lectura y escritura que se realizan en su tabla o índice. Además, recopila los datos relacionados con el tamaño de estas solicitudes en términos de unidades de capacidad de lectura y escritura.

La función de escala automática utiliza los datos recopilados en los patrones de tráfico y los niveles de utilización de objetivos que establece para calcular la capacidad de rendimiento aprovisionada requerida para su tabla o índice.

Si el tráfico real excede el nivel de utilización del objetivo, DynamodB aumenta la capacidad de rendimiento aprovisionada para manejar el aumento del tráfico. Por otro lado, si el tráfico real cae por debajo del nivel de utilización del objetivo, DynamodB disminuye la capacidad de rendimiento aprovisionada para igualar el tráfico real y reducir los costos.

DynamodB ajusta de manera confiable la capacidad de rendimiento aprovisionada de su tabla o índice utilizando la política de escala de pasos. La política define las reglas para aumentar o disminuir dinámicamente la capacidad de rendimiento aprovisionada en respuesta a los cambios en los patrones de tráfico.

Puede personalizar la política de escala de paso a sus necesidades reales. Por ejemplo, puede especificar los límites de capacidad mínima y máxima, los incrementos en los que el sistema puede agregar o eliminar las unidades de capacidad, y las condiciones bajo las cuales el DynamodB puede desencadenar la acción de escala.

En particular, la escala automática de Dynamodb solo está disponible para el modo de capacidad "bajo demanda" en Dynamodb. En este modo, paga las lecturas y escrituras reales que realiza en su tabla o índice, y no hay unidades de capacidad reservada. Con la escala automática, puede optimizar sus costos pagando solo por la capacidad donde necesita manejar su tráfico.

Cómo configurar la escala automática de Dynamodb

Primero, es importante tener en cuenta que la escala automática de Dynamodb se habilita automáticamente en su tabla o índice si usa la consola de administración de AWS para crear sus tablas. Hay una configuración predeterminada que requiere que.

Sin embargo, aún puede usar la consola de administración de AWS para habilitar la escala automática de Dynamodb para tablas existentes, deshabilitar la escala automática o modificar sus características de escala automática. También puede lograr todo esto con AWS CLI o cualquiera de los SDK de AWS.

Este artículo utiliza AWS CLI para ilustrar cómo puede configurar y habilitar la escala automática de Dynamodb y usarla para administrar automáticamente la capacidad de rendimiento para una tabla o índice. Estos siguientes pasos son esenciales:

Paso 1: crear una tabla o índice DynamodB

Creemos una tabla para esta demostración utilizando el AWS DYNAMODB CREATE-Table utilidad. Consulte nuestro comando de muestra:

AWS Dynamodb Create-Table \
--nombre de mesa mytableName \
--ATTRIBUTE-DEFINICIONES ATRIBTENAME = id, attributeType = s \
--key-schema atributename = id, keyType = hash \
--ReadCapacityUnits de reinsputación a través de la provisión = 10, WriteCapacityUnits = 10

Proceda a verificar el estado de su tabla utilizando el AWS Dynamodb describe la mesa Comando, como se muestra en el siguiente. Este paso tiene como objetivo confirmar si se crea su tabla y enumera sus diversas especificaciones. La tabla debe estar en estado activo.

AWS DYNAMODB DESCRIPTO-TABLE-Nombre de la tabla mytableName

Paso 2: crea una alarma de Amazon CloudWatch

Cree una alarma de Amazon CloudWatch para una métrica de capacidad. Puede usar el comando AWS CloudWatch Put-Metric-Enlarm. Este comando le permite especificar la métrica, el umbral en el que se activa la alarma y la acción a tomar cuando se activa la alarma.

Este código ayudará:

AWS CloudWatch Put-Metric-Enlarm \
--Nombre de alarma Dynamodb-HighrCualarm \
--nombre métrico ConsumedReadCapacityUnits \
--espacio de nombres AWS/Dynamodb \
--promedio estadístico \
--Período 240 \
--umbral 80 \
--Comparación-operador Greatthanthanthrold \
--Evaluación-Periodos 2 \
--ALARM-ACTIONS ARN: AWS: Automatizar: US-East-1: EC2: Recuperar

Paso 3: crear un rol de AWS Identity and Access Management (IAM)

Cree un rol de AWS Identity and Access Management (IAM) que permita que DynamodB llame a las acciones de PutScalingPolicy y ExecutEpolicy en su nombre. Puedes usar el AWS iam create-rol Comando para crear el rol y el comando AWS IAM adjunto-Role-Policy para adjuntar la política de permisos necesaria.

Puede usar el siguiente comando:

AWS IAM ACERET-ROLE-POLICY-Role-Name Dynamodbscalingrole--Policy-Arn ARN: AWS: IAM :: AWS: Policy/AmazondynamodBfullAccess

Paso 4: Registre las tablas de rendimiento como un objetivo escalable

El siguiente paso registra la capacidad de escritura de su tabla como un objetivo escalable utilizando AWS Application Auto Scaling. Este procedimiento permite automáticamente el escala automática de la aplicación AWS ajustar la capacidad de rendimiento aprovisionada de la tabla. Nuevamente, esto solo puede suceder dentro de 5-10 unidades de capacidad.

El siguiente comando debe ayudar:

AWS APLICACIÓN-AUTOSCALING REGISTA ESCALABLE-TARGET \
--Service-Namespace Dynamodb \
--Tabla de recursos de recursos/mytableName \
--Dynamodb de dimensión escalable: tabla: readCapacityUnits \
--Capacidad mínima 5 \
--Max-Capacity 500

La utilidad anterior especifica tanto el tipo de recurso como el identificador del recurso que pretende escalar. También especifica los límites de capacidad mínima y máxima del recurso que desea escalar.

El comando se ve así si está buscando escalar un índice secundario global y no una tabla:

AWS APLICACIÓN-AUTOSCALING REGISTA ESCALABLE-TARGET \
--Service-Namespace Dynamodb \
--Tabla de recursos-id/mytableName/index/myIndexName \
--DynamodB de dimensión escalable: índice: readCapacityUnits \
--Capacidad mínima 5 \
--Max-Capacity 500

Paso 5: crear un plan de escala

Para crear un plan de escala para una tabla o índice DynamodB, puede usar el Plan de escala de creación de AWS Aplication-AutoScaling dominio. Este comando le permite especificar el recurso que desea escalar (como una tabla o un índice), la política de escala que su sistema utiliza para realizar la acción de escala y la alarma CloudWatch que desencadena la acción de escala.

Paso 6: Habilite la escala automática

Para habilitar la escala automática para una tabla o índice DynamodB, puede usar el AWS Aplicación-Autocaling Registro-Target-Target dominio. Este comando registra el recurso (como una tabla o índice) con la escala automática de aplicaciones, lo que permite escalar automáticamente en función del plan de escala creado.

Puede usar el siguiente comando:

AWS APLICACIÓN-AUTOSCALING REGISTA ESCALABLE-TARGET \
--Service-Namespace Dynamodb \
--Tabla de ID de recursos/MyTable \
--Dynamodb de dimensión escalable: tabla: readCapacityUnits \
--Capacidad mínima 5 \
--Max-Capacity 50

Conclusión

La escala automática lo ayuda a optimizar el rendimiento y el costo de su tabla DynamodB o índice secundario global ajustando automáticamente la capacidad de rendimiento aprovisionada en respuesta a los cambios en los patrones de tráfico. Puede habilitar la escala automática para su tabla o índice DynamodB utilizando el procedimiento AWS CLI. Nuevamente, la consola de administración de AWS o la API DynamodB pueden ayudarlo a lograr este proceso.