Introdução
Para usar no Amazon CloudFront um domínio registrado no Amazon Route 53, primeiro você precisa verificar a hosted zone no lado do Route 53, depois emitir um certificado SSL no AWS Certificate Manager (ACM) e, por fim, configurar o domínio personalizado no CloudFront.
Neste artigo, partimos de uma configuração em que a origem do domínio principal e a origem do subdomínio são diferentes, e explicamos como atribuir cada uma delas a uma distribuição separada do CloudFront.
Pré-requisitos
Este artigo considera os seguintes pré-requisitos.
- O domínio principal e o subdomínio usam origens diferentes
- A distribuição do CloudFront para o domínio principal e a do subdomínio são operadas separadamente
- A configuração básica das distribuições do CloudFront e de suas origens já foi concluída
- A hosted zone do Route 53 é gerenciada na mesma conta AWS
Se ambos usarem a mesma origem, você também pode optar por uma configuração em que vários nomes de domínio alternativos (CNAMEs) sejam definidos em uma única distribuição do CloudFront. No entanto, esse caso não é tratado aqui.
Fluxo geral
- Comprar um domínio no Amazon Route 53
- Verificar a hosted zone criada automaticamente no Amazon Route 53
- Emitir um certificado SSL no AWS Certificate Manager (ACM)
- Configurar o domínio personalizado no Amazon CloudFront
- Criar o registro do domínio principal no Amazon Route 53
- Criar o registro do subdomínio no Amazon Route 53
- Verificar o funcionamento
Relação entre ACM, Route 53 e CloudFront
Nesta configuração, o Amazon Route 53 gerencia o DNS, o AWS Certificate Manager (ACM) emite o certificado para HTTPS e o Amazon CloudFront atua como destino de entrega para o domínio principal e o subdomínio.
graph LR
U[Navegador do usuario]
R[Route 53 gerenciamento DNS]
CM[CloudFront para dominio raiz]
CS[CloudFront para subdominio]
OM[Origem S3 ou servidor web]
OS[Origem S3 ou servidor web]
A[ACM certificado SSL/TLS]
U -->|Acessar example.com| R
U -->|Acessar cdn.example.com| R
R -->|Alias A / AAAA| CM
R -->|Alias A / AAAA| CS
CM -->|Entregar por HTTPS| U
CS -->|Entregar por HTTPS| U
A -->|Associar certificado| CM
A -->|Associar certificado| CS
CM -->|Obter conteudo| OM
CS -->|Obter conteudo| OSO ponto principal é que os registros DNS no Amazon Route 53 referenciam as distribuições do CloudFront para o domínio principal e o subdomínio e, ao configurar um certificado do ACM em cada uma delas, você consegue entregar conteúdo por HTTPS com seu próprio domínio.
1. Comprar um domínio no Amazon Route 53
Primeiro, abra o Amazon Route 53 no AWS Management Console e compre o domínio que deseja usar.
Etapas
- No painel do Amazon Route 53, abra "Registered domains" ou "Domain registration"
- Pesquise o nome de domínio que deseja obter (exemplo:
example.com)

- Se estiver disponível, adicione ao carrinho e prossiga com a compra
- Informe os dados de contato e o período de registro e conclua a compra
- Abra o e-mail de confirmação enviado ao endereço cadastrado e clique no link de verificação no corpo da mensagem
- Exemplo de assunto:
Verify your email address.
- Exemplo de assunto:
- No console do Amazon Route 53, abra "Domains" → "Requests" e confirme que o status do domínio recém-solicitado está como "Successful"
Quando a compra for concluída, além do registro do domínio, o Amazon Route 53 também ficará apto a gerenciar os name servers desse domínio.
2. Verificar a hosted zone criada automaticamente no Amazon Route 53
Quando você registra um domínio no Amazon Route 53, normalmente é criada automaticamente uma hosted zone pública com o mesmo nome. Primeiro, confirme esse estado.
Etapas
- No painel do Amazon Route 53, abra "Hosted zones"
- Confirme que existe uma hosted zone com o mesmo nome do domínio comprado (exemplo:
example.com) - Confirme que os seguintes registros foram criados automaticamente na hosted zone
NS
SOA
Se necessário, verifique também os name servers exibidos no registro NS.
ns-xxx.awsdns-xx.com
ns-xxx.awsdns-xx.net
ns-xxx.awsdns-xx.org
ns-xxx.awsdns-xx.co.uk
3. Emitir um certificado SSL no AWS Certificate Manager (ACM)
Para permitir acesso por HTTPS, emita um certificado SSL no AWS Certificate Manager (ACM).
Etapas
- Mude a região para us-east-1

- No console do ACM, clique em "Request a certificate"

- Selecione "Request a public certificate"

- No campo de nome de domínio totalmente qualificado, informe os domínios que deseja usar
- Se for usar o domínio principal:
example.com - Se for usar subdomínios:
*.example.com - Se quiser cobrir ambos com um único certificado: adicione
example.come*.example.com
- Se for usar o domínio principal:
- Escolha "DNS validation" como método de validação
- Clique em "Request"

