Pular para o conteúdo principal

Erros Comuns EC2

Visão Geral​

Esta seção cataloga os erros mais frequentes ao criar e utilizar instâncias EC2, com suas causas e soluções.

Erros de Criação de Instância​

1. InsufficientInstanceCapacity​

┌─────────────────────────────────────────────────────────────┐
│ InsufficientInstanceCapacity │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "We currently do not have sufficient capacity in the │
│ Availability Zone you requested" │
│ │
│ Causa : │
│ A AWS não possui mais servidores disponíveis para esse │
│ tipo de instância nesta AZ específica │
│ │
│ Soluções : │
│ 1. Tentar outra AZ │
│ → us-east-1a → us-east-1b │
│ │
│ 2. Tentar outro tipo de instância │
│ → t3.micro → t3.small │
│ → t3.micro → t3a.micro (AMD) │
│ │
│ 3. Aguardar alguns minutos e tentar novamente │
│ │
│ 4. Utilizar Spot Instances (se tolerar interrupções) │
│ │
└─────────────────────────────────────────────────────────────┘

2. InstanceLimitExceeded​

┌─────────────────────────────────────────────────────────────┐
│ InstanceLimitExceeded │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "You have requested more instances than your current │
│ instance limit allows" │
│ │
│ Causa : │
│ Você atingiu o limite máximo de instâncias para sua │
│ conta AWS nesta região │
│ │
│ Limites padrão (variam) : │
│ • On-Demand : ~20 instâncias por tipo │
│ • Spot : Variável conforme o tipo │
│ │
│ Soluções : │
│ 1. Encerrar instâncias não utilizadas │
│ │
│ 2. Solicitar aumento de quota │
│ → Service Quotas → EC2 → Request quota increase │
│ │
│ 3. Utilizar outra região │
│ │
└─────────────────────────────────────────────────────────────┘

3. InvalidParameterValue (AMI)​

┌─────────────────────────────────────────────────────────────┐
│ InvalidParameterValue - AMI │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "Value (ami-xxxxxxxx) for parameter imageId is invalid" │
│ │
│ Possíveis causas : │
│ │
│ 1. AMI inexistente ou removida │
│ → Verifique se a AMI ainda existe │
│ │
│ 2. AMI em outra região │
│ → As AMIs são regionais! │
│ → ami-xxx em us-east-1 ≠ ami-xxx em eu-west-1 │
│ │
│ 3. AMI privada sem permissão │
│ → Você não tem acesso a esta AMI │
│ │
│ Solução : │
│ Verifique o ID da AMI na região correta │
│ │
└─────────────────────────────────────────────────────────────┘

4. InvalidGroup.NotFound​

┌─────────────────────────────────────────────────────────────┐
│ InvalidGroup.NotFound │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "The security group 'sg-xxxxxxxx' does not exist" │
│ │
│ Possíveis causas : │
│ │
│ 1. Security Group removido │
│ │
│ 2. Security Group em outro VPC │
│ → Os SGs são vinculados a um VPC específico │
│ │
│ 3. ID incorreto do Security Group │
│ │
│ Solução : │
│ aws ec2 describe-security-groups --group-ids sg-xxx │
│ │
└─────────────────────────────────────────────────────────────┘

5. InvalidSubnetID.NotFound​

┌─────────────────────────────────────────────────────────────┐
│ InvalidSubnetID.NotFound │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "The subnet ID 'subnet-xxxxxxxx' does not exist" │
│ │
│ Causas : │
│ • Subnet removida │
│ • Subnet em outra região │
│ • ID incorreto de subnet │
│ │
│ Solução : │
│ Verificar subnets disponíveis : │
│ aws ec2 describe-subnets │
│ │
└─────────────────────────────────────────────────────────────┘

Erros de Conectividade​

6. SSH Timeout​

┌─────────────────────────────────────────────────────────────┐
│ SSH Connection Timeout │
├─────────────────────────────────────────────────────────────┤
│ │
│ Sintoma : │
│ ssh: connect to host X.X.X.X port 22: Connection timed out│
│ │
│ Diagnóstico : │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 1. Instância em execução? │ │
│ │ └── Verifique o estado no console │ │
│ │ │ │
│ │ 2. IP público? │ │
│ │ └── A instância possui IP público? │ │
│ │ └── O subnet tem "auto-assign public IP"? │ │
│ │ │ │
│ │ 3. Security Group? │ │
│ │ └── Porta 22 aberta? │ │
│ │ └── Seu IP autorizado? │ │
│ │ │ │
│ │ 4. NACL? │ │
│ │ └── Tráfego de entrada porta 22 autorizado? │ │
│ │ └── Tráfego de saída ephemeral ports autorizado? │ │
│ │ │ │
│ │ 5. Route Table? │ │
│ │ └── Rota para Internet Gateway? │ │
│ │ │ │
│ │ 6. Internet Gateway? │ │
│ │ └── IGW anexado ao VPC? │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

7. Permission Denied (publickey)​

