web-dev-qa-db-fra.com

Impossible de se connecter à l'instance EC2 dans VPC (Amazon AWS)

J'ai pris les mesures suivantes:

  1. Créé un VPC (avec un seul sous-réseau public)
  2. Ajout d'une instance EC2 au VPC
  3. Attribué une IP élastique
  4. Associé l'IP élastique à l'instance
  5. Création d'un groupe de sécurité et affectation à l'instance
  6. Modification des règles de sécurité pour autoriser l'écho ICMP entrant et TCP sur le port 22

J'ai fait tout cela et je ne peux toujours pas envoyer de requête ping ou ssh dans l'instance. Si je suis les mêmes étapes moins les bits VPC, je peux configurer cela sans problème. Quelle étape me manque-t-il?

47
Ryan Lynch

Pour communiquer en dehors du VPC, chaque sous-réseau non par défaut a besoin d'une table de routage et d'une passerelle Internet qui lui est associée (les sous-réseaux par défaut obtiennent une passerelle externe et une table de routage par défaut).

Selon la façon dont vous avez créé le sous-réseau public dans le VPC, vous devrez peut-être les ajouter explicitement en plus. Votre configuration VPC semble correspondre au scénario 1 - n cloud privé (VPC) avec un seul sous-réseau public et une passerelle Internet pour permettre la communication sur Internet de la documentation AWS VPC.

Vous devrez ajouter une passerelle Internet à votre VPC et à l'intérieur de la table de routage du sous-réseau public affecter 0.0.0.0/0 (route par défaut) pour accéder à la passerelle Internet attribuée. Il y a une belle illustration de la topologie exacte du réseau dans la documentation.

De plus, pour plus d'informations, vous pouvez consulter la documentation VPC Internet Gateway AWS. Malheureusement, c'est un peu compliqué et un piège non évident.

Pour plus de détails sur les problèmes de connexion, consultez également: Dépannage de la connexion à votre instance .

76
zorlem

J'ai remarqué que (je pense) vous devez faire attention à la zone de disponibilité dans laquelle votre instance est créée. Le sous-réseau, l'interface réseau et l'instance doivent être dans la même zone de disponibilité sinon il n'y a aucun moyen de se connecter à une IP publique pour cet exemple.

Je me trompe peut-être, mais je ne pense pas, cela m'a coûté 12 heures de travail pour comprendre.

J'espère que ceci aide quelqu'un d'autre.

4
malsmith

Je ne sais pas si c'est exactement ce cas, mais je viens de créer un VPC avec des sous-réseaux publics et privés et j'ai remarqué qu'il existe un groupe de sécurité par défaut qui a l'adresse source comme le même nom de groupe de sécurité. Efficace, il n'y a pas d'accès. J'ai dû changer cette source en n'importe où et cela a commencé à fonctionner.

4
dil

Vous devez allouer une ENI et attribuer l'IP élastique à cette ENI. Vous devez également affecter cette ENI à votre VPC. La table de routage doit également être correcte pour transmettre correctement les paquets externes à votre VPC.

2
Lucas Freitas

Puisque SSH est un protocole avec état, vous devez vous assurer que vous disposez de la règle OUTBOUND suivante dans votre ACL réseau:

Rule #  Type            Protocol        Port Range      Destination     Allow / Deny
100     Custom TCP Rule TCP (6)         49152-65535     0.0.0.0/0       ALLOW
0
Khalid Anwar