com o Amazon CloudFront

Neste tutorial, você aprenderá como entregar conteúdo e diminuir a latência do usuário final do seu aplicativo web usando o Amazon CloudFront. O CloudFront acelera a entrega de conteúdo, aproveitando sua rede global de datacenters, conhecida como pontos de presença, para reduzir o tempo de entrega armazenando o conteúdo em caches próximos aos usuários finais. O CloudFront obtém conteúdo de uma origem como um bucket do Amazon S3, uma instância do Amazon EC2, um load balancer do Amazon Elastic Load Balancing ou seu próprio servidor web, quando não está em um ponto de presença. O CloudFront pode ser usado para entregar um site ou aplicativo inteiro, incluindo conteúdo dinâmico, estático, interativo e de streaming.

Nas etapas seguintes, você configurará um bucket do Amazon S3 como origem e testará sua distribuição usando um navegador web para garantir que seu conteúdo está sendo entregue.

Todas as atividades realizadas nesse tutorial estão qualificadas para o nível gratuito.

Você precisa de uma conta para acelerar a entrega de conteúdo

Faça login no console

O nível gratuito da AWS inclui 50 GB de transferência de dados para fora e 2.000.000 solicitações HTTP ou HTTPS por mês durante um ano.  

Consulte os detalhes do nível gratuito da AWS »


Nesta etapa, carregaremos um conteúdo estático de exemplo para um bucket do Amazon S3. Usaremos esse bucket como uma origem do CloudFront nas próximas etapas. O Amazon S3 é uma boa opção para uma origem do Amazon CloudFront que inclui conteúdo estático como imagens, vídeos, páginas HTML e arquivos .css e .js.


a. A imagem de exemplo que usaremos neste tutorial é uma imagem PNG chamada cloudfront-test-image.png.  Clique no botão à direita para fazer download da imagem de exemplo e certifique-se de salvá-la como cloudfront-test-image.png.

Faça download da imagem de exemplo

c. Clique aqui para abrir o Console de Gerenciamento da AWS em uma nova janela do navegador. Digite S3 na caixa de pesquisa e clique duas vezes para abrir o painel.

tmt_faster-content-delivery-01

(clique para ampliar)

tmt_faster-content-delivery-01

c. Agora que você está no painel do S3, clique no botão Create Bucket.

  • Nome do bucket: insira um nome para o seu bucket - ele deve ser exclusivo e ter todas as letras minúsculas. Para restrições adicionais sobre nomes de buckets do S3, consulte Bucket Restrictions and Limitations
  • Region: você tem a opção de escolher uma região perto de você para otimizar a latência, minimizar os custos ou cumprir requisitos normativos.  

Selecione Next.

No painel Set properties, há várias opções úteis para os buckets do S3, incluindo versionamento, registro em log de acessos ao servidor, tags, registro em log de objetos e criptografia padrão. Não habilitaremos esses recursos neste tutorial.

Selecione Next.

No painel Set permissions, você pode definir permissões de controle de acesso para um bucket. Não habilitaremos esses recursos neste tutorial.

Selecione Next.

No painel Review, selecione Create bucket.

tmt_faster-content-delivery-02

(clique para ampliar)

tmt_faster-content-delivery-02

d. Clique duas vezes no nome do seu bucket. Selecione UploadAdd Files e selecione cloudfront-test-image.png em seu computador. 

Selecione Next.

tmt_faster-content-delivery-03

(clique para ampliar)

tmt_faster-content-delivery-03

e. Na guia Set permissions, você precisará disponibilizar a imagem para leitura pelo público.  Por padrão, objetos do S3 são definidos como privados.  Altere Manage public permissions para "Grant public access to objects(s)."

Selecione Next.

Na guia Set properties, você pode definir a classe, a criptografia e os metadados do armazenamento. Não habilitaremos esses recursos neste tutorial.

Selecione Next.

Na guia Review, verifique o upload do arquivo.

Selecione Upload.

tmt_faster-content-delivery-04

(clique para ampliar)

tmt_faster-content-delivery-04

