ELB: ELB sem solicitações

Esta regra identifica Load Balancers (Classic ELB e ELBv2 – Application, Network ou Gateway) que não apresentaram tráfego durante o período analisado.

O objetivo é detectar balanceadores que estão ativos, mas não estão processando requisições ou tráfego.


Contexto da regra e impacto no negócio

Load Balancers continuam gerando custo mesmo quando:

  • Não recebem requisições

  • Não processam tráfego

  • Foram criados para testes e esquecidos

  • Aplicações foram desativadas

Impactos:

  • Custo fixo mensal desnecessário

  • Consumo de LCUs sem valor operacional

  • Complexidade desnecessária na arquitetura

Essa regra complementa a verificação estrutural de uso, avaliando também o uso real via métricas.


Detalhamento técnico da regra

A regra realiza varredura regional para:

  • Classic Load Balancers (ELB v1)

  • Application, Network e Gateway Load Balancers (ELB v2)

Aplica:

  • Filtro temporal de criação

  • Validação de ausência de tráfego via CloudWatch


Como a regra é executada

  1. Autentica na conta AWS por região.

  2. Executa:

  3. Coleta tags.

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

  5. Para cada Load Balancer:

    • Aplica filtro temporal (CreatedTime).

    • Consulta métricas no CloudWatch dentro do período configurado:

Para Classic ELB (v1)

Para ELBv2

Namespace varia conforme tipo:

  • Application → AWS/ApplicationELB

  • Network → AWS/NetworkELB

  • Gateway → AWS/GatewayELB

Metric utilizada:

  1. Se todos os datapoints retornarem Sum = 0, o recurso é sinalizado.


Lógica aplicada

Um Load Balancer será sinalizado quando:

Validação técnica:


Campos analisados

Load Balancer:

  • LoadBalancerName

  • LoadBalancerArn

  • CreatedTime

  • Type

  • DNSName

  • VPCId

  • Tags

  • Região

CloudWatch:

  • RequestCount (ELB v1)

  • ProcessedBytes (ELB v2)


Parâmetros considerados na busca

APIs utilizadas:

  • elb:DescribeLoadBalancers

  • elbv2:DescribeLoadBalancers

  • cloudwatch:GetMetricStatistics

  • elb:DescribeTags

  • elbv2:DescribeTags

Configuração:

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

  • Granularidade: 86400 segundos (1 dia)

  • Estatística: Sum


Período Avaliado (Filtro Temporal)

Período Avaliado: 15 dias

A regra considera:

E avalia métricas dentro do intervalo:

Exemplo:

Padrão é configurado para 15 dias, analisa tráfego nos ú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

A economia potencial corresponde à remoção do Load Balancer que não está processando tráfego.


Fórmula Oficial de Savings

O recurso não está gerando valor operacional.


Campo de custo utilizado

No Billing AWS:

  • Service: ElasticLoadBalancing

  • Line Item Type: Usage

  • Usage Types:

    • LoadBalancerUsage

    • LCUUsage

  • Campo financeiro considerado:

    • lineitem/unblendedcost


Exemplo aplicado ao Billing

Cenário:

  • 3 Application Load Balancers

  • Sem tráfego nos últimos 30 dias

  • Custo médio por ALB: $40/mês

Cálculo:

Savings anual:


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

  • Confirmar se não é ambiente aguardando ativação.

  • Validar pipelines de deploy.

  • Revisar ambientes de teste antigos.

  • Avaliar dependências DNS antes da exclusão.

  • Monitorar criação de LBs fora de IaC.

Possíveis exceções:

  • Load Balancers sazonais.

  • Ambientes de contingência.

  • Infraestrutura reservada para eventos específicos.

Recomenda-se validação antes da remoção definitiva.

Last updated