AWS SAA-C03/05 - Redes e VPC2 min
Security Groups vs NACL
Responda com suas palavras antes de ler o resto da nota.
- Que problema isso resolve?
- Quando usar / quando NÃO usar?
- Qual o principal trade-off (custo, latência, operação)?
- Que sinal no enunciado aponta pra isso?
- Com o que isso é confundido na prova?
Conceito
As duas camadas de firewall da VPC. Esta é a tabela mais cobrada da prova.
| Security Group | Network ACL | |
|---|---|---|
| Opera em | Instância (ENI) | Subnet |
| Estado | Stateful — a resposta volta automaticamente | Stateless — precisa regra explícita nos dois sentidos |
| Regras | Só Allow | Allow e Deny |
| Avaliação | Todas as regras somadas (união) | Por número, da menor pra maior, para na primeira que casar |
| Padrão (default) | Nega entrada, permite toda saída | Permite tudo |
| Padrão (criada por você) | Nega entrada, permite toda saída | Nega tudo |
| Referência | Pode referenciar outro SG | Só CIDR |
Stateful na prática
No SG, se você libera a entrada na porta 443, a resposta sai sozinha — não existe regra de saída pra isso.
Na NACL, cada sentido é independente. A resposta de uma conexão sai por uma porta efêmera, então a regra de saída precisa liberar a faixa 1024–65535.
NACL com entrada liberada e saída bloqueada nas portas efêmeras. Sempre que a questão descrever conexão que estabelece mas não retorna, olhe pra NACL.
Referenciar SG dentro de SG
Você pode escrever "permitir 3306 vindo do sg-app" em vez de um CIDR. A regra acompanha as instâncias automaticamente, mesmo que os IPs mudem — é o padrão esperado numa arquitetura de camadas.
Trade-offs
SG é simples, dinâmico e suficiente em 90% dos casos, mas não consegue negar: pra bloquear um IP específico você precisa de NACL. NACL protege a subnet inteira de uma vez e é rígida — regra numerada, stateless, fácil de errar. A prática recomendada é usar SG como controle principal e NACL como camada grossa (bloquear IP hostil, isolar subnet).
Sinais de prova
- "Bloquear um IP malicioso específico" → NACL (SG não tem Deny)
- "Permitir que o app fale com o banco" → SG do banco referenciando o SG do app
- "Conexão estabelece mas não recebe resposta" → portas efêmeras na NACL
- "Regra aplicada a todas as instâncias da subnet de uma vez" → NACL
- "Mudei o SG e não precisei reiniciar" → correto, SG é aplicado na hora
- Alternativa dizendo "SG é stateless" ou "NACL é stateful" → errada
Relacionado
- VPC Subnets e Roteamento
- NAT Gateway e Internet Gateway
- Elastic Load Balancing
- WAF Shield e GuardDuty
Parte de 05 - MOC Redes e VPC · Documentação AWS