Pourquoi ne puis-je pas connecter mon instance EC2 à Internet via une passerelle Internet ?

Date de la dernière mise à jour : 08/06/2022

Mon instance Amazon Elastic Compute Cloud (Amazon EC2) dans un sous-réseau public possède une adresse IP publique ou une passerelle Internet, mais ne peut pas accéder à Internet.

Brève description

Pour résoudre les problèmes liés à l'impossibilité pour votre Amazon EC2 d'accéder à Internet, procédez comme suit :

  • Vérifiez que l'instance EC2 répond à toutes les conditions préalables.
  • Vérifiez que l'instance possède une adresse IP publique.
  • Vérifiez qu'aucun pare-feu ne bloque l'accès.

Solution

Vérifiez que l'instance répond à toutes les conditions préalables

L'instance doit remplir les conditions suivantes :

Vérifiez que l'instance possède une adresse IP publique

Si l'instance d'un sous-réseau public ne possède pas d'adresse IP publique, elle n'est pas accessible en dehors du cloud privé virtuel (VPC) dans lequel elle réside. Cela est vrai même si l'instance possède une passerelle Internet.

Pour permettre à l'instance de se connecter à Internet, allouez une adresse IP Elastic, puis associez cette adresse IP Elastic à l'instance.

Vérifiez qu'un pare-feu ne bloque pas l'accès

Si l'instance répond aux conditions précédentes et que les problèmes de connectivité Internet persistent, il est possible qu'un pare-feu local soit en cours d'exécution dans le système d'exploitation. Il est recommandé d'utiliser des groupes de sécurité au lieu d'un pare-feu local dans le système d'exploitation. Assurez-vous que la désactivation du pare-feu local n'a aucun impact sur votre charge de travail.

# For Uncomplicated Firewall
sudo ufw disable

# For firewalld
sudo systemctl disable firewalld --now

Si vous devez utiliser un pare-feu, les problèmes de connectivité Internet sont généralement liés à la chaîne OUTPUT. Vous pouvez autoriser le trafic sortant en exécutant les commandes suivantes :

sudo iptables -P OUTPUT ACCEPT
sudo iptables -I OUTPUT 1 -j ACCEPT

Windows Server :

Pour les pare-feu par défaut Windows Server, exécutez la commande suivante :

netsh advfirewall firewall show rule name=all

Si la commande précédente indique un trafic bloqué, supprimez l'ancienne règle ou ajoutez-en une nouvelle autorisant le trafic pour ce port spécifique. Pour plus d'informations, consultez la documentation Microsoft pour Comprendre le pare-feu Windows avec les règles de sécurité avancées.