┌─────────────────────────────────────────────────────────────┐
│ Permission Denied (publickey) │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ Permission denied (publickey,gssapi-keyex,gssapi-with-mic)│
│ │
│ Checklist : │
│ │
│ □ Chave privada correta? │
│ └── Verifique se é a chave associada à instância │
│ │
│ □ Usuário correto? │
│ └── Amazon Linux : ec2-user │
│ └── Ubuntu : ubuntu │
│ └── Debian : admin │
│ └── RHEL : ec2-user │
│ │
│ □ Permissões da chave? │
│ └── chmod 400 minha-chave.pem │
│ │
│ □ Instância lançada com uma chave? │
│ └── Não é possível conectar se não houver chave associada│
│ │
└─────────────────────────────────────────────────────────────┘

8. Connection Refused (port 22)​

┌─────────────────────────────────────────────────────────────┐
│ Connection Refused │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ ssh: connect to host X.X.X.X port 22: Connection refused │
│ │
│ Diferença para Timeout : │
│ • Timeout = Pacote não chega (rede/firewall) │
│ • Refused = Pacote chega mas porta fechada │
│ │
│ Causas : │
│ 1. Serviço SSH não iniciado na instância │
│ → Verificar com EC2 Serial Console │
│ │
│ 2. Instância ainda não está pronta │
│ → Aguardar até que Status Checks passem │
│ │
│ 3. Firewall do SO (iptables) │
│ → SSH bloqueado no nível da instância │
│ │
└─────────────────────────────────────────────────────────────┘

Erros de Estado da Instância​

9. Instance Stuck in Pending​

┌─────────────────────────────────────────────────────────────┐
│ Instance Stuck in Pending │
├─────────────────────────────────────────────────────────────┤
│ │
│ Sintoma : │
│ Instância permanece em estado "pending" por mais de 10 min │
│ │
│ Possíveis causas : │
│ 1. Problema de capacidade AWS │
│ 2. Problema com a AMI │
│ 3. Problema com o volume EBS root │
│ │
│ Soluções : │
│ 1. Encerrar e relançar em outra AZ │
│ 2. Tentar uma AMI diferente │
│ 3. Contatar o suporte AWS se persistir │
│ │
└─────────────────────────────────────────────────────────────┘

10. Instance Immediately Terminates​

┌─────────────────────────────────────────────────────────────┐
│ Instance Terminates Immediately │
├─────────────────────────────────────────────────────────────┤
│ │
│ Sintoma : │
│ Instância vai de pending → running → terminated │
│ em poucos segundos │
│ │
│ Diagnóstico : │
│ EC2 → Instâncias → Selecionar → Descrição │
│ → State transition reason │
│ │
│ Causas comuns : │
│ │
│ "Client.VolumeLimitExceeded" │
│ → Muitos volumes EBS │
│ │
│ "Client.InternalError" │
│ → Problema com a AMI (corrompida) │
│ │
│ "Server.InternalError" │
│ → Problema do lado AWS, tente novamente │
│ │
│ "Client.InvalidSnapshot.NotFound" │
│ → Snapshot da AMI removido │
│ │
└─────────────────────────────────────────────────────────────┘

11. Status Check Failed​

┌─────────────────────────────────────────────────────────────┐
│ Status Check Failed │
├─────────────────────────────────────────────────────────────┤
│ │
│ Dois tipos de Status Checks : │
│ │
│ SYSTEM STATUS CHECK │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Verifica : Infraestrutura AWS │ │
│ │ • Rede física │ │
│ │ • Hypervisor │ │
│ │ • Alimentação │ │
│ │ │ │
│ │ Se falhar : │ │
│ │ → Problema AWS, não é sua culpa │ │
│ │ → Stop/Start na instância (migração para outro host) │ │
│ │ → Ou aguarde a AWS resolver │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ INSTANCE STATUS CHECK │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Verifica : Sua configuração │ │
│ │ • SO responde │ │
│ │ • Configuração de rede da instância │ │
│ │ • Sistema de arquivos │ │
│ │ │ │
│ │ Se falhar : │ │
│ │ → Problema na sua configuração │ │
│ │ → Verifique os logs do sistema │ │
│ │ → Verifique o disco (cheio?) │ │
│ │ → Verifique a config de rede no SO │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Tabela Resumo​

ErroCausa ProvávelSolução Rápida
InsufficientCapacitySem servidores dispoTrocar AZ ou tipo
InstanceLimitExceededQuota atingidaEncerrar ou pedir aumento
InvalidAMIID ou região erradaVerificar AMI na região
SSH TimeoutRede/SGVerificar SG porta 22
Permission DeniedChave/user incorretoVerificar chave e usuário
Instance TerminatesProblema AMI/EBSVerificar state transition
Status Check FailedInfra ou configStop/Start ou debug SO

Quiz de Validação​

  1. Qual a diferença entre SSH timeout e connection refused?
  2. O que significa "InsufficientInstanceCapacity"?
  3. Como encontrar a razão de uma terminação imediata?
  4. Qual usuário SSH para Ubuntu?
  5. O que fazer se o System Status Check falhar?

Próxima seção: Método de Diagnóstico