ELB: ELB sem utilização

Esta regra identifica Load Balancers (Classic ELB e ELBv2 – Application ou Network) que não possuem uso ativo, ou seja:

  • Classic ELB sem instâncias associadas

  • ELBv2 sem target groups e sem listeners

O objetivo é detectar balanceadores ociosos que continuam gerando custo.


Contexto da regra e impacto no negócio

Load Balancers geram custo contínuo mesmo quando:

  • Não possuem tráfego

  • Não possuem instâncias registradas

  • Foram criados para testes e abandonados

  • Aplicações foram desativadas

Impactos:

  • Custo fixo recorrente

  • Crescimento desnecessário de infraestrutura

  • Falta de governança de recursos de rede

Essa regra é uma otimização direta de infraestrutura ociosa.


Detalhamento técnico da regra

A regra realiza varredura regional para:

  • Classic Load Balancers (ELB v1)

  • Application e Network Load Balancers (ELB v2)

Aplica validação de uso e filtro temporal de criação.


Como a regra é executada

  1. Autentica na conta AWS por região.

  2. Executa:

  3. Coleta tags via:

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

  5. Para cada Load Balancer:

    • Aplica filtro temporal (CreatedTime).

    • Verifica uso:

Para Classic ELB (v1)

Para ELBv2 (Application/Network)

Executa:

Se:

→ considerado não utilizado

  1. Recursos que atendem os critérios são sinalizados.


Lógica aplicada

Um Load Balancer será sinalizado quando:


Campos analisados

Load Balancer:

  • LoadBalancerName

  • LoadBalancerArn

  • CreatedTime

  • DNSName

  • VPCId

  • Type

  • Tags

  • Região

Campos críticos:

  • Instances (v1)

  • Target Groups (v2)

  • Listeners (v2)


Parâmetros considerados na busca

APIs utilizadas:

  • elb:DescribeLoadBalancers

  • elbv2:DescribeLoadBalancers

  • elb:DescribeTags

  • elbv2:DescribeTags

  • elbv2:DescribeTargetGroups

  • elbv2:DescribeListeners

Configuração adicional:

  • Filtro temporal baseado em CreatedTime

  • Operador configurável (greater_than ou less_than)

  • Dias definidos em checker.period.days


Período Avaliado (Filtro Temporal)

Período Avaliado: 15 dias

A regra considera:

Configuração padrão é para greater_than 15 dias, apenas Load Balancers criados há mais de 15 dias serão avaliados.

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 completa do Load Balancer ocioso.


Fórmula Oficial de Savings

O recurso não possui valor operacional quando não está em uso.


Campo de custo utilizado

No Billing AWS:

  • Service: AmazonEC2 ou ElasticLoadBalancing

  • Line Item Type: Usage

  • Usage Types:

    • LoadBalancerUsage

    • LCUUsage (para ALB/NLB)

  • Campo financeiro considerado:

    • lineitem/unblendedcost


Exemplo aplicado ao Billing

Cenário:

  • 4 Application Load Balancers não utilizados

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

  • Custo total: $100/mês

Cálculo:

Savings anual:


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

  • Validar se o LB não está aguardando deploy.

  • Confirmar se não é ambiente de contingência.

  • Revisar ambientes de teste antigos.

  • Automatizar limpeza via pipeline.

  • Monitorar criação manual fora de IaC.

Possíveis exceções:

  • Load Balancers reservados para failover.

  • Ambientes de staging aguardando uso.

  • Projetos em implantação.

Recomenda-se validação rápida antes da exclusão definitiva.

Last updated