0Pricing
AWS Solutions Architect · Aula

Comportamentos de cache e configurações de TTL

Defina comportamentos de cache baseados no caminho, configure TTLs mínimo, padrão e máximo e use cabeçalhos de controle de cache para ajustar o armazenamento em cache.

Comportamentos de cache e configurações de TTL é uma aula grátis de AWS Solutions Architect no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de AWS Solutions Architect, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de AWS Solutions Architect inclui 4 aulas no total.

Comportamentos de cache: o que são?

Os comportamentos de cache são as regras que informam ao CloudFront como tratar solicitações para diferentes padrões de caminho de URL. Cada comportamento de cache associa um padrão de caminho (por exemplo, /images/*, /api/*, *.css) a uma origem específica e a uma configuração de cache.

Uma distribuição tem um Comportamento de cache padrão (que corresponde a todos os caminhos não abrangidos por comportamentos mais específicos) e até 25 comportamentos adicionais baseados em caminho. O CloudFront avalia os comportamentos na ordem, do mais específico ao menos específico, e depois recorre ao padrão.

Correspondência de padrões de caminho

Os padrões de caminho aceitam curingas: * corresponde a qualquer combinação de caracteres, incluindo barras, e ? corresponde a qualquer caractere individual. Exemplos:

  • /images/* — todas as URLs que começam com /images/
  • *.jpg — todas as solicitações que terminam em .jpg em qualquer parte do caminho
  • /api/v2/* — todas as rotas da API v2
  • /static/??.css — arquivos CSS estáticos com exatamente dois caracteres antes de .css

Os comportamentos são avaliados na ordem listada na configuração da distribuição. Coloque primeiro os padrões mais específicos. O comportamento padrão (*) sempre corresponde por último.

Política de cache versus política de solicitação à origem

O CloudFront separa a lógica de cache em dois tipos de política:

  • Política de cache: define o que o CloudFront usa como chave de cache — a combinação de cabeçalhos, strings de consulta e cookies que determina se um objeto armazenado em cache corresponde a uma solicitação. Também define os limites de TTL.
  • Política de solicitação à origem: define quais cabeçalhos, strings de consulta e cookies são encaminhados à origem, mesmo que não façam parte da chave de cache (para enviar cabeçalhos de autenticação à origem sem variar o cache por token)

A AWS fornece políticas gerenciadas (por exemplo, CachingOptimized e CachingDisabled) que atendem à maioria dos casos de uso, ou você pode criar políticas personalizadas.

Configurações de TTL no CloudFront

O CloudFront respeita três valores de TTL da Política de cache:

  • TTL mínimo: o menor período durante o qual o CloudFront armazena um objeto em cache, independentemente dos cabeçalhos da origem (padrão: 0)
  • TTL padrão: o período durante o qual o CloudFront armazena um objeto em cache quando a origem não envia um cabeçalho Cache-Control ou Expires (padrão: 86.400 segundos = 1 dia)
  • TTL máximo: o maior período durante o qual o CloudFront armazena um objeto em cache, limitando a diretiva Cache-Control max-age da origem (padrão: 31.536.000 = 1 ano)

Esses três valores delimitam a duração real do cache informada pelas origens por meio dos cabeçalhos Cache-Control.

Cabeçalhos Cache-Control das origens

Quando a origem envia um cabeçalho Cache-Control: max-age=3600, o CloudFront armazena o objeto em cache por 3.600 segundos, desde que esse valor esteja dentro dos limites de TTL mínimo e máximo da Política de cache. Se a origem enviar Cache-Control: no-cache ou Cache-Control: no-store, o CloudFront verificará a origem antes de disponibilizar a cópia armazenada em cache a cada solicitação.

Para recursos estáticos que raramente mudam, defina um max-age longo (por exemplo, 31536000 = 1 ano) e use invalidação de cache por versão — inclua um hash do conteúdo nos nomes dos arquivos (por exemplo, app.a3f4b5.js) — para que a URL mude quando o conteúdo mudar, invalidando automaticamente a versão antiga armazenada em cache.

# S3 object metadata with long cache TTL
aws s3 cp app.a3f4b5.js s3://my-bucket/ \
  --cache-control 'max-age=31536000, immutable' \
  --content-type 'application/javascript'

Separação de comportamentos estáticos e dinâmicos

Um padrão poderoso de comportamento de cache separa o conteúdo estático do dinâmico:

  • /static/*, *.css, *.js, *.jpg → origem S3, política CachingOptimized (TTL alto, sem cookies ou strings de consulta na chave de cache)
  • /api/* → origem ALB, política CachingDisabled (sempre buscado na origem, com todos os cabeçalhos e cookies encaminhados)
  • /* (padrão) → origem ALB, cache moderado

Isso separa a camada estática, altamente armazenável em cache, da camada de API dinâmica, maximizando as taxas de acerto do cache para o conteúdo estático e garantindo que as respostas da API estejam sempre atualizadas.

Invalidação de cache

Quando você atualiza conteúdo no S3 ou na sua origem e deseja disponibilizar imediatamente a nova versão pelo CloudFront, sem esperar a expiração do TTL, você cria uma invalidação de cache. Especifique os caminhos a serem invalidados (por exemplo, /images/logo.png ou /images/*), e o CloudFront removerá esses objetos de todos os caches de borda.

As invalidações têm um custo: os primeiros 1.000 caminhos por mês são gratuitos; os caminhos adicionais são cobrados por caminho. Invalidações com curingas (por exemplo, /*) contam como um caminho. A prática recomendada é usar nomes de arquivos versionados para recursos estáticos (invalidação de cache por versão), em vez de invalidações frequentes, para reduzir custos e atrasos.

# Create a cache invalidation for updated images
aws cloudfront create-invalidation \
  --distribution-id EDFDVBD6EXAMPLE \
  --paths '/images/logo.png' '/css/main.css'

Componentes da chave de cache

A chave de cache é o identificador exclusivo que o CloudFront usa para procurar uma resposta armazenada em cache. Por padrão, a chave de cache contém apenas o caminho da URL. A inclusão de componentes adicionais aumenta o número de entradas distintas no cache:

  • Strings de consulta: /search?q=aws e /search?q=s3 são entradas de cache separadas se q fizer parte da chave de cache
  • Cabeçalhos: incluir Accept-Encoding permite que o CloudFront armazene separadamente as versões gzip e não gzip
  • Cookies: incluir cookies de sessão cria entradas de cache por usuário, desativando efetivamente o cache

Minimize os componentes da chave de cache para obter a máxima eficiência. Inclua apenas o que realmente produzir conteúdo de resposta diferente.

Compactação na borda

O CloudFront pode compactar automaticamente objetos baseados em texto (HTML, CSS, JavaScript e JSON) usando gzip ou Brotli antes de entregá-los aos visualizadores. Isso reduz o tamanho da carga útil em 60–80% e melhora o tempo de carregamento das páginas sem nenhuma alteração na origem.

Para ativar a compactação: verifique se a Política de cache inclui Accept-Encoding na chave de cache (o CloudFront precisa armazenar separadamente as versões gzip e não gzip) e ative Compress Objects Automatically no comportamento de cache. O CloudFront compacta objetos maiores que 1.000 bytes e menores que 10 MB.

Taxa de acerto do cache e monitoramento

A taxa de acerto do cache é a porcentagem de solicitações atendidas pelo cache do CloudFront sem consultar a origem. Uma taxa alta (80% ou mais) significa custos menores na origem e melhor desempenho. Monitore-a pelo relatório Estatísticas do cache no console do CloudFront ou pela métrica do CloudWatch CacheHitRate.

Formas de melhorar a taxa de acerto do cache: aumentar os valores de TTL, reduzir o número de cabeçalhos e cookies na chave de cache, usar a normalização de strings de consulta (encaminhar apenas as strings de consulta que a aplicação realmente usa) e definir cabeçalhos Cache-Control apropriados na origem.

# Get CloudFront metrics for cache hit rate
aws cloudwatch get-metric-statistics \
  --namespace AWS/CloudFront \
  --metric-name CacheHitRate \
  --dimensions Name=DistributionId,Value=EDFDVBD6EXAMPLE \
  --start-time 2026-06-19T00:00:00Z \
  --end-time 2026-06-20T00:00:00Z \
  --period 3600 \
  --statistics Average \
  --region us-east-1

Configurações de origem e protocolo por comportamento

Cada comportamento de cache pode apontar para uma origem diferente, permitindo que uma única distribuição do CloudFront disponibilize conteúdo de vários backends. Por exemplo:

  • /static/* → origem S3 (bucket privado por meio do OAC)
  • /api/* → origem ALB em us-east-1
  • /media/* → origem CDN do MediaPackage para transmissão de vídeo

Cada comportamento também configura de forma independente a Política de protocolo do visualizador, os métodos HTTP permitidos e as associações de funções (CloudFront Functions ou Lambda@Edge). Isso transforma uma única distribuição em uma camada de entrega flexível e multifuncional.

Verificação rápida

Teste sua compreensão dos conceitos de AWS Solutions Architect (SAA-C03) desta lição.

Recapitulação da lição

Nesta lição, você aprendeu que: os comportamentos de cache associam padrões de caminho de URL a origens e regras de cache, os limites de TTL mínimo, padrão e máximo controlam por quanto tempo o conteúdo é armazenado em cache, com os cabeçalhos Cache-Control da origem tendo precedência quando presentes, e as invalidações de cache removem imediatamente o conteúdo desatualizado de todos os locais de borda. Minimize os componentes da chave de cache para maximizar a taxa de acerto. A seguir, exploraremos URLs assinadas, cookies assinados e restrição geográfica.

Perguntas Frequentes

A aula “Comportamentos de cache e configurações de TTL” é grátis?

Sim — o texto completo de “Comportamentos de cache e configurações de TTL” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de AWS Solutions Architect, atualize para CoddyKit PRO. O curso de AWS Solutions Architect inclui 4 aulas no total.

O que vou aprender em “Comportamentos de cache e configurações de TTL”?

Defina comportamentos de cache baseados no caminho, configure TTLs mínimo, padrão e máximo e use cabeçalhos de controle de cache para ajustar o armazenamento em cache. Você pratica AWS Solutions Architect com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar AWS Solutions Architect?

Nenhuma experiência prévia é necessária. AWS Solutions Architect no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Comportamentos de cache e configurações de TTL”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de AWS Solutions Architect?

Sim. Cada aula de AWS Solutions Architect inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Distribuições e origens do CloudFront
  2. Comportamentos de cache e configurações de TTL
  3. URLs assinadas, cookies assinados e restrição geográfica
  4. CloudFront com WAF e Lambda@Edge
← Voltar para AWS Solutions Architect