Eu entendi mal? O controle de cache não gerencia quanto tempo as coisas vivem nos pontos de presença antes que os pontos de presença os recarregem do S3? Então, certamente eles são relevantes para a sua situação, quer você use S3 ou sua própria origem? Não?
A FAQ da Amazon diz: "P. Por quanto tempo o Amazon CloudFront manterá meus arquivos nos pontos de presença? Por padrão, se nenhum cabeçalho de controle de cache for definido, cada localização de borda verificará uma versão atualizada de seu arquivo sempre que receber uma solicitação mais de 24 horas após a hora anterior, ele verificou a origem quanto a alterações nesse arquivo. Você pode definir esse período de expiração em apenas 1 hora, ou o tempo que desejar, definindo os cabeçalhos de controle de cache em seus arquivos em sua origem. O Amazon CloudFront usa esses cabeçalhos de controle de cache para determinar com que frequência ele precisa verificar a origem de uma versão atualizada desse arquivo.Se seus arquivos não forem alterados com muita frequência, é uma prática recomendada definir um longo período de expiração e implementar um sistema de controle de versão para gerenciar atualizações em seus arquivos. "
[Suponho que a última frase significa "azar se você configurá-la para 50 anos e depois desejar alterar o arquivo"].
O ponto principal de usar um CDN não é o de hospedar conteúdo estático? Em caso afirmativo, ajudaria a usar TTL consideravelmente mais longo que um dia? Para praticamente tudo (todas as imagens e CSS), eu uso Cache-Control="max-age = 604800, public, must-revalidate" (ou seja, 1 semana). Na minha experiência, os arquivos definitivamente demoram até uma semana para mudar se eu fizer o upload de novas versões para o S3.
Espero que isso ajude. [BTW: No seu ponto mais geral, eu também me pergunto se um CDN ajuda o desempenho tanto quanto você pensa que vai. Estou prestes a mover todo o meu site (CDN incluído) para um servidor dedicado super rápido e fazer alguns testes para descobrir.]