CloudWatch Contributor Insights para DynamoDB: como funciona - Amazon DynamoDB

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.

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.

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 as seguintes regras em seu nome:

  • 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]

nota

Ao habilitar o Contributor Insights na tabela do DynamoDB, observe que os limites das regras do Contributor Insights continuam aplicáveis. Para ter mais informações, consulte Cotas de serviço do CloudWatch.

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]

nota
  • 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 e Maximum 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

O CloudWatch Contributor Insights para DynamoDB exibe dois tipos de gráficos nos consoles do DynamoDB e do CloudWatch: Itens mais acessados e Itens mais limitados.

Itens mais acessados

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

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.

Exemplos de relatório

Veja a seguir exemplos dos relatórios gerados para uma tabela com uma chave de partição e uma chave de classificação.

Quatro relatórios diferentes do Contributor Insights mostrando os itens mais acessados e os itens mais limitados.

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.

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.

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 DynamoDB CCI não comporta solicitações PartiQL.

Criptografia inativa

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.

Os grafos do CloudWatch Contributor Insights para DynamoDB exibem a chave de partição e a chave de classificação (se aplicável) de itens acessados com frequência e itens com controle de utilização frequente em texto não formatado. Se você precisar usar o Key Management Service (KMS) do AWS para criptografar a chave de partição desta tabela e classificar os dados de chave com um Chave gerenciada pela AWS ou chave gerenciada pelo cliente, não habilite o CloudWatch Contributor Insights para DynamoDB para esta tabela.

Se for necessário que os dados da chave primária sejam criptografados com a Chave gerenciada pela AWS ou com uma chave gerenciada pelo cliente, não habilite o CloudWatch Contributor Insights para DynamoDB para essa tabela.

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 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 da sua fatura mensal. Essas cobranças são calculadas com base no número de eventos do DynamoDB que são processados. Para tabelas e índices secundários globais com o CloudWatch Contributor Insights para DynamoDB ativado, cada item gravado ou lido por uma operação de plano de dados representa um evento.

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.

Por exemplo, vamos supor que sua aplicação execute as seguintes operações do DynamoDB: uma GetItem, uma PutItem e uma BatchWriteItem que coloca cinco itens

  • 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 para PutItem e 5 para BatchWriteItem).

  • 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 para PutItem e 10 para BatchWriteItem).

  • Uma operação Query sempre resulta em um evento, independentemente do número de itens retornados.

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