Como Criar um site estático sem custo na AWS

AWS STATIC SITE S3

Published on December 2, 2025

Introdução: Por que um Site Estático?

Para projetos como blogs pessoais, portfólios ou sites institucionais, uma arquitetura estática é a abordagem mais segura, rápida e económica. Diferente de um site dinâmico que depende de um servidor de aplicação e um banco de dados, um site estático é composto apenas por ficheiros HTML, CSS e JavaScript. Na AWS, podemos hospedar este tipo de site de forma extremamente eficiente e, para muitos casos, sem custo, graças ao AWS Free Tier.

Este post detalha a arquitetura exata que utilizei para construir este blog.

Diagrama da Arquitetura

A solução é baseada em três serviços principais da AWS que trabalham em conjunto para entregar o conteúdo de forma rápida e segura ao utilizador final.

Passo 1: Amazon S3 - O Armazenamento

O Amazon S3 (Simple Storage Service) é a fundação da nossa arquitetura. É aqui que todos os ficheiros do nosso site, incluindo o index.html, imagens e scripts, são armazenados. A configuração crucial aqui é manter o bucket privado.

  • Bucket Privado: Ativamos a opção "Block all public access". Isto garante que ninguém consegue aceder aos nossos ficheiros diretamente pelo URL do S3, prevenindo hotlinking e acesso não autorizado.

  • Website Hosting Desativado: Não usamos a funcionalidade de "Static website hosting" do S3, pois o acesso será gerido exclusivamente pelo CloudFront.

Passo 2: Amazon CloudFront - A Entrega e Segurança

O CloudFront é a nossa Rede de Distribuição de Conteúdo (CDN) e a porta de entrada para o nosso site. Ele é responsável por acelerar a entrega do conteúdo e por adicionar uma camada de segurança essencial.

  • Origin Access Control (OAC): Esta é a configuração mais importante. O OAC permite que apenas a nossa distribuição CloudFront aceda aos ficheiros no bucket S3. Todo o outro tráfego para o S3 é bloqueado.

  • HTTPS e Certificado SSL: O CloudFront integra-se com o AWS Certificate Manager (ACM) para fornecer um certificado SSL/TLS gratuito, garantindo que todo o tráfego seja encriptado (HTTPS).

  • Default Root Object: Configuramos o "Default root object" para index.html. Isto permite que os utilizadores acedam ao site sem precisar de digitar o nome do ficheiro no URL.

Passo 3: Amazon Route 53 - O DNS

Finalmente, para usar um domínio personalizado (como meublog.com), utilizamos o Route 53, o serviço de DNS da AWS.

  • Registo Alias: Criamos um registo do tipo "A" com a opção "Alias" ativada, apontando o nosso domínio diretamente para a nossa distribuição do CloudFront. Usar um registo Alias é mais eficiente e resiliente do que um CNAME para o domínio raiz.

Conclusão

Com esta arquitetura serverless, temos um site extremamente rápido, globalmente distribuído, seguro e com custos muito baixos (ou nulos, dependendo do tráfego). A gestão é simples: para atualizar o site, basta carregar o novo index.html no S3 e criar uma invalidação no CloudFront. É a solução perfeita para quem procura eficiência e segurança sem a complexidade de gerir servidores.