Como funciona CloudWatch Contributor Insights for DynamoDB
Amazon DynamoDB se integra con Información de colaboradores de Amazon CloudWatch para proporcionar información sobre los elementos a los que más se accede y que están sometidos a más limitaciones de una tabla o un índice secundario global. DynamoDB le da esta información a través de las reglas, los informes y los gráficos de datos de informes de Información de colaboradores de CloudWatch
Información de colaboradores de CloudWatch para DynamoDB se ha diseñado para que no tenga impacto en el rendimiento de la tabla de DynamoDB.
Para obtener más información sobre Información de colaboradores de CloudWatch, consulte Using Contributor Insights to analyze high-cardinality data en la Guía del usuario de Amazon CloudWatch.
En las secciones siguientes se describen los conceptos y comportamientos básicos de CloudWatch Contributor Insights for DynamoDB.
Temas
Modos de CloudWatch Contributor Insights para DynamoDB
CloudWatch Contributor Insights para DynamoDB ofrece dos modos distintos para satisfacer diferentes necesidades de supervisión.
Modo de claves limitadas
Este modo se centra exclusivamente en las solicitudes limitadas y solo procesa los eventos cuando se produce una limitación. Proporciona información sobre los problemas de rendimiento sin la sobrecarga de realizar un seguimiento de todos los patrones de acceso. En este modo, DynamoDB realiza un seguimiento solo de los:
-
Elementos más limitados: elementos que experimentan más eventos de limitación
Este modo es ideal cuando:
-
Su principal preocupación es identificar y resolver problemas de limitación
-
Desea mantener Contributor Insights habilitado de forma continua para detectar la limitación en tiempo real
-
Desea un enfoque optimizado en costos para supervisar los problemas de limitación
nota
El modo de claves limitadas procesa los eventos solo cuando se produce una limitación, lo que hace que sea rentable para la supervisión continua. Este enfoque específico le permite dejar la característica habilitada permanentemente con un impacto económico mínimo y, al mismo tiempo, ofrecer una visibilidad inmediata de los problemas de limitación a medida que se producen.
Si la tabla no experimenta ninguna limitación, no verá ningún dato en los gráficos de Contributor Insights, lo que indica un buen rendimiento. Cuando se detecta una limitación, los gráficos generados le ayudan a identificar patrones de acceso específicos que causan problemas de rendimiento. Esta información puede ayudarle a implementar estrategias para abordar los patrones de acceso no uniformes.
Para obtener estrategias de supervisión integrales, puede integrar esta información de limitación con otras métricas de CloudWatch para crear paneles unificados que correlacionen los eventos de limitación con el rendimiento general de la tabla.
Modo de claves a las que se ha accedido y limitadas
Este modo proporciona una supervisión integral de los elementos a los que se ha accedido y los que están limitados. En este modo, DynamoDB realiza un seguimiento de los:
-
Elementos a los que más se accede: elementos que consumen la mayor cantidad de capacidad de lectura y escritura
-
Elementos más limitados: elementos que experimentan más eventos de limitación
Este modo es ideal cuando necesita tener una visibilidad completa de los patrones de acceso de la tabla y quiere entender los elementos con mucho tráfico y los problemas de limitación.
Cambio entre modos
Puede cambiar de modo en cualquier momento mediante la consola de DynamoDB, la AWS CLI o las API. Al cambiar de modos:
-
Las reglas existentes de CloudWatch se actualizan para que coincidan con el nuevo modo
-
Las reglas clave de CloudWatch limitadas permanecen intactas, mantienen los datos históricos continuos para las métricas de limitación:
-
Al cambiar del modo de claves limitadas al modo de claves a las que se ha accedido y limitadas, se preservan las reglas de las claves limitadas existentes y se crean nuevas reglas de claves a las que se ha accedido
-
Al cambiar del modo de claves a las que se ha accedido y limitadas al modo de claves limitadas, solo se preservan las reglas de las claves limitadas y se eliminan las reglas de las claves a las que se ha accedido
-
-
La facturación se ajusta inmediatamente para reflejar el procesamiento de eventos del nuevo modo
Reglas de CloudWatch Contributor Insights for DynamoDB
Cuando se habilita CloudWatch Contributor Insights para DynamoDB en una tabla o un índice secundario global, DynamoDB crea reglas automáticamente en función del modo seleccionado.
nota
Al habilitar Contributor Insights en la tabla de DynamoDB, se seguirán aplicando los límites de las reglas de Contributor Insights. Para obtener más información, consulte CloudWatch Service Quotas.
Reglas para el modo de claves a las que se ha accedido y limitadas
En el modo de claves a las que se ha accedido y limitadas, DynamoDB crea las siguientes reglas:
-
Most accessed items (partition key) (Elementos a los que más se accede [clave de partición]): identifica las claves de partición de los elementos a los que más se accede de la tabla o del índice secundario global.
Formato de nombre de regla de CloudWatch:
DynamoDBContributorInsights-PKC-[resource_name]-[creationtimestamp] -
Most throttled keys (partition key) (Claves sometidas a más limitaciones controladas [clave de partición]): identifica las claves de partición de los elementos sometidos a más limitaciones controladas de la tabla o del índice secundario global.
Formato de nombre de regla de CloudWatch:
DynamoDBContributorInsights-PKT-[resource_name]-[creationtimestamp]
Si la tabla o el índice secundario global tiene una clave de ordenación, DynamoDB también crea las siguientes reglas específicas para las claves de ordenación:
-
Most accessed keys (partition and sort keys) (Claves a las que más se accede [claves de partición y ordenación]): identifica las claves de partición y ordenación de los elementos a los que más se accede de la tabla o del índice secundario global.
Formato de nombre de regla de CloudWatch:
DynamoDBContributorInsights-SKC-[resource_name]-[creationtimestamp] -
Most throttled keys (partition and sort keys) (Claves sometidas a más limitaciones controladas [claves de partición y ordenación]): identifica las claves de partición y ordenación de los elementos sometidos a más limitaciones controladas de la tabla o del índice secundario global.
Formato de nombre de regla de CloudWatch:
DynamoDBContributorInsights-SKT-[resource_name]-[creationtimestamp]
Reglas para el modo de claves limitadas
En el modo de claves limitadas, DynamoDB crea solo las reglas relacionadas con la limitación:
-
Most throttled keys (partition key) (Claves sometidas a más limitaciones controladas [clave de partición]): identifica las claves de partición de los elementos sometidos a más limitaciones controladas de la tabla o del índice secundario global.
Formato de nombre de regla de CloudWatch:
DynamoDBContributorInsights-PKT-[resource_name]-[creationtimestamp]
Si la tabla o el índice secundario global tiene una clave de clasificación, DynamoDB también crea:
-
Most throttled keys (partition and sort keys) (Claves sometidas a más limitaciones controladas [claves de partición y ordenación]): identifica las claves de partición y ordenación de los elementos sometidos a más limitaciones controladas de la tabla o del índice secundario global.
Formato de nombre de regla de CloudWatch:
DynamoDBContributorInsights-SKT-[resource_name]-[creationtimestamp]
Este enfoque específico reduce la cantidad de reglas activas y el volumen de eventos procesados para diagnosticar mejor los eventos de limitación.
nota
-
Cuando usa la consola de CloudWatch o las API para ver CloudWatch Contributor Insights para DynamoDB, solo ve las reglas correspondientes al modo seleccionado.
-
No puede usar las API o la consola de CloudWatch para modificar o eliminar directamente las reglas creadas por CloudWatch Contributor Insights for DynamoDB. Al desactivar CloudWatch Contributor Insights for DynamoDB en una tabla o un índice secundario global, se eliminan automáticamente las reglas creadas para esa tabla o índice secundario global.
-
Cuando se usa la operación GetInsightRuleReport con reglas de CloudWatch Contributor Insights creadas por DynamoDB, solo
MaxContributorValueyMaximumdevuelven estadísticas útiles. Las demás estadísticas de esta lista no devuelven valores significativos. -
CloudWatch Contributor Insights para DynamoDB tiene un límite de 25 colaboradores. Si se solicitan más de 25 colaboradores, se producirá un error.
Puede crear alarmas de CloudWatch mediante las reglasde CloudWatch Contributor Insights para DynamoDB. Esto le permite recibir una notificación cuando cualquier artículo supere o cumpla un umbral específico para ConsumedThroughputUnits o ThrottleCount. Para obtener más información, consulte Configuración de una alarma en los datos de métricas de Información de colaboradores.
Descripción de los gráficos de CloudWatch Contributor Insights for DynamoDB
CloudWatch Contributor Insights para DynamoDB muestra tipos de gráficos diferentes en las consolas de DynamoDB y CloudWatch en función del modo seleccionado.
Disponibilidad del gráfico por modo
Los gráficos que se muestran dependen del modo de Contributor Insights que haya seleccionado.
-
El modo de claves a las que se ha accedido y limitadas muestra los gráficos de los elementos a los que más se ha accedido y los elementos más limitados
-
El modo de claves limitadas muestra solo los gráficos de los elementos más limitados
Most Accessed Items (Elementos más consultados)
Este gráfico solo está disponible en el modo de claves a las que se ha accedido y limitadas. Use este gráfico para identificar los elementos a los que se accede con más frecuencia en la tabla o el índice secundario global. El gráfico muestra los valores de ConsumedThroughputUnits en el eje Y y el tiempo en el eje X. Cada una de las N claves principales se muestra con su propio color y la leyenda aparece debajo del eje X.
DynamoDB mide la frecuencia de acceso a las claves mediante ConsumedThroughputUnits, que mide el tráfico combinado de lectura y de escritura. ConsumedThroughputUnits se define como sigue:
-
Aprovisionadas: (3 x unidades de capacidad de escritura consumidas) + Unidades de capacidad de lectura consumidas.
-
En diferido: (3 x unidades de solicitud de escritura) + unidades de solicitud de lectura.
En la consola de DynamoDB, cada punto de datos del gráfico representa el máximo de ConsumedThroughputUnits durante un periodo de un minuto. Por ejemplo, un valor de 180 000 ConsumedThroughputUnits en el gráfico indica que se ha accedido continuamente a ese elemento al máximo rendimiento por elemento de 1000 unidades de solicitud de escritura o 3000 unidades de solicitud de lectura a lo largo de 60 segundos durante ese periodo de un minuto (3000 x 60 segundos). Dicho de otro modo, los valores del gráfico representan el minuto con el máximo tráfico de cada periodo de un minuto. Puede cambiar la granularidad de tiempo de la métrica ConsumedThroughputUnits (por ejemplo, para ver métricas de 5 minutos en lugar de 1 minuto) en la consola de CloudWatch.
Si aparecen varias líneas muy agrupadas sin valores atípicos evidentes, indica que la carga de trabajo está relativamente equilibrada para todos los elementos durante ese espacio de tiempo determinado. Si aparecen puntos aislados en el gráfico en lugar de líneas conectadas, indican un elemento al que se ha accedido con frecuencia únicamente durante un breve periodo.
Si la tabla o el índice secundario global tiene una clave de ordenación, DynamoDB crea dos gráficos: uno para las claves de partición a las que más se accede y otro para los pares de clave de partición y clave de ordenación de acceso más frecuente. Puede ver el tráfico en el nivel de clave de partición en el gráfico de sólo clave de partición. Puede ver el tráfico en el nivel de elemento en los gráficos de clave de ordenación + partición.
Most Throttled Items (Elementos sometidos a más limitaciones controladas)
Este gráfico está disponible en ambos modos. Use este gráfico para identificar los elementos sometidos a más limitaciones controladas en la tabla o el índice secundario global. El gráfico muestra los valores de ThrottleCount en el eje Y y el tiempo en el eje X. Cada una de las N claves principales se muestra con su propio color y la leyenda aparece debajo del eje X.
DynamoDB mide la frecuencia de las limitaciones controladas mediante ThrottleCount, que es la cantidad de excepciones ProvisionedThroughputExceededException y ThrottlingException y de errores RequestLimitExceeded.
No se mide la limitación controlada de la escritura causada por una capacidad de escritura insuficiente para un índice secundario global. Puede utilizar el gráfico Most Accessed Items (Elementos a los que más se accede) del índice secundario global para identificar patrones de acceso desequilibrados que pueden causar la limitación controlada de la escritura. Para obtener más información, consulte Consideraciones sobre el rendimiento aprovisionado para los índices secundarios globales.
En la consola de DynamoDB, cada punto de datos del gráfico representa el número de eventos de limitación controlada durante un período de un minuto.
Si no aparecen datos en este gráfico, indica que las solicitudes no se están sometido a limitaciones controladas. Si ve puntos aislados en el gráfico en lugar de líneas conectadas, indican un elemento que se ha sometido a limitaciones controladas durante un breve periodo.
Si la tabla o el índice secundario global tiene una clave de ordenación, DynamoDB crea dos gráficos: uno para las claves de partición sometidas a más limitaciones controladas y otro para los pares de clave de partición y clave de ordenación sometidos a más limitaciones controladas. Puede ver la cantidad de limitaciones controladas en el nivel de particiones en el gráfico de solo claves y la cantidad de limitaciones controladas en el nivel de elementos en los gráficos de partición y clave de ordenación.
nota
En el modo de claves limitadas, este es el único tipo de gráfico que verá. La ausencia de datos en estos gráficos indica un buen rendimiento de la tabla sin que se produzcan limitaciones.
Ejemplos de informes
En el ejemplo siguiente, se muestran los informes generados para una tabla que tiene una clave de partición y una clave de clasificación en los modos de claves a las que se ha accedido y limitadas. En el modo de claves limitadas, solo verá la parte de este informe relacionada con la limitación.
Interacciones con otras características de DynamoDB
En las siguientes secciones se describe cómo CloudWatch Contributor Insights for DynamoDB se comporta e interactúa con otras características de DynamoDB. Estos comportamientos se aplican a ambos modos a menos que se especifique lo contrario.
Tablas globales
CloudWatch Contributor Insights for DynamoDB monitorea las réplicas de tablas globales como tablas distintas. Es posible que los gráficos de Contributor Insights de una réplica en una región de AWS no muestren los mismos patrones que otra región. Esto se debe a que los datos de escritura se replican en todas las réplicas de una tabla global, pero cada réplica solo atiende al tráfico de lectura de una región.
Cada réplica se puede configurar con un modo de Contributor Insights diferente de forma independiente. Por ejemplo, puede usar el modo de claves a las que se ha accedido y limitadas en la región principal para una supervisión integral, mientras que puede usar el modo de claves limitadas en regiones secundarias para mantener la visibilidad de los problemas de rendimiento.
DynamoDB Accelerator (DAX)
CloudWatch Contributor Insights for DynamoDB no muestra respuestas de caché de DAX. Sólo muestra respuestas para acceder a una tabla o a un índice secundario global.
nota
Información de colaboradores de CloudWatch de DynamoDB no admite solicitudes de PartiQL.
Cifrado en reposo
CloudWatch Contributor Insights for DynamoDB no afecta al modo en que funciona el cifrado en DynamoDB. Los datos de clave principal que se publican en CloudWatch se cifran con la Clave propiedad de AWS. Sin embargo, DynamoDB también admite la Clave administrada de AWS y una clave administrada por el cliente.
Información de colaboradores de CloudWatch para DynamoDB muestra las claves de partición y las claves de clasificación (si es aplicable) de los elementos con limitación a los que se accede con frecuencia. Aunque Información de colaboradores de CloudWatch funciona con tablas de DynamoDB cifradas, es importante tener en cuenta que utiliza el contexto de cifrado propiedad de Amazon, que es independiente del cifrado configurado de la tabla.
Si la clave principal de la tabla de DynamoDB contiene información confidencial y las políticas de seguridad de la organización requieren un control total sobre los procesos de cifrado, habilitar Información de colaboradores de CloudWatch puede no ser adecuado.
Control de acceso detallado
CloudWatch Contributor Insights for DynamoDB no funciona de manera diferente para las tablas con control de acceso detallado (FGAC, por sus siglas en inglés). Es decir, cualquier usuario que tenga los permisos de CloudWatch apropiados puede ver las claves principales protegidas mediante FGAC en los gráficos de CloudWatch Contributor Insights.
Si la clave principal de la tabla contiene datos protegidos mediante FGAC que no desea publicar en CloudWatch, no debería habilitar CloudWatch Contributor Insights para DynamoDB para esa tabla.
Control de acceso
Para controlar el acceso a CloudWatch Contributor Insights for DynamoDB mediante AWS Identity and Access Management (IAM), limite los permisos del plano de control de DynamoDB y los permisos del plano de datos de CloudWatch. Para obtener más información, consulte el artículo sobre uso de IAM con CloudWatch Contributor Insights for DynamoDB.
Facturación de CloudWatch Contributor Insights for DynamoDB
Los cargos por CloudWatch Contributor Insights for DynamoDB aparecen en la sección CloudWatch
Facturación por modo
Los dos modos de Contributor Insights tienen características de facturación diferentes.
-
Facturación de modo de claves a las que se ha accedido y limitadas: en este modo, cada elemento que se escribe o lee a través de una operación de plano de datos representa un evento, independientemente de si la solicitud se realiza correctamente o se limita. Si una tabla o índice secundario global incluye una clave de ordenación, cada elemento leído o escrito representa dos eventos. Esto se debe a que DynamoDB identifica a los principales contribuyentes de series temporales independientes: una para claves de particiones solamente y otra para pares de claves de partición y ordenación.
-
Facturación de modo de claves limitadas: en este modo, solo las solicitudes limitadas generan eventos facturables. Los eventos solo se generan cuando las solicitudes generan errores
ProvisionedThroughputExceededException,ThrottlingExceptionoRequestLimitExceeded. Si una tabla o un índice secundario global incluye una clave de clasificación, cada elemento limitado representa dos eventos (el seguimiento de la clave de partición y el seguimiento de la clave de partición + clasificación).
Ejemplos de facturación
Por ejemplo, supongamos que la aplicación realiza las siguientes operaciones de DynamoDB: una operación GetItem, una operación PutItem y una operación BatchWriteItem que pone cinco elementos. Suponga también que la operación PutItem está limitada, pero que todas las demás operaciones se realizan correctamente.
-
Modo de claves a las que se ha accedido y limitadas
-
Si la tabla o el índice secundario global solo tiene una clave de partición, esto dará como resultado 7 eventos (1 para
GetItem, 1 paraPutItemy 5 paraBatchWriteItem). -
Si la tabla o el índice secundario global tiene una clave de partición y una clave de ordenación, esto dará como resultado 14 eventos (2 para
GetItem, 2 paraPutItemy 10 paraBatchWriteItem).
-
-
Modo de claves limitadas
-
Si la tabla o el índice secundario global solo tiene una clave de partición, esto dará como resultado 1 evento (solo para los
PutItemlimitados). -
Si la tabla o el índice secundario global tiene una clave de partición y una clave de clasificación, esto dará como resultado 2 eventos (2 para los
PutItemlimitados).
Las operaciones correctas
GetItemyBatchWriteItemno generan eventos en el modo de claves limitadas. -
Factores de facturación comunes
Una operación de Query siempre dará como resultado un evento, independientemente del modo o número de elementos devueltos.
A diferencia de otras características de DynamoDB, la facturación de CloudWatch Contributor Insights for DynamoDB no varía en función de lo siguiente:
-
El modo de capacidad (aprovisionada frente a bajo demanda)
-
Si realiza solicitudes de lectura o escritura
-
El tamaño (KB) de los elementos leídos o escritos