Instâncias RDS superdimensionadas

Um banco provisionado para um pico que nunca veio cobra pelo tamanho que tem, não pelo que usa.

O que é esse problema

O RDS cobra pela classe da instância — CPU e memória provisionadas — de forma contínua, independentemente da carga. Um banco dimensionado para suportar um pico de tráfego custa o preço daquele pico o mês inteiro, mesmo que o pico aconteça uma vez por trimestre ou nunca tenha acontecido.

O superdimensionamento em banco de dados tem uma causa específica: é o recurso que dá mais medo de redimensionar. Uma instância EC2 ociosa alguém desliga sem pensar muito; um banco de produção, não. Então a classe escolhida no início do projeto — geralmente com folga generosa, por precaução — tende a permanecer por anos, mesmo quando as métricas mostram que a folga é grande demais.

Diferente de uma instância ociosa, aqui o recurso está em uso legítimo: o banco atende consultas, a aplicação depende dele. O que está errado é a proporção entre o que foi provisionado e o que é consumido — e a correção é reduzir a classe, não desligar.

Como detectamos

Listamos as instâncias de banco com DescribeDBInstances e lemos as métricas que o RDS publica no CloudWatch com GetMetricStatistics — utilização de CPU, memória disponível e conexões — sobre uma janela longa o bastante para que um pico real apareça.

  • Bancos RDS superdimensionados

Quanto custa

O preço varia bastante por classe: uma db.t3.medium custa cerca de US$50 por mês, uma db.m5.large cerca de US$125, uma db.r5.xlarge cerca de US$340 (us-east-1, instância única, sob demanda). Cada degrau para baixo na família costuma cortar o preço pela metade.

Preços de tabela pública da AWS, região us-east-1, sujeitos a alteração. O valor que o relatório mostra é calculado sobre os seus recursos e a sua região.

Como aparece no relatório

Redimensionamento de RDS superdimensionado requer análise · 2 instâncias US$ 174,47/mês

Exemplo ilustrativo, com recursos e valores fictícios. No relatório, cada achado vem com o recurso real, a região e o comando de correção quando existe um seguro.

Sua conta tem isso?

O scan é somente leitura e mostra o que encontrou antes de você pagar por qualquer coisa.

Rodar scan grátis