Comment diagnostiquer et résoudre les problèmes courants de connectivité des instances EC2

Ce guide complet vous aide à dépanner et à résoudre les problèmes courants de connectivité réseau des instances Amazon EC2. Apprenez étape par étape comment diagnostiquer les problèmes en examinant les groupes de sécurité, les NACL, les tables de routage, les passerelles Internet, les passerelles NAT et le peering VPC. Inclut des exemples pratiques et des meilleures pratiques pour garantir que vos instances EC2 sont toujours accessibles et communiquent efficacement.

37 vues

Diagnostic et résolution des problèmes courants de connectivité des instances EC2

La connexion à vos instances Amazon Elastic Compute Cloud (EC2) est une tâche fondamentale pour gérer votre infrastructure cloud. Cependant, des problèmes de connectivité réseau peuvent survenir, vous empêchant d'accéder à vos instances, ou empêchant les instances de communiquer entre elles ou avec des ressources externes. Ce guide propose une approche systématique pour diagnostiquer et résoudre les problèmes courants de connectivité EC2, couvrant les composants réseau essentiels et les configurations erronées potentielles.

La compréhension de ces obstacles potentiels est cruciale pour maintenir un environnement AWS sain et accessible. En suivant les étapes décrites ci-dessous, vous pouvez identifier efficacement la source des problèmes de connectivité et mettre en œuvre les correctifs nécessaires, en vous assurant que vos instances EC2 sont joignables et communiquent comme prévu.

Causes courantes des problèmes de connectivité EC2

Les problèmes de connectivité peuvent provenir de diverses couches de la pile réseau AWS. L'identification de la cause première implique souvent la vérification d'une combinaison de ces éléments :

  • Groupes de sécurité : Ils agissent comme des pare-feux virtuels pour vos instances, contrôlant le trafic entrant et sortant au niveau de l'instance.
  • Listes de contrôle d'accès au réseau (NACLs) : Les NACLs fonctionnent au niveau du sous-réseau et fournissent une couche supplémentaire de filtrage sans état pour le trafic entrant et sortant des sous-réseaux.
  • Tables de routage : Ces tables dirigent le trafic réseau au sein de votre Virtual Private Cloud (VPC) en spécifiant où le trafic réseau est dirigé.
  • État de l'instance et configuration réseau : Problèmes avec l'instance EC2 elle-même, tels qu'elle est arrêtée ou qu'elle a des paramètres d'interface réseau incorrects.
  • Passerelle Internet (IGW) / Passerelle NAT : Pour les instances nécessitant un accès à Internet, la configuration de l'IGW (pour les sous-réseaux publics) ou de la passerelle NAT (pour les sous-réseaux privés) est essentielle.
  • VPC Peering / Transit Gateway : Si vous vous connectez entre des VPC, ces services de connectivité inter-VPC doivent être correctement configurés.

Diagnostic et résolution étape par étape

Plongeons dans les étapes pratiques pour dépanner les problèmes de connectivité courants.

1. Vérifier l'état de l'instance et la portée réseau de base

Avant de vous plonger dans des configurations réseau complexes, assurez-vous que l'instance elle-même est dans un état sain et dispose des configurations réseau de base :

  • Vérifications de l'état de l'instance : Dans la console EC2, sélectionnez votre instance et vérifiez l'onglet "Vérifications de l'état". Assurez-vous que les "Vérifications de l'état du système" et les "Vérifications de l'état de l'instance" sont réussies. Sinon, enquêtez sur les problèmes sous-jacents du système ou de l'instance.
  • IP publique / IP privée : Confirmez que votre instance possède l'adresse IP publique attendue (si elle se trouve dans un sous-réseau public et nécessite un accès Internet) ou l'adresse IP privée.
  • Résolution DNS : Essayez de pinger une ressource externe par son adresse IP, puis par son nom d'hôte. Si la résolution du nom d'hôte échoue mais que le ping par adresse IP fonctionne, vous pourriez avoir un problème de configuration DNS au sein de votre VPC.

2. Examiner les groupes de sécurité

Les groupes de sécurité sont des pare-feux avec état qui contrôlent le trafic vers et depuis vos instances EC2. Ils sont une source très fréquente de problèmes de connectivité.

2.1. Règles entrantes

