Aller au contenu principal

Erreurs Courantes EC2

Vue d'Ensemble​

Cette section catalogue les erreurs les plus fréquentes lors de la création et de l'utilisation d'instances EC2, avec leurs causes et solutions.

Erreurs de Création d'Instance​

1. InsufficientInstanceCapacity​

┌─────────────────────────────────────────────────────────────┐
│ InsufficientInstanceCapacity │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "We currently do not have sufficient capacity in the │
│ Availability Zone you requested" │
│ │
│ Cause : │
│ AWS n'a plus de serveurs disponibles pour ce type │
│ d'instance dans cette AZ spécifique │
│ │
│ Solutions : │
│ 1. Essayer une autre AZ │
│ → us-east-1a → us-east-1b │
│ │
│ 2. Essayer un autre type d'instance │
│ → t3.micro → t3.small │
│ → t3.micro → t3a.micro (AMD) │
│ │
│ 3. Attendre quelques minutes et réessayer │
│ │
│ 4. Utiliser des Spot Instances (si tolérant aux │
│ interruptions) │
│ │
└─────────────────────────────────────────────────────────────┘

2. InstanceLimitExceeded​

┌─────────────────────────────────────────────────────────────┐
│ InstanceLimitExceeded │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "You have requested more instances than your current │
│ instance limit allows" │
│ │
│ Cause : │
│ Vous avez atteint le quota maximum d'instances pour │
│ votre compte AWS dans cette région │
│ │
│ Limites par défaut (varient) : │
│ • On-Demand : ~20 instances par type │
│ • Spot : Variable selon le type │
│ │
│ Solutions : │
│ 1. Terminer des instances non utilisées │
│ │
│ 2. Demander une augmentation de quota │
│ → Service Quotas → EC2 → Request quota increase │
│ │
│ 3. Utiliser une autre région │
│ │
└─────────────────────────────────────────────────────────────┘

3. InvalidParameterValue (AMI)​

┌─────────────────────────────────────────────────────────────┐
│ InvalidParameterValue - AMI │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "Value (ami-xxxxxxxx) for parameter imageId is invalid" │
│ │
│ Causes possibles : │
│ │
│ 1. AMI inexistante ou supprimée │
│ → Vérifier que l'AMI existe toujours │
│ │
│ 2. AMI dans une autre région │
│ → Les AMI sont régionales ! │
│ → ami-xxx en us-east-1 ≠ ami-xxx en eu-west-1 │
│ │
│ 3. AMI privée sans permission │
│ → Vous n'avez pas accès à cette AMI │
│ │
│ Solution : │
│ Vérifier l'ID de l'AMI dans la bonne région │
│ │
└─────────────────────────────────────────────────────────────┘

4. InvalidGroup.NotFound​

┌─────────────────────────────────────────────────────────────┐
│ InvalidGroup.NotFound │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ "The security group 'sg-xxxxxxxx' does not exist" │
│ │
│ Causes possibles : │
│ │
│ 1. Security Group supprimé │
│ │
│ 2. Security Group dans un autre VPC │
│ → Les SG sont liés à un VPC spécifique │
│ │
│ 3. Mauvais ID 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 supprimé │
│ • Subnet dans une autre région │
│ • Mauvais ID de subnet │
│ │
│ Solution : │
│ Vérifier les subnets disponibles : │
│ aws ec2 describe-subnets │
│ │
└─────────────────────────────────────────────────────────────┘

Erreurs de Connectivité​

6. SSH Timeout​

┌─────────────────────────────────────────────────────────────┐
│ SSH Connection Timeout │
├─────────────────────────────────────────────────────────────┤
│ │
│ Symptôme : │
│ ssh: connect to host X.X.X.X port 22: Connection timed out│
│ │
│ Diagnostic : │
│ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 1. Instance running ? │ │
│ │ └── Vérifier état dans la console │ │
│ │ │ │
│ │ 2. IP publique ? │ │
│ │ └── Instance a-t-elle une IP publique ? │ │
│ │ └── Subnet a-t-il "auto-assign public IP" ? │ │
│ │ │ │
│ │ 3. Security Group ? │ │
│ │ └── Port 22 ouvert ? │ │
│ │ └── Votre IP autorisée ? │ │
│ │ │ │
│ │ 4. NACL ? │ │
│ │ └── Trafic entrant port 22 autorisé ? │ │
│ │ └── Trafic sortant ephemeral ports autorisé ? │ │
│ │ │ │
│ │ 5. Route Table ? │ │
│ │ └── Route vers Internet Gateway ? │ │
│ │ │ │
│ │ 6. Internet Gateway ? │ │
│ │ └── IGW attaché au VPC ? │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

7. Permission Denied (publickey)​