Uma vez que seu conteúdo é carregado para o Amazon S3, você pode usar o console do Amazon CloudFront para entregar conteúdo aos usuários finais em todo o mundo.


a. Quando você clicar aqui, o Console de Gerenciamento da AWS abrirá em uma nova guia do navegador.  Encontre CloudFront sob Storage & Content Delivery e clique para abrir o console do Amazon CloudFront.

tmt_faster-content-delivery-06

(clique para ampliar)

tmt_faster-content-delivery-06

b. Selecione Create Distribution.


 

tmt_faster-content-delivery-07

(clique para ampliar)

tmt_faster-content-delivery-07

Uma distribuição web especifica as definições de configuração para que o CloudFront saiba de qual origem obter seu conteúdo quando um usuário o solicita. Você pode usar os buckets do Amazon S3 (armazenamento de pastas) e servidores HTTP (por exemplo, servidores web) como uma origem.


a. Primeiro, escolha o método de entrega para o seu conteúdo.  Uma distribuição web é usada para conteúdo estático e dinâmico enquanto a distribuição RTMP é ideal para o streaming de arquivos de mídia usando o protocolo RTMP do Adobe Flash Media Server.

Como a cloudfront-test-image.png é uma imagem estática, selecione Get Started na opção Web.

tmt_faster-content-delivery-08

(clique para ampliar)

tmt_faster-content-delivery-08

b. Você agora configurará suas definições. 

No Origin Domain Name, selecione o nome do bucket do S3 em que você armazenou a cloudfront-test-image.png.

Você pode deixar o resto das definições de configuração com os valores padrão para este tutorial.  Se você quiser saber mais sobre cada definição de configuração, clique na lista suspensa abaixo.

Definições de comportamento de cache padrão:

Definições de distribuição:

  • Price Class o CloudFront tem três classes de preços, determinadas pelo número de pontos de presença que você deseja suportados em todo o mundo. Por padrão, o CloudFront usa todos os pontos de presença para garantir o melhor desempenho. Para obter mais informações, consulte Amazon CloudFront Pricing.
  • AWS WAF Web ACL: se você deseja permitir ou bloquear as solicitações HTTP e HTTPS com base em critérios por você especificados, escolha o ACL web para associar a essa distribuição. Para obter mais informações, consulte AWS WAF Developer Guide.
  • Alterne nomes de domínio: o CloudFront atribuirá automaticamente um nome de domínio quando você cria uma distribuição web (por exemplo, http://abcdefghi888.cloudfront.net/filename.jpg). Você também pode especificar seu próprio nome de domínio no URLs para seus objetos (como http://yourDomain.com/filename.jpg) assim que você atualizar a configuração do DNS para rotear consultas de DNS para a sua distribuição do CloudFront. Para este tutorial, deixe este campo em branco.
  • Certificado SSL: o CloudFront fornece um certificado padrão ou você pode especificar um certificado SSL personalizado. 
  • Objeto raiz padrão: este é onde você especifica o objeto que você deseja que o CloudFront solicite a partir de sua origem quando um usuário solicita apenas o URL raiz de sua distribuição. Por exemplo, um usuário solicita http://www.example.com/, e você pode especificar que http://www.example.com/product-description.html foi entregue. Especificar um objeto raiz padrão evita expor o conteúdo de sua distribuição.
  • Logging: o CloudFront pode registrar informações sobre cada solicitação para um objeto e armazenar os arquivos de log em um bucket do Amazon S3. Não há custo adicional para habilitar o registro em log, mas você acumula cobranças do Amazon S3 para armazenar e acessar arquivos.
  • Bucket para logs: se você especificou um bucket do Amazon S3 para armazenar os logs de acesso, o CloudFront pode registrar informações sobre cada solicitação do usuário para um objeto e armazenar os arquivos no bucket do Amazon S3 especificado. Você pode ativar ou desativar o registro a qualquer momento. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Access Logs.
  • Log Prefix: se você escolheu “On” para logging, você pode especificar o string que você deseja que o CloudFront prefixe para o acesso dos nomes de arquivos de log dessa distribuição. Para obter mais informações sobre os logs de acesso do CloudFront, consulte Access Logs.
  • Registro de cookies: ao usar o Amazon S3 como a origem de seus objetos, o Amazon S3 não processa cookies, portanto, a menos que sua distribuição também inclua um Amazon EC2 ou outra origem personalizada, você precisa selecionar Off para o valor do Cookie Logging. Para obter mais informações sobre cookies, consulte Configuring CloudFront to Cache Objects Based on Cookies.
  • Comentário: você pode inserir qualquer comentário que você queira salvar com a distribuição.
  • Status da distribuição: o padrão é Enabled. O que isso significa é que o seu conteúdo será disponibilizado assim que a distribuição é criada.
tmt_faster-content-delivery-09

(clique para ampliar)

tmt_faster-content-delivery-09

Assim que você configurar sua distribuição, o CloudFront criará a distribuição e a propagará em toda a rede CloudFront para seu uso.  Selecione Create Distribution.  

Assim que o processo for concluído, a coluna de status será alterada de In Progress para Deployed.

Observação: isso pode levar alguns minutos para ser concluído.

O nome de domínio que o CloudFront atribui a sua distribuição será exibido na sua lista de distribuições. Mantenha isso em mente, você precisará dele para a próxima etapa. Ao clicar no campo Distribution ID, você terá acesso a uma página na qual você verá todo o domínio no CloudFront Domain Name.

tmt_faster-content-delivery-10

(clique para ampliar)

tmt_faster-content-delivery-10

Depois de criar sua distribuição na web, você pode testá-la, confirmando que o CloudFront recebe o objeto de origem e o retorna para um navegador da web.  Para este teste, você precisará do nome de domínio CloudFront da Etapa 4 e o nome da imagem que você carregou ao bucket do S3 na etapa 1.


a. Abra um editor de texto no seu computador. Copie e cole o seguinte código HTML:

Meus testes do CloudFront

Meu conteúdo de texto vai aqui.

my test image

  • Substitua o domain name com o nome de domínio que o CloudFront atribuiu à sua distribuição, como d111111abcdef8.cloudfront.net.
  • Substitua nome do objeto com o nome do seu arquivo de imagem no bucket do Amazon S3 – em nosso caso, cloudfront-test-image.png.
  • Salve o texto em um arquivo como mycloudfronttest.html.

b. Abra sua página da web em um navegador para garantir que você pode ver o seu conteúdo. 

cloudfront-16

(clique para ampliar)

cloudfront-16

Você pode facilmente desativar a distribuição do console do CloudFront. Na verdade, a exclusão de recursos não utilizados é uma melhor prática para evitar que eles continuem sendo cobrados. No entanto, observe que quando uma distribuição é desativada, qualquer site suportado por essa distribuição será desativado e o conteúdo não estará mais acessível para os usuários finais.


a. Selecione a caixa de seleção ao lado da distribuição que você criou e clique em Disable.

tmt_faster-content-delivery-11

(clique para ampliar)

tmt_faster-content-delivery-11

b. Você será solicitado a confirmar – clique em Yes, Disable.

tmt_faster-content-delivery-12

(clique para ampliar)

tmt_faster-content-delivery-12

Você criou sua primeira distribuição de web do Amazon CloudFront e entregou uma parcela de conteúdo estático hospedado na nuvem por meio do Amazon S3. Com algumas alterações de configuração, você pode usar o CloudFront para fornecer conteúdo dinâmico e eventos ao vivo, como uma reunião, conferência ou conjunto, em tempo real via HTTP ou HTTPS. Use o Amazon CloudFront para acelerar a entrega de um site ou aplicativo inteiro, incluindo conteúdo dinâmico, estático, interativo e de streaming.

Agora que você aprendeu a configurar uma distribuição web e entregar um fragmento de conteúdo estático com o Amazon CloudFront, já pode fazer perguntas aos nossos especialistas de CloudFront nos próximos Office Hours ou AWS Tech Talks.

Página de conceitos básicos do Amazon CloudFront >>

 

Sim
Não