Si vous ne parvenez pas à vous connecter à votre instance (par exemple, via SSH ou RDP) :

  • Vérifiez le groupe de sécurité attaché à votre instance EC2.
  • Vérifiez les règles entrantes : Assurez-vous qu'il existe une règle entrante autorisant le trafic sur le port requis (par exemple, port 22 pour SSH, port 3389 pour RDP) depuis votre adresse IP source ou une plage d'adresses IP de confiance (par exemple, 0.0.0.0/0 pour n'importe où, mais soyez prudent avec cela). Pour le développement ou les tests, utiliser votre adresse IP spécifique (<votre_ip>/32) est une pratique plus sécurisée.
  • Exemple : Pour autoriser l'accès SSH depuis votre adresse IP :
    Type : SSH Protocole : TCP Plage de ports : 22 Source : <votre_ip>/32

2.2. Règles sortantes

Si votre instance ne peut pas atteindre de ressources externes (par exemple, télécharger des paquets, se connecter à d'autres services AWS) :

  • Vérifiez le groupe de sécurité attaché à votre instance EC2.
  • Vérifiez les règles sortantes : Par défaut, les groupes de sécurité autorisent tout le trafic sortant. Si des règles sortantes personnalisées ont été créées, assurez-vous qu'elles autorisent le trafic nécessaire vers vos ports et adresses IP de destination.
  • Exemple : Pour autoriser tout le trafic sortant :
    Type : Tout le trafic Protocole : Tout Plage de ports : Tout Destination : 0.0.0.0/0

3. Examiner les listes de contrôle d'accès au réseau (NACLs)

Les NACLs sont des pare-feux sans état qui fonctionnent au niveau du sous-réseau. Ils filtrent le trafic avant qu'il n'atteigne le groupe de sécurité ou l'instance.

  • Identifiez la NACL associée au sous-réseau de votre instance.
  • Vérifiez les règles entrantes : Les NACLs sont évaluées dans l'ordre par numéro de règle. Assurez-vous qu'il existe une règle entrante qui autorise le trafic sur le port requis depuis l'adresse IP source.
  • Vérifiez les règles sortantes : De même, vérifiez que les règles sortantes autorisent le trafic vers la destination.
  • Nature sans état : Rappelez-vous que les NACLs sont sans état. Cela signifie que vous devez définir des règles entrantes et sortantes pour que le trafic circule dans les deux sens. Par exemple, si vous autorisez SSH entrant (port 22), vous devez également autoriser le trafic sortant sur les ports éphémères (généralement 1024-65535) pour que la réponse puisse revenir.
  • Numérotation des règles : Les numéros de règles inférieurs sont évalués en premier. Utilisez des règles de refus explicites (par exemple, règle 100 pour refuser un trafic spécifique) et des règles d'autorisation (par exemple, règle 200 pour autoriser un trafic plus large) avec prudence.

4. Examiner les tables de routage

Les tables de routage déterminent où le trafic réseau est dirigé depuis vos sous-réseaux. Un routage incorrect peut empêcher le trafic d'atteindre sa destination.

  • Trouvez la table de routage associée au sous-réseau de votre instance.
  • Recherchez une route par défaut : Pour que les instances d'un sous-réseau public accèdent à Internet, il doit y avoir une route 0.0.0.0/0 pointant vers une passerelle Internet (IGW).
    Destination | Cible ----------------|-------- 10.0.0.0/16 | local 0.0.0.0/0 | igw-xxxxxxxxxxxxxxxxx
  • Sous-réseaux privés et passerelles NAT : Pour que les instances d'un sous-réseau privé accèdent à Internet, la table de routage de ce sous-réseau doit avoir une route 0.0.0.0/0 pointant vers une passerelle NAT ou une instance NAT.
    Destination | Cible ----------------|-------- 10.0.0.0/16 | local 0.0.0.0/0 | nat-xxxxxxxxxxxxxxxxx
  • VPC Peering / VPN : Si votre instance doit communiquer avec des ressources d'un autre VPC ou sur site, assurez-vous que les routes appropriées pour ces blocs CIDR existent et pointent vers la connexion de peering ou la passerelle VPN correcte.

5. Dépannage de la connectivité des passerelles Internet (IGW) et NAT

  • Passerelle Internet (IGW) :

    • Assurez-vous que l'IGW est créée et attachée à votre VPC.
    • Vérifiez que la table de routage de votre sous-réseau public a une route 0.0.0.0/0 pointant vers l'IGW.
    • Confirmez que votre instance a une adresse IP publique ou une adresse IP Elastic attribuée.
    • Les règles de groupe de sécurité et de NACL doivent autoriser le trafic vers/depuis 0.0.0.0/0 pour l'accès Internet.
  • Passerelle NAT :

    • Assurez-vous que la passerelle NAT est créée et qu'elle se trouve dans un sous-réseau public.
    • Vérifiez que la passerelle NAT a une adresse IP Elastic qui lui est associée.
    • Confirmez que la table de routage de votre sous-réseau privé a une route 0.0.0.0/0 pointant vers la passerelle NAT.
    • Les règles de groupe de sécurité et de NACL doivent autoriser le trafic de votre sous-réseau privé vers la passerelle NAT et vers l'extérieur vers Internet.

6. VPC Peering et Transit Gateway

Si vous rencontrez des problèmes de connectivité entre des VPC :

  • VPC Peering :
    • Assurez-vous que la connexion de peering est active et acceptée par les deux VPC.
    • Vérifiez que les tables de routage dans les deux VPC ont des routes ajoutées pour autoriser le trafic vers les blocs CIDR du VPC appairé.
    • Assurez-vous que les groupes de sécurité et les NACLs dans les deux VPC autorisent le trafic entre les plages d'adresses IP nécessaires.
  • Transit Gateway :
    • Confirmez que la Transit Gateway est créée et que les VPC pertinents y sont attachés.
    • Vérifiez les tables de routage de la Transit Gateway pour vous assurer qu'elles acheminent correctement le trafic entre les jonctions de VPC.
    • Vérifiez que les tables de routage au sein de chaque VPC ont également des routes pointant vers la Transit Gateway pour le trafic destiné à d'autres VPC.
    • Les groupes de sécurité et les NACLs au sein de chaque VPC doivent autoriser le trafic inter-VPC.

7. Utilisation des outils de portée réseau AWS

AWS fournit des outils pour aider au diagnostic des problèmes réseau :

  • Analyseur de portée VPC : Cet outil vous permet d'analyser la portée entre deux points d'extrémité dans votre VPC ou entre des VPC. Vous pouvez simuler le flux de trafic et identifier les défaillances de chemin dues à des groupes de sécurité, des NACLs, des tables de routage ou d'autres configurations réseau. Vous pouvez le trouver dans la console VPC sous "Portée réseau".
  • VPC Flow Logs : Bien qu'ils ne diagnostiquent pas directement les échecs de connexion, les VPC Flow Logs capturent des informations sur le trafic IP entrant et sortant des interfaces réseau de votre VPC. L'analyse de ces journaux peut révéler des modèles de trafic bloqué ou inattendu, vous aidant à identifier les configurations erronées dans les groupes de sécurité ou les NACLs.

8. Autres problèmes potentiels

  • Interface réseau Elastic (ENI) : Assurez-vous que l'ENI est attachée à l'instance et configurée correctement.
  • Association de la table de routage du sous-réseau : Vérifiez que le sous-réseau est correctement associé à sa table de routage prévue.
  • Configuration DNS : Si vous utilisez un DNS personnalisé, assurez-vous qu'il se résout correctement. Pour le DNS par défaut du VPC, vérifiez si la résolution DNS est activée pour votre VPC.
  • Serveurs proxy : Si votre instance est configurée pour utiliser un proxy, assurez-vous que le proxy lui-même est accessible et correctement configuré.

Bonnes pratiques pour prévenir les problèmes de connectivité

  • Principe du moindre privilège : Configurez les groupes de sécurité et les NACLs avec les autorisations minimales nécessaires. Évitez d'utiliser 0.0.0.0/0 pour les ports sensibles, sauf si absolument nécessaire et protégé par d'autres moyens.
  • Balises (Tagging) : Appliquez systématiquement des balises à vos ressources réseau (VPC, sous-réseaux, groupes de sécurité, tables de routage) pour identifier facilement leur objectif et les instances associées.
  • Documentation : Maintenez une documentation claire de votre topologie réseau, de vos schémas d'adressage IP et de vos règles de sécurité.
  • Audits réguliers : Examinez périodiquement vos règles de groupe de sécurité et de NACL pour vous assurer qu'elles sont toujours pertinentes et sécurisées.
  • Tirez parti des outils AWS : Familiarisez-vous avec l'analyseur de portée VPC et les VPC Flow Logs pour une surveillance proactive et un dépannag