┌─────────────────────────────────────────────────────────────┐
│ Permission Denied (publickey) │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ Permission denied (publickey,gssapi-keyex,gssapi-with-mic)│
│ │
│ Checklist : │
│ │
│ □ Bonne clé privée ? │
│ └── Vérifier que c'est la clé associée à l'instance │
│ │
│ □ Bon utilisateur ? │
│ └── Amazon Linux : ec2-user │
│ └── Ubuntu : ubuntu │
│ └── Debian : admin │
│ └── RHEL : ec2-user │
│ │
│ □ Permissions de la clé ? │
│ └── chmod 400 ma-cle.pem │
│ │
│ □ Instance lancée avec une clé ? │
│ └── Impossible de se connecter si pas de clé associée │
│ │
└─────────────────────────────────────────────────────────────┘

8. Connection Refused (port 22)​

┌─────────────────────────────────────────────────────────────┐
│ Connection Refused │
├─────────────────────────────────────────────────────────────┤
│ │
│ Message : │
│ ssh: connect to host X.X.X.X port 22: Connection refused │
│ │
│ Différence avec Timeout : │
│ • Timeout = Paquet n'arrive pas (réseau/firewall) │
│ • Refused = Paquet arrive mais port fermé │
│ │
│ Causes : │
│ 1. Service SSH non démarré sur l'instance │
│ → Vérifier avec EC2 Serial Console │
│ │
│ 2. Instance pas encore prête │
│ → Attendre que Status Checks passent │
│ │
│ 3. Firewall OS (iptables) │
│ → SSH bloqué au niveau de l'instance │
│ │
└─────────────────────────────────────────────────────────────┘

Erreurs d'État d'Instance​

9. Instance Stuck in Pending​

┌─────────────────────────────────────────────────────────────┐
│ Instance Stuck in Pending │
├─────────────────────────────────────────────────────────────┤
│ │
│ Symptôme : │
│ Instance reste en état "pending" plus de 10 minutes │
│ │
│ Causes possibles : │
│ 1. Problème de capacité AWS │
│ 2. Problème avec l'AMI │
│ 3. Problème avec le volume EBS root │
│ │
│ Solutions : │
│ 1. Terminer et relancer dans une autre AZ │
│ 2. Essayer une AMI différente │
│ 3. Contacter le support AWS si persiste │
│ │
└─────────────────────────────────────────────────────────────┘

10. Instance Immediately Terminates​

┌─────────────────────────────────────────────────────────────┐
│ Instance Terminates Immediately │
├─────────────────────────────────────────────────────────────┤
│ │
│ Symptôme : │
│ Instance passe de pending → running → terminated │
│ en quelques secondes │
│ │
│ Diagnostic : │
│ EC2 → Instances → Sélectionner → Description │
│ → State transition reason │
│ │
│ Causes courantes : │
│ │
│ "Client.VolumeLimitExceeded" │
│ → Trop de volumes EBS │
│ │
│ "Client.InternalError" │
│ → Problème avec l'AMI (corrompue) │
│ │
│ "Server.InternalError" │
│ → Problème côté AWS, réessayer │
│ │
│ "Client.InvalidSnapshot.NotFound" │
│ → Snapshot de l'AMI supprimé │
│ │
└─────────────────────────────────────────────────────────────┘

11. Status Check Failed​

┌─────────────────────────────────────────────────────────────┐
│ Status Check Failed │
├─────────────────────────────────────────────────────────────┤
│ │
│ Deux types de Status Checks : │
│ │
│ SYSTEM STATUS CHECK │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Vérifie : Infrastructure AWS │ │
│ │ • Réseau physique │ │
│ │ • Hyperviseur │ │
│ │ • Alimentation │ │
│ │ │ │
│ │ Si échec : │ │
│ │ → Problème AWS, pas de votre faute │ │
│ │ → Stop/Start l'instance (migration vers autre host) │ │
│ │ → Ou attendre qu'AWS résolve │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
│ INSTANCE STATUS CHECK │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Vérifie : Votre configuration │ │
│ │ • OS répond │ │
│ │ • Configuration réseau de l'instance │ │
│ │ • Système de fichiers │ │
│ │ │ │
│ │ Si échec : │ │
│ │ → Problème de votre configuration │ │
│ │ → Vérifier les logs système │ │
│ │ → Vérifier le disque (plein ?) │ │
│ │ → Vérifier la config réseau dans l'OS │ │
│ └─────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

Tableau Récapitulatif​

ErreurCause ProbableSolution Rapide
InsufficientCapacityPas de serveurs dispoChanger AZ ou type
InstanceLimitExceededQuota atteintTerminer ou demander quota
InvalidAMIMauvais ID ou régionVérifier AMI dans la région
SSH TimeoutRéseau/SGVérifier SG port 22
Permission DeniedMauvaise clé/userVérifier clé et utilisateur
Instance TerminatesProblème AMI/EBSVérifier state transition reason
Status Check FailedInfra ou configStop/Start ou debug OS

Quiz de Validation​

  1. Quelle est la différence entre SSH timeout et connection refused ?
  2. Que signifie "InsufficientInstanceCapacity" ?
  3. Comment trouver la raison d'une terminaison immédiate ?
  4. Quel utilisateur SSH pour Ubuntu ?
  5. Que faire si System Status Check échoue ?

Prochaine section : Méthode de Diagnostic