Amazon CloudFront - Como configurar o CloudFront para funcionar com o S3
Supondo que você tenha um site ou um blog com alto tráfego, você se deparou com os seguintes problemas:
- Servir conteúdo lento - Conteúdo (htmls, imagens, arquivos de download) estão sendo veiculados em velocidade extremamente lenta, especialmente durante picos de tráfego
- Pago e não utilizado - Você está pagando você host mais do que você está realmente utilizando. Isso significa que você provavelmente está pagando por um pacote de hospedagem na Web com 50 GB de espaço na Web e 1 TB de largura de banda, mas você mal usa metade deles.
- Arquivos / pastas desarrumado - A conta da web está uma bagunça. Pastas de imagens, pastas de itens com capacidade de download não são organizadas corretamente.
Todos estes podem ser facilmente resolvidos com Amazon CloudFront. CloudFront é um novo serviço lançado pela Amazon, com tecnologia de computação em nuvem. Usando o Amazon S3 como armazenamento, o CloudFront atua no topo dos buckets e fornece conteúdo a uma velocidade muito maior com menor latência. Clique aqui para ler mais.
Se você já estiver usando o Amazon S3 para veicular arquivos para sites, CloudFront é realmente algo que você deve verificar. Agora vamos guiá-lo através da criação do CloudFront para servir arquivos da web.
-
Primeiro e Formost
Obter um Amazon S3 conta (leia aqui) e, em seguida, inscreva-se em um serviço do Amazon CloudFront. Verifique seu e-mail para verificar se o serviço está ativado para você.
-
Criar distribuição
Os aplicativos que você usa para gerenciar buckets do Amazon S3 podem variar, mas tentaremos nos ater a uma ferramenta gratuita - S3 Firefox, um gerenciador de arquivos S3 com suporte para o CloudFront. Conecte-se à sua conta com o S3 Firefox, clique com o botão direito do mouse no nome do bloco (supondo que os arquivos e pastas dentro dele estejam / serão acessíveis pela Web) e escolha Gerenciar distribuições.
Distribuição é uma URL única de classificação que você pode usar para fazer referência a um arquivo. Você terá uma imagem melhor depois de criada. Clique em Criar distribuição para criar sua primeira distribuição para o bucket.
Depois de criar, você notará um novo nome de domínio: XXXXX.cloudfront.net está sendo criado para você. Status será desativado Em progresso para Implantado quando estiver feito. Você também pode clicar no botão Atualizar para atualizar o status.
Se você tiver anterior este ativo a seguir:
- https://assets.hongkiat.com/uploads/folder1/imageA.jpg, agora pode ser acessado com o URL
- http://XXXXX.cloudfront.net/folder1/imageA.jpg
Você ainda pode servir arquivos com o primeiro URL, mas o último é alimentado pelo CloudFront, e é muito mais rápido.
-
Criar CNAME
O URL de distribuição começa com http://XXXXX.cloudfront.net/ e nós não achamos que há uma maneira de decidir o que acontece antes .cloudfront.net. No entanto, para tornar o URL mais simples, agradável e fácil de lembrar, podemos usar o CNAME para mapear esse URL para o que quisermos. Isso requer acesso a painéis de controle de hospedagem na web. Neste exemplo, mostraremos como mapear:
- http://XXXXX.cloudfront.net/ para
- https://assets.hongkiat.com/uploads/
Se você não estiver familiarizado com o CNAMEs, sugerimos que você peça ao seu host para fazer isso por você. Você verá algo semelhante a isso, com seu próprio URL de distribuição, é claro.
Isso pode levar 24 horas para se propagar, mas nesse meio tempo, preencha o CNAME no Firefox S3.
Uma vez que é propriamente propagado (você pode testar com ping o URL), você pode servir arquivos usando https://assets.hongkiat.com/uploads/*.
-
Comparação de desempenho
Nós todos sabemos o quão rápido e eficiente o Amazon S3 serve arquivos, mas nós pensamos que você deve ver uma comparação depois que o CloudFront está sendo implementado em cima da servindo assim você saberá que cada centavo gasto vale a pena. Para fazer uma comparação justa das diferenças de velocidade de carregamento, pegamos um conteúdo do blog, carregamos duas vezes; uma vez com imagens hospedadas em hongkiat.s3.amazonaws.com, outra vez com imagens abaixo static.hongkiat.com (CloudFront) e monitore-o com o Pingdom Tools. Clique nas imagens para ampliar.
hongkiat.s3.amazonaws.com - 41 imagens carregadas a 6,5 seg.
static.hongkiat.com (CloudFront) - 41 imagens carregadas a 3,5 seg.