Para configurar o CloudFront para servir seu site estático hospedado no S3 diretamente a partir da raiz do domínio (exemplo.com.br
), você precisa contornar a limitação do Route 53 que não permite criar um registro CNAME para a raiz do domínio (também conhecido como “apex domain”). A solução é usar um Alias Record no Route 53, que é suportado para domínios raiz.
Aqui está o passo a passo para configurar:
1. Configurar o CloudFront
- Crie uma distribuição no CloudFront:
- No console da AWS, vá para o serviço CloudFront.
- Clique em Create Distribution.
- Em Origin Domain, selecione o bucket S3 onde seu site está hospedado.
- Em Origin Path, deixe em branco (a menos que você precise especificar um subdiretório).
- Em Viewer Protocol Policy, escolha Redirect HTTP to HTTPS para garantir que todas as requisições sejam seguras.
- Em Alternate Domain Names (CNAMEs), adicione
exemplo.com.br
. - Em SSL Certificate, escolha um certificado SSL válido para
exemplo.com.br
. Você pode usar o AWS Certificate Manager (ACM) para emitir um certificado gratuito. - Configure outras opções conforme necessário e clique em Create Distribution.
- Aguarde a implantação da distribuição:
- A distribuição do CloudFront pode levar alguns minutos para ser implantada. Anote o Domain Name da distribuição (algo como
d1234abcd.cloudfront.net
).
- A distribuição do CloudFront pode levar alguns minutos para ser implantada. Anote o Domain Name da distribuição (algo como
2. Configurar o Route 53
- Crie um Alias Record para a raiz do domínio:
- No console da AWS, vá para o serviço Route 53.
- Selecione a zona hospedada correspondente ao domínio
exemplo.com.br
. - Clique em Create Record.
- Em Record Name, deixe em branco (isso representa a raiz do domínio).
- Em Record Type, selecione A – IPv4 address.
- Ative a opção Alias.
- Em Route traffic to, selecione Alias to CloudFront distribution.
- Escolha a distribuição do CloudFront que você criou anteriormente.
- Clique em Create Records.
- Verifique o registro:
- Após criar o registro, ele deve apontar a raiz do domínio (
exemplo.com.br
) para a distribuição do CloudFront.
- Após criar o registro, ele deve apontar a raiz do domínio (
3. Configurar o S3 (se necessário)
- Certifique-se de que o bucket S3 está configurado para hospedagem de site estático e que as permissões estão corretas para permitir o acesso público (ou apenas via CloudFront, se você estiver usando uma origem privada).
- Se você estiver usando uma origem privada no S3, configure a política de bucket para permitir acesso ao CloudFront.
4. Testar a configuração
- Aguarde alguns minutos para que as alterações no DNS e no CloudFront propaguem.
- Acesse
http://exemplo.com.br
ouhttps://exemplo.com.br
no navegador para verificar se o site está sendo servido corretamente.
Resumo
- Use um Alias Record no Route 53 para apontar a raiz do domínio (
exemplo.com.br
) para a distribuição do CloudFront. - Configure o CloudFront para servir o conteúdo do S3.
- Certifique-se de que o certificado SSL esteja configurado corretamente no CloudFront.
Com isso, seu site estará acessível diretamente a partir de exemplo.com.br
, sem a necessidade de usar www.exemplo.com.br
.