CF: Comprimindo Distribuições CloudFront

Esta regra identifica distribuições Amazon CloudFront que não estão corretamente configuradas para compressão e cache eficiente, incluindo:

  • Compressão desabilitada (Compress = false)

  • Cache Policy sem Gzip habilitado

  • Cache Policy sem Brotli habilitado

  • TTLs configurados como 0

  • Behaviors legados sem Cache Policy moderna

O objetivo é garantir otimização de performance e eficiência de transferência de dados.


Contexto da regra e impacto no negócio

CloudFront mal configurado pode gerar:

  • Maior consumo de largura de banda

  • Aumento de custo de transferência de dados

  • Performance inferior para usuários finais

  • Experiência degradada

Compressão adequada (Gzip e Brotli) reduz:

  • Tamanho das respostas HTTP

  • Transferência de dados

  • Latência percebida

  • Custo de Data Transfer Out

Essa regra é classificada como ECONOMIA + PERFORMANCE.


Detalhamento técnico da regra

A regra analisa cada distribuição CloudFront globalmente e valida:

  1. Configuração do DefaultCacheBehavior

  2. Configuração de todos os CacheBehaviors

  3. Configurações da Cache Policy

  4. Configuração de compressão

  5. Valores de TTL


Como a regra é executada

  1. Autentica na conta AWS (CloudFront é global).

  2. Executa:

  3. Para cada distribuição:

    • Aplica filtros de tag.

    • Executa:

  4. Valida:

Etapa 1 – Default Cache Behavior

Verifica:

Se false → distribuição sinalizada.


Etapa 2 – Cache Policies

Para cada behavior:

Se houver CachePolicyId:

Executa:

Valida:

Se qualquer condição falhar → sinaliza.


Etapa 3 – Behaviors Legados

Se o behavior não utilizar CachePolicyId:

  • Deve ter Compress = true

  • Mesmo assim é considerado não otimizado


Lógica aplicada

Uma distribuição será sinalizada quando:

Somente distribuições totalmente aderentes passam na verificação.


Campos analisados

CloudFront Distribution:

  • Id

  • ARN

  • DomainName

  • Status

  • DefaultCacheBehavior

  • CacheBehaviors

  • Tags

Cache Policy:

  • EnableAcceptEncodingGzip

  • EnableAcceptEncodingBrotli

  • MinTTL

  • DefaultTTL

  • MaxTTL


Parâmetros considerados na busca

APIs utilizadas:

  • cloudfront:ListDistributions

  • cloudfront:GetDistributionConfig

  • cloudfront:GetCachePolicy

Não há filtro temporal.


Período Avaliado (Filtro Temporal)

Período Avaliado: 15 dias.

Configuração padrão é de identificar distribuições do CloudFront sem compressão ativada dentro do periodo de 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 (Conceitual)

A economia ocorre pela redução de transferência de dados devido à compressão eficiente.

Modelo simplificado:

Em abordagem agregada no Billing:

O percentual depende do tipo de conteúdo e padrão de tráfego.


Campo de custo utilizado

No Billing AWS:

  • Service: AmazonCloudFront

  • Usage Types:

    • DataTransfer-Out-Bytes

    • Requests-HTTP/HTTPS

  • Line Item Type: Usage

  • Campo financeiro considerado:

    • lineitem/unblendedcost


Exemplo aplicado ao Billing

Cenário:

  • 20 TB/mês transferidos

  • Compressão ineficiente

  • Redução estimada com Brotli: 25%

Se custo mensal atual for:

Estimativa:

Savings anual:


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

  • Sempre utilizar Cache Policies modernas.

  • Habilitar Gzip e Brotli.

  • Definir TTLs maiores que zero.

  • Evitar configurações legadas.

  • Validar compressão via ferramentas de teste HTTP.

Possíveis exceções:

  • Conteúdo já comprimido (ex: imagens otimizadas).

  • APIs com respostas dinâmicas específicas.

  • Requisitos técnicos específicos de cliente.

Recomenda-se adoção de política padrão corporativa para CloudFront.

Last updated