EBS: EBS com baixo uso de IOPS

Esta regra identifica volumes EBS dos tipos gp3, io1 e io2 cuja utilização máxima de IOPS no período analisado é inferior a 70% da capacidade provisionada.

O objetivo é detectar superdimensionamento de IOPS e oportunidades de redução de custo.


Contexto da regra e impacto no negócio

Volumes com IOPS provisionadas possuem custo diretamente proporcional à quantidade configurada.

Quando a utilização real é significativamente inferior ao provisionado:

  • Há desperdício financeiro

  • O volume está superdimensionado

  • O custo mensal é maior que o necessário

Essa regra permite ajustar a capacidade à demanda real, promovendo eficiência financeira sem impacto operacional.


Detalhamento técnico da regra

A regra realiza varredura regional considerando volumes:

VolumeType IN (gp3, io1, io2)

Exceção aplicada:

  • Volumes gp3 com exatamente 3000 IOPS são ignorados (3000 é o baseline padrão do gp3)


Como a regra é executada

  1. Autentica na conta AWS por região.

  2. Executa:

    com filtro:

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

  4. Para cada volume:

    • Se for gp3 com 3000 IOPS → ignorado.

    • Consulta métricas no CloudWatch:

      • VolumeReadOps

      • VolumeWriteOps

    • Período de agregação: 300 segundos.

    • Estatística: Maximum

  5. Calcula o pico real de IOPS utilizado.

  6. Compara com IOPS provisionadas.

  7. Sinaliza quando uso < 70%.


Lógica aplicada

Cálculo:

Conversão aplicada:

Critério de alerta:

Exceção:


Campos analisados

Volume EBS:

  • VolumeId

  • VolumeType

  • Size

  • State

  • Iops

  • CreateTime

  • Tags

  • Região

CloudWatch:

  • VolumeReadOps

  • VolumeWriteOps


Parâmetros considerados na busca

APIs utilizadas:

  • ec2:DescribeVolumes

  • cloudwatch:GetMetricData

Configuração:

  • Período analisado: self.checker.period.days

  • Granularidade: 300 segundos

  • Threshold fixo:

    • Utilização < 70%


Período Avaliado (Filtro Temporal)

Período Avaliado: 15 dias

Exemplo:

Padrão é configurado para 15 dias, o pico de IOPS será avaliado dentro dos últimos 15 dias.

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

O savings é baseado na redução das IOPS provisionadas para um nível compatível com a utilização real.


Fórmula Conceitual

Ou, de forma consolidada no Billing:

O percentual dependerá do nível de superdimensionamento identificado.


Campo de custo utilizado

No Billing AWS:

  • Service: AmazonEC2

  • Usage Type:

    • EBS:PIOPS

  • Line Item Type: Usage

  • Campo financeiro considerado:

    • lineitem/unblendedcost


Exemplo aplicado ao Billing

Cenário:

  • Volume io2

  • 20.000 IOPS provisionadas

  • Pico real identificado: 6.000 IOPS

  • Utilização: 30%

Possível ajuste:

  • Redução para 8.000 IOPS

Impacto:

Se custo mensal atual é $2.000:

Se redução estimada de 50%:


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

  • Avaliar picos sazonais antes de reduzir IOPS.

  • Manter margem de segurança operacional.

  • Priorizar volumes com grande diferença entre provisionado e uso.

  • Monitorar após ajuste.

  • Considerar migração para gp3 quando aplicável.

Possíveis exceções:

  • Sistemas com picos raros mas críticos.

  • Workloads financeiros ou transacionais.

  • Aplicações com SLA rigoroso.

Recomenda-se ajuste gradual e monitoramento contínuo após a redução.

Last updated