Saltar al contenido principal

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​

ErrorCausa ProbableSolución Rápida
InsufficientCapacityNo hay servidores disponiblesCambiar AZ o tipo
InstanceLimitExceededCupo alcanzadoTerminar o solicitar cuota
InvalidAMIID o región incorrectaVerificar AMI en la región
SSH TimeoutRed/SGVerificar SG puerto 22
Permission DeniedClave/usuario incorrectoVerificar clave y usuario
Instance TerminatesProblema AMI/EBSVerificar state transition reason
Status Check FailedInfraestructura o configuraciónStop/Start o depurar OS

Quiz de Validación​

  1. ¿Cuál es la diferencia entre SSH timeout y connection refused?
  2. ¿Qué significa "InsufficientInstanceCapacity"?
  3. ¿Cómo encontrar la razón de una terminación inmediata?
  4. ¿Qué usuario SSH para Ubuntu?
  5. ¿Qué hacer si falla el System Status Check?

Próxima sección : Método de Diagnóstico