Errores Comunes EC2
Visión General
Esta sección cataloga los errores más frecuentes al crear y utilizar instancias EC2, con sus causas y soluciones.
Errores de Creación de Instancia
1. InsufficientInstanceCapacity
┌─────────────────────────────────────────────────────────────┐
│ InsufficientInstanceCapacity │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "We currently do not have sufficient capacity in the │
│ Availability Zone you requested" │
│ │
│ Cause : │
│ AWS no tiene más servidores disponibles para este tipo │
│ de instancia en esta AZ específica │
│ │
│ Solutions : │
│ 1. Probar otra AZ │
│ → us-east-1a → us-east-1b │
│ │
│ 2. Probar otro tipo de instancia │
│ → t3.micro → t3.small │
│ → t3.micro → t3a.micro (AMD) │
│ │
│ 3. Esperar unos minutos y volver a intentar │
│ │
│ 4. Utilizar Spot Instances (si tolera interrupciones) │
│ │
└─────────────────────────────────────────────────────────────┘
2. InstanceLimitExceeded
┌─────────────────────────────────────────────────────────────┐
│ InstanceLimitExceeded │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "You have requested more instances than your current │
│ instance limit allows" │
│ │
│ Cause : │
│ Ha alcanzado el cupo máximo de instancias para │
│ su cuenta AWS en esta región │
│ │
│ Límites por defecto (varían) : │
│ • On-Demand : ~20 instancias por tipo │
│ • Spot : Variable según el tipo │
│ │
│ Solutions : │
│ 1. Terminar instancias no utilizadas │
│ │
│ 2. Solicitar un aumento de cuota │
│ → Service Quotas → EC2 → Request quota increase │
│ │
│ 3. Utilizar otra región │
│ │
└─────────────────────────────────────────────────────────────┘
3. InvalidParameterValue (AMI)
┌─────────────────────────────────────────────────────────────┐
│ InvalidParameterValue - AMI │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "Value (ami-xxxxxxxx) for parameter imageId is invalid" │
│ │
│ Posibles causas : │
│ │
│ 1. AMI inexistente o eliminada │
│ → Verifique que la AMI aún exista │
│ │
│ 2. AMI en otra región │
│ → ¡Las AMI son regionales! │
│ → ami-xxx en us-east-1 ≠ ami-xxx en eu-west-1 │
│ │
│ 3. AMI privada sin permiso │
│ → No tiene acceso a esta AMI │
│ │
│ Solution : │
│ Verifique el ID de la AMI en la región correcta │
│ │
└─────────────────────────────────────────────────────────────┘
4. InvalidGroup.NotFound
┌─────────────────────────────────────────────────────────────┐
│ InvalidGroup.NotFound │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "The security group 'sg-xxxxxxxx' does not exist" │
│ │
│ Posibles causas : │
│ │
│ 1. Security Group eliminado │
│ │
│ 2. Security Group en otro VPC │
│ → Los SG están ligados a un VPC específico │
│ │
│ 3. ID incorrecto de Security Group │
│ │
│ Solution : │
│ aws ec2 describe-security-groups --group-ids sg-xxx │
│ │
└─────────────────────────────────────────────────────────────┘
5. InvalidSubnetID.NotFound
┌─────────────────────────────────────────────────────────────┐
│ InvalidSubnetID.NotFound │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "The subnet ID 'subnet-xxxxxxxx' does not exist" │
│ │
│ Causes : │
│ • Subnet eliminado │
│ • Subnet en otra región │
│ • ID incorrecto de subnet │
│ │
│ Solution : │
│ Verificar los subnets disponibles : │
│ aws ec2 describe-subnets │
│ │
└─────────────────────────────────────────────────────────────┘
Errores de Conectividad
6. SSH Timeout
┌─────────────────────────────────────────────────────────────┐
│ SSH Connection Timeout │
├─────────────────────────────────────────────────────────────┤
│ │
│ Síntoma : │
│ ssh: connect to host X.X.X.X port 22: Connection timed out│
│ │
│ Diagnóstico : │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 1. ¿Instancia en ejecución? │ │
│ │ └── Verificar estado en la consola │ │
│ │ │ │
│ │ 2. ¿IP pública? │ │
│ │ └── ¿La instancia tiene IP pública? │ │
│ │ └── ¿Subnet tiene "auto-assign public IP"? │ │
│ │ │ │
│ │ 3. ¿Security Group? │ │
│ │ └── ¿Puerto 22 abierto? │ │
│ │ └── ¿Su IP autorizada? │ │
│ │ │ │
│ │ 4. ¿NACL? │ │
│ │ └── ¿Tráfico entrante puerto 22 autorizado? │ │
│ │ └── ¿Tráfico saliente ephemeral ports autorizado?│ │
│ │ │ │
│ │ 5. ¿Route Table? │ │
│ │ └── ¿Ruta hacia Internet Gateway? │ │
│ │ │ │
│ │ 6. ¿Internet Gateway? │ │
│ │ └── ¿IGW adjunto al VPC? │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
7. Permission Denied (publickey)
┌─────────────────────────────────────────────────────────────┐
│ Permission Denied (publickey) │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ Permission denied (publickey,gssapi-keyex,gssapi-with-mic)│
│ │
│ Checklist : │
│ │
│ □ ¿Clave privada correcta? │
│ └── Verifique que sea la clave asociada a la instancia │
│ │
│ □ ¿Usuario correcto? │
│ └── Amazon Linux : ec2-user │
│ └── Ubuntu : ubuntu │
│ └── Debian : admin │
│ └── RHEL : ec2-user │
│ │
│ □ ¿Permisos de la clave? │
│ └── chmod 400 mi-clave.pem │
│ │
│ □ ¿Instancia lanzada con una clave? │
│ └── No es posible conectar si no hay clave asociada │
│ │
└─────────────────────────────────────────────────────────────┘
8. Connection Refused (port 22)
┌─────────────────────────────────────────────────────────────┐
│ Connection Refused │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ ssh: connect to host X.X.X.X port 22: Connection refused │
│ │
│ Diferencia con Timeout : │
│ • Timeout = El paquete no llega (red/firewall) │
│ • Refused = El paquete llega pero el puerto está cerrado │
│ │
│ Causes : │
│ 1. Servicio SSH no iniciado en la instancia │
│ → Verificar con EC2 Serial Console │
│ │
│ 2. Instancia aún no lista │
│ → Esperar a que los Status Checks pasen │
│ │
│ 3. Firewall del SO (iptables) │
│ → SSH bloqueado a nivel de la instancia │
│ │
└─────────────────────────────────────────────────────────────┘
Errores de Estado de Instancia
9. Instance Stuck in Pending
┌─────────────────────────────────────────────────────────────┐
│ Instance Stuck in Pending │
├─────────────────────────────────────────────────────────────┤
│ │
│ Síntoma : │
│ Instancia permanece en estado "pending" más de 10 minutos │
│ │
│ Posibles causas : │
│ 1. Problema de capacidad de AWS │
│ 2. Problema con la AMI │
│ 3. Problema con el volumen EBS root │
│ │
│ Solutions : │
│ 1. Terminar y relanzar en otra AZ │
│ 2. Probar una AMI diferente │
│ 3. Contactar al soporte de AWS si persiste │
│ │
└─────────────────────────────────────────────────────────────┘
10. Instance Immediately Terminates
┌─────────────────────────────────────────────────────────────┐
│ Instance Terminates Immediately │
├─────────────────────────────────────────────────────────────┤
│ │
│ Síntoma : │
│ Instancia pasa de pending → running → terminated │
│ en pocos segundos │
│ │
│ Diagnóstico : │
│ EC2 → Instances → Seleccionar → Description │
│ → State transition reason │
│ │
│ Causas comunes : │
│ │
│ "Client.VolumeLimitExceeded" │
│ → Demasiados volúmenes EBS │
│ │
│ "Client.InternalError" │
│ → Problema con la AMI (corrupta) │
│ │
│ "Server.InternalError" │
│ → Problema del lado de AWS, volver a intentar │
│ │
│ "Client.InvalidSnapshot.NotFound" │
│ → Snapshot de la AMI eliminado │
│ │
└─────────────────────────────────────────────────────────────┘
11. Status Check Failed
┌─────────────────────────────────────────────────────────────┐
│ Status Check Failed │
├─────────────────────────────────────────────────────────────┤
│ │
│ Dos tipos de Status Checks : │
│ │
│ SYSTEM STATUS CHECK │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Verifica : Infraestructura AWS │ │
│ │ • Red física │ │
│ │ • Hipervisor │ │
│ │ • Alimentación │ │
│ │ │ │
│ │ Si falla : │ │
│ │ → Problema de AWS, no es su culpa │ │
│ │ → Stop/Start la instancia (migración a otro host) │ │
│ │ → O esperar que AWS lo resuelva │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ INSTANCE STATUS CHECK │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Verifica : Su configuración │ │
│ │ • OS responde │ │
│ │ • Configuración de red de la instancia │ │
│ │ • Sistema de archivos │ │
│ │ │ │
│ │ Si falla : │ │
│ │ → Problema de su configuración │ │
│ │ → Verificar los logs del sistema │ │
│ │ → Verificar el disco (¿lleno?) │ │
│ │ → Verificar la configuración de red en el OS │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
Tabla Resumen
| Error | Causa Probable | Solución Rápida |
|---|---|---|
| InsufficientCapacity | No hay servidores disponibles | Cambiar AZ o tipo |
| InstanceLimitExceeded | Cupo alcanzado | Terminar o solicitar cuota |
| InvalidAMI | ID o región incorrecta | Verificar AMI en la región |
| SSH Timeout | Red/SG | Verificar SG puerto 22 |
| Permission Denied | Clave/usuario incorrecto | Verificar clave y usuario |
| Instance Terminates | Problema AMI/EBS | Verificar state transition reason |
| Status Check Failed | Infraestructura o configuración | Stop/Start o depurar OS |
Quiz de Validación
- ¿Cuál es la diferencia entre SSH timeout y connection refused?
- ¿Qué significa "InsufficientInstanceCapacity"?
- ¿Cómo encontrar la razón de una terminación inmediata?
- ¿Qué usuario SSH para Ubuntu?
- ¿Qué hacer si falla el System Status Check?
Próxima sección : Método de Diagnóstico