DDB: DynamoDB OnDemand

Esta regra identifica tabelas Amazon DynamoDB configuradas no modo de cobrança On-Demand (PAY_PER_REQUEST).

O objetivo é identificar oportunidades de migração para o modo provisionado quando o padrão de consumo for previsível, possibilitando redução de custos.


Contexto da regra e impacto no negócio

O modo On-Demand é ideal para:

  • Workloads imprevisíveis

  • Aplicações com variação extrema de tráfego

  • Ambientes novos ou experimentais

Entretanto, para cargas estáveis e previsíveis, o modo provisionado pode gerar:

  • Custo significativamente menor

  • Melhor previsibilidade orçamentária

  • Otimização estrutural de capacidade

Essa regra permite avaliar tabelas que podem estar operando em um modelo financeiramente ineficiente.


Detalhamento técnico da regra

A regra realiza varredura regional e identifica tabelas cujo:

BillingModeSummary.BillingMode = PAY_PER_REQUEST

Após identificar a tabela, coleta métricas de consumo para fins informativos.


Como a regra é executada

  1. Autentica na conta AWS por região.

  2. Executa:

  3. Para cada tabela:

    • Executa:

    • Verifica:

  4. Coleta tags com:

  5. Coleta métricas dos últimos 30 dias no CloudWatch:

    • ConsumedReadCapacityUnits

    • ConsumedWriteCapacityUnits

    • Estatística: Average

    • Período: 86400 segundos (diário)

  6. Calcula média de consumo de leitura e escrita.

  7. Aplica filtros de tag (inclusão/exclusão).


Lógica aplicada

Uma tabela será sinalizada quando:

Não há threshold de utilização mínimo.

A regra apenas identifica tabelas em modo On-Demand.


Campos analisados

DynamoDB Table:

  • TableName

  • BillingModeSummary.BillingMode

  • CreationDateTime

  • TableArn

  • Tags

  • Região

CloudWatch:

  • ConsumedReadCapacityUnits

  • ConsumedWriteCapacityUnits


Parâmetros considerados na busca

APIs utilizadas:

  • dynamodb:ListTables

  • dynamodb:DescribeTable

  • dynamodb:ListTagsOfResource

  • cloudwatch:GetMetricStatistics

Configuração fixa:

  • Período de análise de métricas: 30 dias

  • Estatística: Average

  • Granularidade: 1 dia


Período Avaliado (Filtro Temporal)

Período Avaliado: 15 dias

Padrão configurado é que as métricas analisadas correspondem aos últimos 15 dias, contados a partir da data da execução da regra.

Esse parâmetro de avaliação pode ser ajustado nas configurações das regras.


Intervalo de Análise

Execução padrão: a cada 8 horas.


Cálculo de Savings

Segue o ajuste exclusivamente da seção de Cálculo de Savings da regra DynamoDB On-Demand.


Cálculo de Savings

O savings estimado considera uma redução média de 10% ao migrar tabelas de On-Demand (PAY_PER_REQUEST) para o modo Provisionado, quando aplicável.


Fórmula Oficial de Savings


Campo de custo utilizado

No Billing AWS:

  • Service: AmazonDynamoDB

  • Line Item Type: Usage

  • Usage Types relacionados a:

    • ReadRequestUnits

    • WriteRequestUnits

  • Campo financeiro considerado:

    • lineitem/unblendedcost


Interpretação

A regra assume potencial médio de economia de 10% sobre o custo atual da tabela em modo On-Demand.

Exemplo:

Se o custo mensal atual é:

Aplicando a fórmula:

Novo custo estimado:


Dicas de uso e boas práticas para o usuário

  • Avaliar variação de consumo antes de migrar.

  • Verificar picos sazonais.

  • Considerar Auto Scaling em modo provisionado.

  • Priorizar tabelas com consumo estável.

  • Validar impacto em workloads críticos.

Possíveis exceções:

  • Aplicações com picos imprevisíveis.

  • Sistemas com crescimento abrupto.

  • Workloads com grande variabilidade diária.

Recomenda-se simulação antes da migração definitiva.

Last updated