S3 para a localização da extremidade da nuvem versus a proporção de transferência do usuário final para a cloudfront

2

Hospedamos vídeos no Amazon S3 e usamos cloudfront para entregá-los. Aqui estão os números dos últimos meses:

Tráfego total de 4,2 TB de nuvem para usuário final. 4 TB disso é na Europa, o resto principalmente nos EUA.

Isso nos custou US $ 512. Tudo como esperado.

Além disso, temos custo de transferência do S3 para locais de borda de aproximadamente 1 TB. = custo $ 115

Isso representa 22,4% do custo de transferência para o usuário final e 18% do custo combinado. O que eu me pergunto, isso é normal? Eu sinto que é um pouco demais.

Temos 280 GB de vídeo armazenados no S3, espalhados em cerca de 20000 vídeos. A maior parte do nosso tráfego é proveniente de vídeos novos. Os 100 principais vídeos desse mês foram responsáveis por cerca de 80% do tráfego total.

Eu sinto que talvez muitos vídeos sejam desnecessariamente baixados em locais de borda e veja poucos acessos. E então eles são removidos e, mais tarde, são solicitados novamente e recebemos outro download para o servidor de borda.

  1. Esta relação é normal, ou pelo menos um pouco próxima das experiências de outras pessoas?
  2. Posso de alguma forma dizer ao cloudfront para colocar um limite ou algo assim antes de iniciar o armazenamento em cache do arquivo? Como: não armazene esse arquivo em cache até ver x downloads em um dia próximo à sua localização.
  3. Se o acima não for possível, há outras dicas sobre como eu poderia conseguir o mesmo. Não use arquivos acessados com menor frequência por meio do cloudfront, vá diretamente para o S3. Eu sinto que isso pode ser um problema, já que eu uso o recurso de streaming do cloudfront de qualquer maneira.

Eu não mudei o TTL, então presumo que esteja no padrão de 24 horas. Isso não muda nada de qualquer maneira se eu aumentá-lo, pois o cloudfront não fará o download do arquivo novamente se ele não tiver mudado (eles não o fazem).

O problema é que o arquivo sai do cache.

    
por Martin Hansen 15.02.2012 / 20:44

1 resposta

2

Eu exibo os vídeos menos populares diretamente do S3. O YouTube não começa a exibir vídeos do CDN até um vídeo atingir 300 visualizações. Gostaria de acompanhar o tempo do último x muitos modos de exibição de vídeos que armazenam uma lista em algo como Redis, e se o x'th última vista foi dentro de um determinado período de tempo, só então servir o vídeo off CloudFront.

    
por 09.03.2012 / 19:51