Como adicionei um certificado SSL ao meu site (https🔒)
- #AWS
- #AWS Lambda
- #Segurança da Informação
Recentemente, decidi dar um passo importante para a segurança do meu site e portfólio (www.eduardolentz.com.br): implementei o HTTPS. O processo envolveu a criação do certificado SSL, a configuração do DNS na AWS (Route53) e também no Registro.br, e a distribuição pelo CloudFront. E dee forma complementar, criei uma automação que facilitou a validação do certificado.
O projeto em etapas
1️⃣ Criando a Zona Hospedada no Route53
O primeiro passo foi criar uma zona hospedada no Route53 para o meu domínio. Essa etapa é fundamental para gerenciar os registros DNS na AWS e preparar o ambiente para as próximas configurações.
2️⃣ Configurando os DNS no Registro.br
Como comprei o domínio no Registro.br, precisei atualizar os servidores de nomes para apontar para a AWS. Para isso, acessei o painel do Registro.br, selecionei meu domínio e substituí os nameservers pelos fornecidos na zona hospedada do Route53. Essa configuração garante que o domínio direcione corretamente para os serviços da AWS, embora a propagação dessa alteração possa levar algumas horas para a propagação.
3️⃣ Criando o certificado no ACM
Solicitei o certificado SSL/TSL para meu domínio usando o AWS Certificate Manager (ACM) na região us-east-1. Escolhi validação por DNS, que exige criar alguns registros no Route53 para provar que você é dono do domínio.
4️⃣ Configurando o DNS no Route53
Após a solicitação do certificado, adicionei os registros CNAME recomendados pelo ACM na zona hospedada do meu domínio no Route53. Essa etapa é essencial para que a AWS valide o certificado e direcione corretamente o tráfego. Isso é feito de forma relativamente simples, e geralmente a validação pode levar de minutos a horas.
Foi aí que me surgiu a ideia: “E se eu criasse uma automação pra me avisar quando o certificado fosse validado?” 🤔
5️⃣ Um Toque de Automação (opcional)
Sabendo que a validação do certificado pode demorar, implementei uma automação utilizando AWS Lambda e EventBridge para verificar periodicamente o status do certificado.
Quando a função detecta que o certificado foi emitido (status ISSUED
), ela envia uma notificação por e-mail usando o SNS (Simple Notification Service), com um corpo simples como: "O certificado para eduardolentz.com.br foi validado com sucesso!". Isso elimina a necessidade de ficar atualizando a página manualmente.
E quando o certificado foi validado, eu recebi a mensagem assim:
Simples, direto e sem sofrimento. 😬
Ah, e claro: pra ter certeza de que tudo tava funcionando como esperado, usei o CloudWatch Logs pra acompanhar a execução da função Lambda em tempo real. Ver os logs aparecendo certinho foi a confirmação de que a automação tava redonda.
Para quem se interessar por esse detalhe, o código completo e as explicações estão disponíveis no repositório do GitHub.
6️⃣ Criando uma distribuição no CloudFront
Com o certificado validado, associei-o a uma distribuição do CloudFront para que meu site passasse a ser servido de forma segura e com melhor desempenho.
7️⃣ Atualizando o Design do Site
Com o HTTPS ativo e a segurança garantida, senti que era a oportunidade perfeita para repaginar meu portfólio, dar um pouco mais da minha personalidade. Adicionei um fundo em gradiente personalizado e ícones minimalistas nos botões.
8️⃣ Atualizando a distribuição do CloudFront
Como o CloudFront utiliza diversas edge locations, as alterações podem demorar um pouco para se propagar. Para garantir que as atualizações — inclusive o novo design do site — fossem refletidas imediatamente, executei uma invalidation na distribuição, forçando a atualização do cache.
9️⃣ Veja o resultado no ar 🚀
Se você quiser conferir como ficou tudo isso funcionando na prática, acessa lá: 🔗 https://www.eduardolentz.com.br
Agora o site está com HTTPS ativo, seguro, distribuído via CloudFront e com um visual renovado. Fico feliz em poder mostrar o resultado de todo esse processo. 😄
Por que compartilhar isso?
Algum tempo atrás, tentei implementar HTTPS no meu site e acabei derrubando tudo por falta de experiência com os serviços da AWS. Deixei o projeto de lado por um tempo, mas voltei com mais conhecimento, planejamento e calma. Agora consegui não só configurar tudo corretamente, como também automatizar parte do processo e aproveitar a oportunidade pra melhorar o design do meu portfólio. Ver essa evolução na prática — de um site fora do ar para uma estrutura segura, com automação e moderna — foi extremamente gratificante, e quero dividir isso com quem está passando por etapas parecidas.
Tecnologias utilizadas
- AWS ACM: Emissão e gerenciamento do certificado
- Route53: Validação do domínio via DNS
- AWS CloudFront: Distribuição segura do site
- AWS Lambda: Verificação automática do status do certificado
- SNS: Envio de notificação por e-mail
- EventBridge: Agendamento da execução da função Lambda
- CloudWatch Logs: Monitoramento da execução da Lambda
Repositório com o código
Quer ver o código dessa automação funcionando na prática? Tudo está disponível no meu GitHub, com explicações, estrutura de pastas e instruções de uso: 🔗 github.com/eduardolentz/AWS-acm-automation
Bora automatizar mais?
Esse foi um dos vários projetinhos que estou desenvolvendo pra melhorar minha infraestrutura pessoal e colocar mais prática no que tenho estudado. Em breve, trago mais ideias de automação, deploy, monitoramento com AWS.
Se curtiu essa ideia, talvez você também se interesse por outros artigos que escrevi no Medium:
👉 Automação na AWS com Lambda: cinco projetos práticos
👉 Como automatizei o deploy do meu site estático na AWS S3 com GitHub Actions
Se quiser trocar uma ideia, me chama 🤗
. . . . . . . .
Eduardo O. Lentz
💻 Portfolio | 🔗 LinkedIn | 📂 GitHub | 📝 Medium | 📸 Instagram