CloudWatch Contributor Insights para DynamoDB: como funciona
O Amazon DynamoDB integra-se ao CloudWatch Contributor Insights para fornecer informações sobre os itens mais acessados e com maior controle de utilização em uma tabela ou em um índice secundário global. O DynamoDB fornece essas informações a você por meio de regras, relatórios e grafos de dados de relatório do CloudWatch Contributor Insights.
O CloudWatch Contributor Insights para DynamoDB foi projetado para não ter impacto na performance da sua tabela do DynamoDB.
Para ter mais informações sobre o CloudWatch Contributor Insights, consulte Usar o Contributor Insights para analisar dados de alta cardinalidade no Guia do usuário do Amazon CloudWatch.
As seções a seguir descrevem os principais conceitos e o comportamento do CloudWatch Contributor Insights para DynamoDB.
Tópicos
Modos do CloudWatch Contributor Insights para DynamoDB
O CloudWatch Contributor Insights para DynamoDB oferece dois modos distintos para atender às diferentes necessidades de monitoramento.
modo de chaves limitadas
Esse modo se concentra exclusivamente em solicitações com controle de utilização, processando eventos somente quando ocorre controle. Ele oferece informações sobre problemas de desempenho sem os custos indiretos de rastrear todos os padrões de acesso. Nesse modo, o DynamoDB rastreia somente:
-
Itens mais limitados: aqueles que experimentam mais eventos de controle de utilização.
Esse modo é ideal quando:
-
Sua principal preocupação é identificar e resolver problemas de controle de utilização.
-
Você deseja manter o Contributor Insights habilitado continuamente para detecção de controle de utilização em tempo real.
-
Você quer uma abordagem otimizada em termos de custo para monitorar problemas de controle de utilização.
nota
O modo de chaves limitadas processa eventos somente quando ocorre controle de utilização, o que o torna econômico para o monitoramento contínuo. Essa abordagem direcionada permite que você deixe o recurso habilitado permanentemente com um impacto mínimo nos custos, ao mesmo tempo em que oferece visibilidade imediata sobre os problemas de controle de utilização à medida que eles acontecem.
Se sua tabela não sofrer controle de utilização, você não verá nenhum dado nos grafos do Contributor Insights, o que indica um desempenho íntegro. Quando há detecção de controle de utilização, os grafos gerados ajudam a identificar padrões de acesso específicos que causam problemas de desempenho. Essas informações podem ajudar você a implementar estratégias para lidar com padrões de acesso não uniformes.
Para ter estratégias de monitoramento abrangentes, você pode integrar esses insights de controle de utilização a outras métricas do CloudWatch para criar painéis unificados que correlacionam os eventos de controle de utilização com o desempenho geral da tabela.
Modo de chaves acessadas e limitadas
Esse modo oferece monitoramento abrangente de itens acessados e limitados. Nesse modo, o DynamoDB rastreia:
-
Itens mais acessados: aqueles que consomem a maior capacidade de leitura e gravação.
-
Itens mais limitados: aqueles que experimentam mais eventos de controle de utilização.
Esse modo é ideal quando você precisa de visibilidade completa dos padrões de acesso da sua tabela e quer entender tanto os itens de alto tráfego quanto os problemas de controle de utilização.
Alternar entre os modos
Você pode alternar entre os modos a qualquer momento usando o console, a AWS CLI ou as APIs do DynamoDB. Quando você alterna os modos:
-
As regras existentes do CloudWatch são atualizadas para corresponder ao novo modo.
-
As regras de chaves limitadas do CloudWatch permanecem intactas, mantendo seus dados históricos contínuos para métricas de controle de utilização:
-
Quando você alterna do modo de chaves limitadas para o modo de chaves acessadas e limitadas, as regras de chaves limitadas existentes são preservadas e novas regras de chaves acessadas são criadas.
-
Quando você alterna do modo de chaves acessadas e limitadas para o modo de chaves limitadas, as regras de chaves limitadas existentes são preservadas e as regras de chaves acessadas são removidas.
-
-
A cobrança é ajustada imediatamente para exibir o processamento de eventos do novo modo
Regras do CloudWatch Contributor Insights para DynamoDB
Ao habilitar o CloudWatch Contributor Insights para o DynamoDB em uma tabela ou em um índice secundário global, o DynamoDB cria regras em seu nome com base no modo selecionado.
nota
Ao habilitar o Contributor Insights na sua tabela do DynamoDB, observe que os limites das regras do Contributor Insights continuam aplicáveis. Para obter mais informações, consulte Cotas de serviço do CloudWatch.
Regras para o modo de chaves acessadas e limitadas
No modo de chaves acessadas e limitadas, o DynamoDB cria as seguintes regras:
-
Itens mais acessados (chave de partição): identifica as chaves de partição dos itens mais acessados na tabela ou no índice secundário global.
Formato do nome da regra do CloudWatch:
DynamoDBContributorInsights-PKC-[resource_name]-[creationtimestamp]
-
Chaves mais limitadas (chave de partição): identifica as chaves de partição dos itens mais limitados na tabela ou no índice secundário global.
Formato do nome da regra do CloudWatch:
DynamoDBContributorInsights-PKT-[resource_name]-[creationtimestamp]
Se a tabela ou o índice secundário global tiver uma chave de classificação, o DynamoDB também criará as seguintes regras específicas para chaves de classificação:
-
Chaves mais acessadas (chaves de partição e de classificação): identifica as chaves de partição e de classificação dos itens mais acessados na tabela ou no índice secundário global.
Formato do nome da regra do CloudWatch:
DynamoDBContributorInsights-SKC-[resource_name]-[creationtimestamp]
-
Chaves mais limitadas (chaves de partição e de classificação): identifica as chaves de partição e de classificação dos itens mais limitadas na tabela ou no índice secundário global.
Formato do nome da regra do CloudWatch:
DynamoDBContributorInsights-SKT-[resource_name]-[creationtimestamp]
Regras para o modo de chaves limitadas
No modo de chaves limitadas, o DynamoDB cria somente regras relacionadas ao controle de utilização:
-
Chaves mais limitadas (chave de partição): identifica as chaves de partição dos itens mais limitados na tabela ou no índice secundário global.
Formato do nome da regra do CloudWatch:
DynamoDBContributorInsights-PKT-[resource_name]-[creationtimestamp]
Se a tabela ou o índice secundário global tiver uma chave de classificação, o DynamoDB também criará:
-
Chaves mais limitadas (chaves de partição e de classificação): identifica as chaves de partição e de classificação dos itens mais limitadas na tabela ou no índice secundário global.
Formato do nome da regra do CloudWatch:
DynamoDBContributorInsights-SKT-[resource_name]-[creationtimestamp]
Essa abordagem direcionada reduz o número de regras ativas e diminui o volume de eventos processados para diagnosticar melhor os eventos de controle de utilização.
nota
-
Ao usar o console ou as APIs do CloudWatch para visualizar o CloudWatch Contributor Insights para DynamoDB, só é possível ver as regras correspondentes ao modo selecionado.
-
Não é possível usar as APIs ou o console do CloudWatch para excluir ou modificar diretamente as regras criadas pelo CloudWatch Contributor Insights para DynamoDB. Desabilitar o CloudWatch Contributor Insights para DynamoDB em uma tabela ou em um índice secundário global exclui automaticamente as regras criadas para essa tabela ou para esse índice secundário global.
-
Quando a operação GetInsightRuleReport é usada com regras do CloudWatch Contributor Insights criadas pelo DynamoDB, somente
MaxContributorValue
eMaximum
retornam estatísticas úteis. As outras estatísticas dessa lista não retornam valores significativos. -
O CloudWatch Contributor Insights para DynamoDB tem um limite de 25 colaboradores. Solicitar mais de 25 colaboradores retornará um erro.
Você pode criar alarmes do CloudWatch usando as regras do CloudWatch Contributor Insights para DynamoDB. Isso permite que você seja notificado quando um item exceder ou atingir um limite específico para ConsumedThroughputUnits
ou ThrottleCount
. Para ter mais informações, consulte Setting an alarm on Contributor Insights metric data.
Entender o CloudWatch Contributor Insights para gráficos do DynamoDB
Dependendo do modo selecionado, o CloudWatch Contributor Insights para DynamoDB exibe diferentes tipos de grafos no console do DynamoDB e no console do CloudWatch.
Disponibilidade de grafos por modo
Os grafos exibidos dependem do modo selecionado do Contributor Insights.
-
O modo de chaves acessadas e limitadas exibe os grafos de itens mais acessados e de itens mais limitados.
-
O modo de chaves aceleradas exibe somente os grafos de itens mais limitados.
Itens mais acessados
Esse grafo está disponível somente no modo de chaves acessadas e limitadas. Use esse gráfico para identificar os itens mais acessados na tabela ou no índice secundário global. O gráfico exibe ConsumedThroughputUnits
no eixo y e o tempo no eixo x. Cada uma das principais chaves N são exibidas em sua própria cor com uma legenda exibida abaixo do eixo x.
O DynamoDB mede a frequência de acesso a chaves usando ConsumedThroughputUnits
, que mede o tráfego de leitura e de gravação combinados. ConsumedThroughputUnits
é definido como o seguinte:
-
Provisionado: (3 x unidades de capacidade de gravação consumidas) + unidades de capacidade de leitura consumidas
-
Sob demanda: (3 x unidades de solicitação de gravação) + unidades de solicitação de leitura
No console do DynamoDB, cada ponto de dados no gráfico representa o máximo de ConsumedThroughputUnits
em um período de 1 minuto. Por exemplo, um valor do gráfico de 180.000 ConsumedThroughputUnits
indica que o item foi acessado continuamente ao throughput máximo por item de 1.000 unidades de solicitação de gravação ou 3.000 unidades de solicitação de leitura durante um intervalo de 60 segundos dentro desse período de 1 minuto (3.000 x 60 segundos). Em outras palavras, os valores no gráfico representam o minuto com tráfego mais alto dentro de cada período de um minuto. Você pode alterar a granularidade de tempo da métrica ConsumedThroughputUnits
(por exemplo, para exibir métricas de 5 minutos em vez de um minuto) no console do CloudWatch.
Se forem exibidas várias linhas estreitamente agrupadas sem pontos fora da curva óbvios, isso indicará que a workload está relativamente equilibrada entre os itens na janela de tempo especificada. Se forem exibidos pontos isolados no gráfico em vez de linhas conectadas, isso indicará um item que foi frequentemente acessado somente por um breve período.
Se a tabela ou o índice secundário global tiver uma chave de classificação, o DynamoDB criará dois gráficos: um para as chaves de partição mais acessadas e outro para os pares de chave de classificação + partição mais acessados. É possível ver o tráfego no nível de chave de partição no gráfico apenas de chave de partição. Você pode ver o tráfego no nível do item nos gráficos de chave de partição + classificação.
Itens com maior controle de utilização
Esse grafo está disponível nos dois modos. Use esse gráfico para identificar os itens mais limitados na tabela ou no índice secundário global. O gráfico exibe ThrottleCount
no eixo y e o tempo no eixo x. Cada uma das principais chaves N são exibidas em sua própria cor com uma legenda exibida abaixo do eixo x.
O DynamoDB mede a frequência de limitação usando ThrottleCount
, que é a contagem dos erros ProvisionedThroughputExceededException
, ThrottlingException
e RequestLimitExceeded
.
A controle de utilização de gravação causado por capacidade de gravação insuficiente para um índice secundário global não é medida. Você pode usar o gráfico Itens mais acessados do índice secundário global para identificar padrões de acesso desequilibrados que podem causar controle de utilização de gravação. Para ter mais informações, consulte Considerações sobre throughput provisionado para índices secundários globais.
No console do DynamoDB, cada ponto de dados no gráfico representa a contagem de eventos de limitação em um período de 1 minuto.
Se não forem exibidos dados neste gráfico, isso indicará que as solicitações não estão sendo limitadas. Se você vir pontos isolados no gráfico em vez de linhas conectadas, isso indica que um item foi frequentemente limitado por um breve período.
Se a tabela ou o índice secundário global tiver uma chave de classificação, o DynamoDB criará dois gráficos: um para as chaves de partição mais limitadas e outro para os pares de chave de classificação + partição mais limitados. É possível ver a contagem de limitação no nível da chave de partição no gráfico somente da chave de partição, e a contagem de limitação no nível do item nos gráficos de chave de classificação + partição.
nota
No modo de chaves limitadas, esse é o único tipo de grafo que você verá. A ausência de dados nesses grafos indica um desempenho íntegro da tabela, sem a ocorrência de controle de utilização.
Exemplos de relatório
O exemplo a seguir mostra os relatórios gerados para uma tabela com uma chave de partição e uma chave de classificação nos modos de chaves acessadas e limitadas. No modo de chaves limitadas, é possível ver somente a parte relacionada ao controle de utilização desse relatório.

