Acelerar seu site com o Amazon CloudFront - Amazon Simple Storage Service

Acelerar seu site com o Amazon CloudFront

Você pode usar o Amazon CloudFront para melhorar a performance do seu site do Amazon S3. O CloudFront disponibiliza os arquivos do site (como HTML, imagens e vídeos) por meio de datacenters em todo o mundo (conhecidos como pontos de presença). Quando um visitante solicita um arquivo em seu site, o CloudFront redireciona automaticamente a solicitação para uma cópia do arquivo no ponto de presença mais próximo. Isso resulta em tempos de download mais rápidos se o visitante tiver solicitado o conteúdo em um datacenter localizado mais longe.

O CloudFront armazena em cache o conteúdo em pontos de presença por um período especificado por você. Se um visitante solicitar conteúdo que foi armazenado em cache por mais tempo que a data de expiração, o CloudFront verificará o servidor de origem para saber se há uma versão mais nova do conteúdo disponível. Se houver uma versão mais nova à disposição, o CloudFront copiará a nova versão para o ponto de presença. As alterações feitas no conteúdo original são replicadas para pontos de presença à medida que os visitantes solicitam o conteúdo.

Usar o CloudFront sem o Route 53

Os tutoriais nesta página usam o Route 53 para apontar para sua distribuição do CloudFront. No entanto, se você quiser servir conteúdo hospedado em um bucket do Amazon S3 usando o CloudFront sem usar o Route 53, consulte Tutoriais do Amazon CloudFront: configurar uma distribuição dinâmica de conteúdo para o Amazon S3. Ao servir conteúdo hospedado em um bucket do Amazon S3 usando o CloudFront, você pode usar qualquer nome de bucket, e tanto HTTP quanto HTTPS são compatíveis.

Automatizar a configuração com um modelo do AWS CloudFormation

Para obter mais informações sobre como usar um modelo do AWS CloudFormation para configurar um site estático seguro que cria uma distribuição do CloudFront para veicular seu site, consulte Introdução a um site estático seguro no Guia do desenvolvedor do Amazon CloudFront.

Etapa 1: Criar uma distribuição do CloudFront

Primeiro, você cria uma distribuição do CloudFront. Isso torna seu site disponível em datacenters em todo o mundo.

Como criar uma distribuição com uma origem do Amazon S3
  1. Abra o console do CloudFront em https://console.aws.amazon.com/cloudfront/v4/home.

  2. Escolha Criar distribuição.

  3. Na página Create Distribution (Criar distribuição), na seção Origin Settings (Configurações de origem), em Origin Domain Name (Nome do domínio de origem), digite o endpoint do site do Amazon S3 para seu bucket, por exemplo, example.com.s3-website.us-west-1.amazonaws.com.

    O CloudFront preenche o Origin ID (ID de origem) para você.

  4. Em Default Cache Behavior Settings (Configurações do comportamento de cache padrão), mantenha os valores padrão definidos.

    Com as configurações padrão do Viewer Protocol Policy (Política de protocolo de visualizador), é possível usar HTTPS para o site estático. Para obter mais informações sobre essas opções de configuração, consulte Valores que você especifica quando cria ou atualiza uma distribuição na Web no Guia do desenvolvedor do Amazon CloudFront.

  5. Para Distribution Settings (Configurações de distribuição), faça o seguinte:

    1. Deixe Price Class (Classe de preço) definida como Use All Edge Locations (Best Performance) (Usar todos os pontos de presença [melhor performance]).

    2. Defina Alternate Domain Names (CNAMEs) Nomes de domínio alternativos (CNAMEs) para o domínio raiz e para o subdomínio www. Neste tutorial, são example.com e www.example.com.

      Importante

      Antes de executar essa etapa, veja os requisitos para o uso de nomes de domínio alternativos, principalmente a necessidade de um certificado SSL/TLS válido.

    3. Em SSL Certificate (Certificado SSL), selecione Custom SSL Certificate (example.com) (Certificado SSL personalizado (exemplo.com)) e escolha o certificado personalizado que contém os nomes de domínio e subdomínio.

      Para obter mais informações, consulte Certificado SSL no Guia do desenvolvedor do Amazon CloudFront.

    4. Em Default Root Object (Objeto raiz padrão), insira o nome do documento de índice, por exemplo, index.html.

      Se o URL usado para acessar a distribuição não contiver um nome de arquivo, a distribuição do CloudFront retornará o documento de índice. O Default Root Object (Objeto raiz padrão) deve corresponder exatamente ao nome do documento de índice do seu site estático. Para ter mais informações, consulte Configurar um documento de índice.

    5. Defina Logging (Registro em log) como On (Ligado).

      Importante

      Ao criar ou atualizar uma distribuição e habilitar o registro do CloudFront, o CloudFront atualiza a lista de controle de acesso (ACL) do bucket para fornecer à conta awslogsdelivery permissões FULL_CONTROL para registrar logs em seu bucket. Para obter mais informações, consulte Permissões necessárias para configurar o registro padrão e acessar seus arquivos de log no Guia do desenvolvedor do Amazon CloudFront. Se o bucket que armazena os logs usar a configuração Imposto pelo proprietário do bucket para a Propriedade de Objetos do S3 a fim de desabilitar ACLs, o CloudFront não poderá gravar logs no bucket. Para ter mais informações, consulte Controlar a propriedade de objetos e desabilitar ACLs para seu bucket.

    6. Em Bucket for Logs (Bucket para logs), escolha o bucket para o registro em log que você criou.

      Para obter mais informações sobre como configurar um bucket de log, consulte (Opcional) Registrar em log o tráfego da web.

    7. Se quiser armazenar os logs gerados pelo tráfego para a distribuição do CloudFront em uma pasta, em Log Prefix (Prefixo de log), insira o nome da pasta.

    8. Mantenha todas as outras configurações segundo seus valores predefinidos.

  6. Escolha Criar distribuição.

  7. Para ver o status atual da distribuição, localize a distribuição no console e verifique a coluna Status.

    Um status InProgress indica que a distribuição ainda não foi totalmente implantada.

    Depois que a distribuição estiver implantada, você pode fazer referência ao conteúdo com o novo nome do domínio do CloudFront.

  8. Registre o valor de Domain Name (Nome do domínio) mostrado no console do CloudFront, por exemplo, dj4p1rv6mvubz.cloudfront.net.

  9. Para verificar se a distribuição do CloudFront está funcionando, insira o nome de domínio da distribuição em um navegador da Web.

    Se o seu site estiver visível, a distribuição do CloudFront funciona. Se o seu site tiver um domínio personalizado registrado no Amazon Route 53, você precisará do nome de domínio do CloudFront para atualizar o conjunto de registros na próxima etapa.

