EC2: Instâncias EC2 com baixa utilização
Esta regra identifica instâncias Amazon EC2 em estado
runningque apresentam:
Baixa utilização máxima de CPU (< 10%)
Baixo volume total de tráfego de saída de rede (< 5 MB)
Tempo mínimo desde a criação conforme período configurado
O objetivo é detectar instâncias subutilizadas que representam oportunidade de rightsizing ou desligamento.
Contexto da regra e impacto no negócio
Instâncias EC2 frequentemente permanecem em execução mesmo quando:
A aplicação foi descontinuada
A carga reduziu significativamente
O ambiente é utilizado apenas esporadicamente
Foram superdimensionadas inicialmente
Manter instâncias com baixa utilização gera:
Custo recorrente desnecessário
Consumo ineficiente de orçamento
Distorção da análise de capacidade
Essa regra atua como mecanismo de otimização contínua de infraestrutura.
Detalhamento técnico da regra
A regra executa análise regional das instâncias EC2 em execução.
Como a regra é executada
Autentica na conta AWS por região.
Lista instâncias com filtro:
Aplica filtros de tag (inclusão/exclusão).
Para cada instância:
Valida se atende ao critério de tempo mínimo desde criação.
Consulta métricas no CloudWatch para o período configurado:
CPUUtilization(Statistic: Maximum)NetworkOut(Statistic: Sum)
Calcula:
CPU máxima registrada no período
Total de bytes de saída de rede
A instância é sinalizada se atender simultaneamente:
CPU máxima < 10%
NetworkOut total < 5 MB
Lógica aplicada
Uma instância será sinalizada quando:
Campos analisados
Instância EC2:
InstanceIdInstanceTypeLaunchTimeArchitectureTagsRegião
CloudWatch:
CPUUtilization(Maximum)NetworkOut(Sum)
Parâmetros considerados na busca
APIs utilizadas:
ec2:DescribeInstancescloudwatch:GetMetricStatistics
Configuração técnica:
Período analisado:
self.checker.period.daysAgregação diária (86400 segundos)
Thresholds fixos:
CPU < 10%
NetworkOut < 5 MB
Período Avaliado (Filtro Temporal)
Período Avaliado (Filtro Temporal): A regra avalia:
A data de criação da instância (
LaunchTime)As métricas de CPU e NetworkOut dentro do intervalo correspondente aos dias definidos na configuração da regra.
Padrão é configurado para 15 dias, a regra analisará a utilização dos últimos 15 dias e considerará apenas instâncias criadas há pelo menos esse período.
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 possibilidade de:
Rightsizing (redução de tamanho da instância) ou
Desligamento da instância
Fórmula Conceitual
Para desligamento completo:
Para rightsizing:
Campo de custo utilizado
No Billing AWS:
Service: AmazonEC2
Usage Type:
BoxUsage
Line Item Type: Usage
Campo financeiro considerado:
lineitem/unblendedcost
Elementos considerados
Tipo da instância
Região
Horas em execução
Não considera Savings Plans ou RIs aplicadas (análise bruta de uso)
Exemplo aplicado ao Billing
Cenário:
Instância m5.xlarge
Custo mensal aproximado: $150
CPU máxima registrada: 6%
NetworkOut: 2 MB no período
Possível ação:
Rightsize para t3.medium ($35/mês)
Cálculo:
Savings anual:
Dicas de uso e boas práticas para o usuário
Validar padrão de uso sazonal antes de desligar.
Verificar picos fora do período analisado.
Avaliar recomendação de rightsizing em vez de exclusão.
Revisar dependências (Load Balancer, Auto Scaling).
Considerar uso de Instâncias Spot para cargas não críticas.
Cruzar análise com cobertura de RI/Savings Plan.
Possíveis exceções:
Instâncias de standby.
Servidores de contingência (DR).
Ambientes com uso extremamente esporádico.
Recomenda-se validação técnica antes da ação definitiva.
Last updated