Concluir a validação por DNS
- Na página de detalhes do certificado, clique em "Create records in Route 53"
- Se a hosted zone do Route 53 for gerenciada na mesma conta AWS, você poderá criar os registros CNAME automaticamente
- Se a opção de criação automática não aparecer, adicione manualmente no Route 53 os registros CNAME exibidos pelo ACM
- Alguns minutos depois, a validação será concluída
Quando a validação terminar, o status passará para "Issued".
4. Configurar o domínio personalizado no Amazon CloudFront
Depois que o certificado for emitido, adicione o domínio personalizado à distribuição do CloudFront.
Etapas
- No console do CloudFront, selecione a distribuição do domínio principal
- Clique em "Edit"
- Adicione o domínio que será usado em "Alternate domain name (CNAME)"
- Adicione
example.comà distribuição do domínio principal
- Adicione
- Em "Custom SSL certificate", selecione o certificado criado anteriormente
- Clique em "Save changes"
- Em seguida, repita o mesmo procedimento na distribuição do subdomínio
- Adicione
cdn.example.comà distribuição do subdomínio - Confirme que o certificado utilizado inclui
cdn.example.comou*.example.com
- Adicione
- Clique em "Save changes"
Aguarde de alguns minutos até cerca de 15 minutos para que a implantação seja concluída em cada distribuição.
5. Criar o registro do domínio principal no Amazon Route 53
Se você também quiser que example.com aponte para o CloudFront, crie registros de alias A/AAAA.
Etapas
- Na página de detalhes da hosted zone no Amazon Route 53, clique em "Create record"
- Preencha as seguintes informações:
- Nome do registro: deixe em branco (domínio raiz)
- Tipo de registro: A - IPv4 address
- Alias: On
- Route traffic to:
- Alias to CloudFront distribution
- Selecione a distribuição do CloudFront para o domínio principal
- Clique em "Create records"
- Da mesma forma, crie também um registro AAAA - IPv6 address
6. Criar o registro do subdomínio no Amazon Route 53
Crie o registro que aponta o subdomínio (exemplo: cdn.example.com) para o CloudFront.
Etapas
- Na página de detalhes da hosted zone no Amazon Route 53, clique em "Create record"

- Preencha as seguintes informações:
- Nome do registro: subdomínio (exemplo:
cdn) - Tipo de registro: A - IPv4 address
- Alias: On
- Route traffic to:
- Alias to CloudFront distribution
- Selecione a distribuição do CloudFront para o subdomínio
- Nome do registro: subdomínio (exemplo:
- Clique em "Create records"

- Crie também o registro abaixo da mesma forma.
- Tipo de registro: AAAA - IPv6 address
- O restante é igual ao item 2
7. Verificação
Depois que toda a configuração estiver concluída, acesse as URLs abaixo no navegador para verificar o funcionamento.
https://example.com
https://cdn.example.com
Se o conteúdo da origem esperada aparecer em cada caso, o roteamento básico está funcionando.
1. Verificar o DNS
Com os comandos abaixo, você pode confirmar se o domínio principal e o subdomínio apontam para o CloudFront.
nslookup example.com
nslookup cdn.example.com
O nome de domínio do próprio CloudFront não será retornado, mas você pode confirmar que a resolução de nomes funciona e que os registros de alias no Route 53 estão configurados corretamente.
2. Verificar a resposta HTTPS
Em seguida, confirme se o HTTPS responde corretamente.
curl -I https://example.com
curl -I https://cdn.example.com
Verifique pelo menos os pontos abaixo.
- Retorna o status HTTP esperado, como
HTTP/1.1 200 OKou301 Moved Permanently - Inclui
server: CloudFront - O redirecionamento vai para o destino pretendido
3. Verificar o certificado e os nomes de domínio alternativos
Acesse cada URL no navegador e confirme o titular do certificado e o ícone de cadeado.
- Não há erro de certificado em
example.com - Não há erro de certificado em
cdn.example.com - Não ocorre redirecionamento para um domínio inesperado
4. Verificar a separação das origens
Se você estiver usando origens separadas para o domínio principal e o subdomínio, confirme também que cada um referencia um destino diferente.
- Em
https://example.com, é exibido o conteúdo da origem do domínio principal - Em
https://cdn.example.com, é exibido o conteúdo da origem do subdomínio - Atualizações de um lado não se misturam com o outro
Solução de problemas
Se não conseguir acessar:
- Verifique se a implantação do CloudFront foi concluída
- Verifique se os registros de alias A/AAAA no Route 53 estão configurados corretamente
- Verifique se o domínio de destino foi adicionado em "Alternate domain name (CNAME)" no CloudFront
- Verifique se o certificado do ACM inclui
example.comoucdn.example.com - Verifique se o status do certificado do ACM está como "Issued"
- Verifique se o cabeçalho Host ou as configurações de redirecionamento HTTPS na origem não estão causando o problema
- Verifique a propagação do DNS (
nslookup example.com/nslookup cdn.example.com)
Resumo
Este artigo explicou como usar no Amazon CloudFront um domínio registrado no Amazon Route 53. Os pontos principais são os seguintes.
- Um domínio registrado no Amazon Route 53 normalmente não exige alteração de name servers
- Se o domínio oferecer proteção de privacidade, você pode evitar a exposição de informações pessoais no WHOIS
- Emita primeiro o certificado do ACM e depois configure o domínio personalizado no CloudFront
- Se o domínio principal e o subdomínio usarem origens diferentes, fica mais fácil organizar tudo com distribuições separadas do CloudFront
- O domínio principal e o subdomínio devem ser vinculados ao CloudFront por meio de seus próprios registros de alias A/AAAA
- O certificado do ACM deve ser criado obrigatoriamente na região us-east-1
Com essa configuração, você obtém entrega rápida de conteúdo e gerenciamento flexível de DNS.