Etapa 2: Atualizar os conjuntos de registros do domínio e do subdomínio

Agora que você criou com sucesso uma distribuição do CloudFront, atualize o registro de alias no Route 53 para apontar para a nova distribuição do CloudFront.

Para atualizar o registro de alias para apontar para uma distribuição do CloudFront
  1. Abra o console do Route 53 em https://console.aws.amazon.com/route53/.

  2. No painel de navegação, escolha Hosted zones (Zonas hospedadas).

  3. Na página Hosted Zones (Zonas hospedadas), escolha a zona hospedada criada por você para o subdomínio, por exemplo, www.example.com.

  4. Em Records (Registros), selecione o registro A que você criou para seu subdomínio.

  5. Em Record details (Detalhes do registro), escolha Edit record (Editar registro).

  6. Em Route traffic to (Rotear tráfego para), escolha Alias to CloudFront distribution (Alias para distribuição do CloudFront).

  7. Em Choose distribution (Escolher distribuição), escolha a distribuição do CloudFront.

  8. Escolha Save (Salvar).

  9. Para redirecionar o registro A do domínio raiz para a distribuição do CloudFront, repita esse procedimento do domínio raiz, por exemplo, example.com.

    A atualização dos conjuntos de registros entra em vigor dentro de 2 a 48 horas.

  10. Para ver se os novos registros A entraram em vigor, em um navegador da Web, digite o URL do subdomínio, por exemplo, http://www.example.com.

    Se o navegador não o redirecionar para o domínio raiz (por exemplo, http://example.com), os novos registros A estarão no lugar. Quando o novo registro A entra em vigor, o tráfego roteado pelo novo registro A para a distribuição do CloudFront não é redirecionado para o domínio raiz. Qualquer visitante que faça referência ao site usando http://example.com ou http://www.example.com é redirecionado para o ponto de presença do CloudFront mais próximo, onde ele aproveita tempos de download menores.

    dica

    Os navegadores podem armazenar em cache configurações de redirecionamento. Se você acreditar que as novas configurações do registro A devem ter entrado em vigor, mas o navegador ainda redirecionar http://www.example.com para http://example.com, tente limpar o histórico e limpar o cache do navegador, fechando e reabrindo a aplicação do navegador ou usando outro navegador da Web.

(Opcional) Etapa 3: verificar os arquivos de log

Os logs de acesso informam quantas pessoas estão visitando o site. Eles também contêm dados comerciais valiosos que você pode analisar com outros serviços, como o Amazon EMR.

Os logs do CloudFront são armazenados no bucket e na pasta escolhidos ao criar uma distribuição do CloudFront e habilitar o registro em log. O CloudFront grava logs em seu bucket de log dentro de 24 horas a partir do momento em que as solicitações correspondentes são feitas.

Para ver os arquivos de log do site
  1. Abra o console do Amazon S3 em https://console.aws.amazon.com/s3/.

  2. Escolha o nome do bucket de registro em log do site.

  3. Escolha a pasta de logs do CloudFront.

  4. Baixe os arquivos .gzip escritos pelo CloudFront antes de abri-los.

    Se tiver criado o site apenas como um exercício de aprendizado, você poderá excluir os recursos alocados, para não acumular mais cobranças. Para fazer isto, consulte Limpar seus recursos de exemplo. Depois que você excluir os recursos da AWS, o site deixará de estar disponível.