Interações com outros recursos do DynamoDB
As seções a seguir descrevem como o CloudWatch Contributor Insights para DynamoDB se comporta e interage com vários outros recursos no DynamoDB. Esses comportamentos se aplicam a ambos os modos, a menos que seja especificado de outra forma.
Tabelas globais
O CloudWatch Contributor Insights para DynamoDB monitora réplicas de tabelas globais como tabelas distintas. Os gráficos do Contributor Insights para uma réplica em uma região da AWS podem não mostrar os mesmos padrões que outra região. Isso ocorre porque os dados de gravação são replicados em todas as réplicas em uma tabela global, mas cada réplica pode atender ao tráfego de leitura limitado à região.
Cada réplica pode ser configurada com um modo diferente do Contributor Insights de forma independente. Por exemplo, você pode usar o modo de chaves acessadas e limitadas em sua região principal para ter um monitoramento abrangente e usa o modo de chaves limitadas em regiões secundárias para manter a visibilidade sobre problemas de desempenho.
DynamoDB Accelerator (DAX)
O CloudWatch Contributor Insights para DynamoDB não mostra respostas em cache do DAX. Ele mostra apenas respostas para acessar uma tabela ou um índice secundário global.
nota
O CloudWatch Contributor Insights para DynamoDB não comporta solicitações PartiQL.
Criptografia em repouso
O CloudWatch Contributor Insights para DynamoDB não afeta a maneira como a criptografia funciona no DynamoDB. Os dados de chave primária publicados no CloudWatch são criptografados com a Chave pertencente à AWS. Porém, o DynamoDB também é compatível com Chave gerenciada pela AWS e uma chave gerenciada pelo cliente.
O CloudWatch Contributor Insights para DynamoDB exibe as chaves de partição e as chaves de classificação (se aplicável) de itens acessados com frequência e itens com controle de utilização. Embora o CloudWatch Contributor Insights funcione com tabelas criptografadas do DynamoDB, é importante observar que ele usa seu próprio contexto de criptografia de propriedade da Amazon, que é separado da criptografia configurada da tabela.
Se a chave primária da sua tabela do DynamoDB contiver informações confidenciais e as políticas de segurança da sua organização exigirem controle total sobre os processos de criptografia, habilitar o CloudWatch Contributor Insights pode não ser adequado.
Controle de acesso refinado
O CloudWatch Contributor Insights para DynamoDB não funciona de forma diferente para tabelas com controle de acesso refinado (FGAC). Em outras palavras, qualquer usuário com as permissões apropriadas do CloudWatch poderá visualizar chaves primárias protegidas por FGAC nos gráficos do CloudWatch Contributor Insights.
Se a chave primária da tabela tiver dados protegidos por um controle de acesso refinado (FGAC) que você não deseja que sejam publicados no CloudWatch, não habilite o CloudWatch Contributor Insights para DynamoDB para essa tabela.
Controle de acesso
O controle de acesso ao CloudWatch Contributor Insights para DynamoDB é feito com o AWS Identity and Access Management (IAM) por meio da limitação das permissões do ambiente de gerenciamento do DynamoDB e das permissões do plano de dados do CloudWatch. Para obter mais informações, consulte Usar o IAM com o CloudWatch Contributor Insights para DynamoDB.
Faturamento do CloudWatch Contributor Insights para DynamoDB
As cobranças do CloudWatch Contributor Insights para DynamoDB aparecem na seção CloudWatch
Cobrança de acordo com o modo
Os dois modos do Contributor Insights têm características de cobrança diferentes.
-
Cobrança no modo de chaves acessadas e limitadas: nesse modo, cada item gravado ou lido por meio de uma operação de plano de dados representa um evento, independentemente de a solicitação ter êxito ou sofrer controle de utilização. Se uma tabela ou um índice secundário global incluir uma chave de classificação, cada item que for lido ou gravado representará dois eventos. Isso ocorre porque o DynamoDB está identificando os principais colaboradores de séries temporais separados: um para chaves de partições somente e outro para pares de chaves de partição e de classificação.
-
Cobrança no modo de chaves limitadas: nesse modo, somente solicitações com controle de utilização geram eventos faturáveis. Os eventos são gerados somente quando as solicitações resultam em um erro
ProvisionedThroughputExceededException
,ThrottlingException
ouRequestLimitExceeded
. Se uma tabela ou índice secundário global incluir uma chave de classificação, cada item com controle de utilização representará dois eventos (rastreamento da chave de partição e rastreamento da chave de partição + classificação).
Exemplos de faturamento
Por exemplo, vamos supor que sua aplicação execute as seguintes operações do DynamoDB: GetItem
, PutItem
e uma BatchWriteItem
que insere cinco itens. Suponha também que a operação PutItem
sofra controle de utilização e todas as outras operações sejam bem-sucedidas.
-
Modo de chaves acessadas e limitadas
-
Se a tabela ou o índice secundário global tiver apenas uma chave de partição, isso resultará em 7 eventos (1 para
GetItem
, 1 paraPutItem
e 5 paraBatchWriteItem
). -
Se a tabela ou o índice secundário global tiver uma chave de partição e uma chave de classificação, isso resultará em 14 eventos (2 para
GetItem
, 2 paraPutItem
e 10 paraBatchWriteItem
).
-
-
Modo de chaves limitadas
-
Se a tabela ou o índice secundário global tiver apenas uma chave de partição, isso resultará em um único evento (somente para a operação
PutItem
com controle de utilização). -
Se a tabela ou o índice secundário global tiver apenas uma chave de classificação, isso resultará em dois eventos (dois para a operação
PutItem
com controle de utilização).
As operações
GetItem
eBatchWriteItem
bem-sucedidas não geram eventos no modo de chaves limitadas. -
Fatores comuns de cobrança
Uma operação Query
sempre resulta em um evento, independentemente do número de itens exibidos.
Ao contrário de outros recursos do DynamoDB, o CloudWatch Contributor Insights para faturamento do DynamoDB não varia de acordo com o seguinte:
-
O modo de capacidade (provisionado versus sob demanda)
-
Se você executa solicitações de leitura ou gravação
-
O tamanho (KB) dos itens lidos ou gravados