Todos os guias de implantacao Implantacao

Certificados SSL na AWS (ACM, EC2, ALB, CloudFront)

A AWS oferece diversas formas de adicionar HTTPS dependendo da sua arquitetura. A abordagem correta depende de você usar um load balancer, CloudFront ou uma instância EC2 standalone.

Árvore de decisão

Você está usando ALB, NLB ou CloudFront?
├── Sim → Use o AWS Certificate Manager (ACM) — gratuito, renovação automática
└── Não (EC2 standalone)?
    ├── Pode instalar o Certbot? → Certbot no EC2 (renovação automática)
    └── Sem root / configuração rápida? → GetHTTPS → instalação manual no EC2

Opção 1: AWS Certificate Manager (ACM) — para load balancers e CloudFront

O ACM fornece certificados SSL gratuitos com renovação automática. Eles funcionam apenas com serviços AWS (ALB, NLB, CloudFront, API Gateway) — você não pode baixar a chave privada.

Solicitar um certificado

  1. Abra o AWS Certificate Manager no console
  2. Clique em Request a certificateRequest a public certificate
  3. Digite seu(s) domínio(s): example.com, *.example.com
  4. Escolha a válidação: DNS validation (recomendado) ou Email
  5. Clique em Request

Válidação DNS

O ACM fornece um registro CNAME para adicionar ao seu DNS:

  • Name: _xxxx.example.com
  • Value: _yyyy.acm-validations.aws

Se seu DNS está no Route 53, clique em “Create records in Route 53” — o ACM adiciona automaticamente.

Anexar ao ALB

  1. Vá para EC2 → Load Balancers → selecione seu ALB
  2. Aba Listeners → Add listener (ou edite o existente)
  3. Protocol: HTTPS, Port: 443
  4. Default action: Forward to your target group
  5. Default SSL/TLS certificate: selecione seu certificado ACM
  6. Salve

Anexar ao CloudFront

  1. Vá para CloudFront → selecione sua distribuição
  2. Aba GeneralEdit
  3. Custom SSL certificate: selecione seu certificado ACM (deve estar em us-east-1)
  4. Salve

Opção 2: Let’s Encrypt no EC2 (instâncias standalone)

Se você roda uma instância EC2 única sem load balancer, instale o certificado diretamente no servidor.

Usando GetHTTPS (sem necessidade de instalação)

  1. Obtenha um certificado no GetHTTPS
  2. Faça upload dos arquivos para sua instância EC2:
    scp fullchain.pem privkey.pem ec2-user@your-ec2-ip:/etc/ssl/
  3. Configure Nginx ou Apache na instância

Usando Certbot (renovação automática)

# Amazon Linux 2023
sudo dnf install certbot python3-certbot-nginx
sudo certbot --nginx -d example.com

# Ubuntu no EC2
sudo snap install --classic certbot
sudo certbot --nginx -d example.com

O Certbot configura a renovação automática automaticamente.

ACM vs Let’s Encrypt na AWS

ACMLet’s Encrypt (GetHTTPS/Certbot)
CustoGratuitoGratuito
Funciona com ALB/CloudFront❌ (não é possível importar LE para ACM facilmente)
Funciona diretamente no EC2
Renovação automática✅ (gerenciado pela AWS)✅ (Certbot) ou manual (GetHTTPS)
Acesso à chave privada❌ (AWS retém)✅ (você tem)
Wildcard
Uso fora da AWS✅ (portátil)

Regra geral: Use ACM para tudo que está atrás de um ALB ou CloudFront. Use Let’s Encrypt para instâncias EC2 standalone.

Configuração do security group

Certifique-se de que o security group do seu EC2 ou ALB permite tráfego de entrada nas portas 80 e 443:

Type        Protocol  Port  Source
HTTP        TCP       80    0.0.0.0/0
HTTPS       TCP       443   0.0.0.0/0

A porta 80 é necessária para redirecionamentos HTTP→HTTPS e para challenges HTTP-01 do Let’s Encrypt.

Perguntas frequentes

Posso usar certificados ACM diretamente no EC2?

Não. Certificados ACM só podem ser anexados a serviços gerenciados pela AWS (ALB, NLB, CloudFront, API Gateway). Você não pode exportar a chave privada. Para EC2 standalone, use GetHTTPS ou Certbot.

Posso importar um certificado Let’s Encrypt no ACM?

Tecnicamente sim (aws acm import-certificate), mas ele não terá renovação automática pelo ACM. Você precisaria reimportar a cada 90 dias. É mais simples usar os certificados nativos do ACM para serviços AWS e Let’s Encrypt para EC2.

Qual região AWS para certificados ACM?

Para ALB/NLB: solicite o certificado na mesma região do seu load balancer. Para CloudFront: o certificado deve estar em us-east-1 (N. Virginia), independentemente de onde está sua origem.

O ACM é realmente gratuito?

Sim. Certificados SSL/TLS públicos do ACM são gratuitos. Não há cobrança por certificado e não há cobrança por renovação. Você paga apenas pelos recursos AWS que usam o certificado (ALB, CloudFront, etc.).

Como lidar com SSL para um serviço ECS/Fargate?

Coloque um ALB na frente do seu serviço ECS e anexe um certificado ACM ao listener do ALB. O ALB encerra o TLS e encaminha HTTP para seus containers. Este é o padrão para ECS.

Como lidar com SSL para um site estático no S3?

O hosting de site estático do S3 não suporta certificados SSL personalizados diretamente. Coloque o CloudFront na frente do S3 e anexe um certificado ACM (de us-east-1) à distribuição CloudFront.

E o API Gateway?

O AWS API Gateway inclui SSL gratuito por padrão em *.execute-api.region.amazonaws.com. Para um domínio personalizado (ex.: api.example.com), crie um certificado ACM e configure um custom domain name no API Gateway.

Devo usar ACM ou GetHTTPS na AWS?

CenárioUse
ALB / NLB / CloudFrontACM — gratuito, renovação automática, integração nativa
EC2 standaloneGetHTTPS ou Certbot — ACM não pode exportar chaves para EC2
EC2 atrás de ALBACM no ALB — EC2 não precisa de seu próprio certificado
ECS / FargateACM no ALB — padrão recomendado
LightsailLightsail built-in — inclui Let’s Encrypt gratuito

Se você está em EC2 puro sem load balancer, GetHTTPS é a forma mais rápida de obter um certificado — sem necessidade de AWS CLI.

Artigos relacionados

Primeiros passos 2026-05-08
Como obter um certificado SSL gratuito (guia passo a passo)
Obtenha um certificado SSL gratuito do Let's Encrypt em 5 minutos — sem software para instalar, sem conta para criar. Guia completo cobrindo 4 métodos, ambos os tipos de desafio, instalação em 6 plataformas e solução de problemas.
Implantacao 2026-05-08
Como Instalar um Certificado SSL no Nginx
Guia passo a passo para instalar um certificado SSL no Nginx. Abrange upload de arquivos, configuração completa do bloco server, boas práticas de TLS, HTTP/2, HSTS, configuração de redirecionamento, testes e solução de 6 erros comuns.
Implantacao 2026-05-08
Certificados SSL com Docker e Reverse Proxies
Configure HTTPS para containers Docker usando Nginx como reverse proxy, Traefik com Let's Encrypt automático ou montagem manual de certificados.
Obtenha um certificado SSL gratuito no seu navegador
Sem instalacao, sem conta. Sua chave privada nunca sai do seu dispositivo.
Obter seu certificado