

# Acelerar seu site com o Amazon CloudFront
<a name="website-hosting-cloudfront-walkthrough"></a>

Você pode usar o [Amazon CloudFront](https://aws.amazon.com/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](https://aws.amazon.com/cloudfront/getting-started/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 CloudFormation**  
Para obter mais informações sobre como usar um modelo do 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](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/getting-started-secure-static-website-cloudformation-template.html) no *Guia do desenvolvedor do Amazon CloudFront*.

**Topics**
+ [Etapa 1: Criar uma distribuição do CloudFront](#create-distribution)
+ [Etapa 2: Atualizar os conjuntos de registros do domínio e do subdomínio](#update-record-sets)
+ [(Opcional) Etapa 3: verificar os arquivos de log](#check-log-files)

## Etapa 1: Criar uma distribuição do CloudFront
<a name="create-distribution"></a>

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](https://console.aws.amazon.com/cloudfront/v4/home).

1. Escolha **Criar distribuição**.

1. 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ê.

1. 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](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/WorkingWithDownloadDistributions.html#DownloadDistValuesYouSpecify) no *Guia do desenvolvedor do Amazon CloudFront*.

1. 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])**.

   1. 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](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CNAMEs.html#alternate-domain-names-requirements), principalmente a necessidade de um certificado SSL/TLS válido. 

   1. 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](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-web-values-specify.html#DownloadDistValuesSSLCertificate) no *Guia do desenvolvedor do Amazon CloudFront*.

   1. 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 obter mais informações, consulte [Configurar um documento de índice](IndexDocumentSupport.md).

   1. 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](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/AccessLogs.html#AccessLogsBucketAndFileOwnership) 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 obter mais informações, consulte [Controlar a propriedade de objetos e desabilitar ACLs para seu bucket](about-object-ownership.md).

   1. 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](LoggingWebsiteTraffic.md).

   1. 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.

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

1. Escolha **Criar distribuição**.

1. 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.

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

1. 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
<a name="update-record-sets"></a>

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/](https://console.aws.amazon.com/route53/).

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

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

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

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

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

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

1. Escolha **Save (Salvar)**.

1. 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. 

1. 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
<a name="check-log-files"></a>

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](https://docs.aws.amazon.com/emr/latest/DeveloperGuide/). 

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/](https://console.aws.amazon.com/s3/).

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

1. Escolha a pasta de logs do CloudFront.

1. 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](getting-started-cleanup.md). Depois que você excluir os recursos da AWS, o site deixará de estar disponível.