50 votes

Impossible de se connecter à une instance EC2 dans un VPC (Amazon AWS)

J'ai pris les mesures suivantes :

  1. Création d'un VPC (avec un seul sous-réseau public)
  2. Ajout d'une instance EC2 au VPC
  3. Attribution d'une IP élastique
  4. Associer 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 le TCP sur le port 22.

J'ai fait tout cela et je ne peux toujours pas faire de ping ou de ssh dans l'instance. Si je suis les mêmes étapes, moins les bits VPC, je suis en mesure de configurer cela sans problème. Quelle est l'étape que j'ai manquée ?

81voto

antiduh Points 101

Pour communiquer en dehors du VPC, chaque sous-réseau autre que celui 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 ont une passerelle externe et une table de routage par défaut).

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

Vous allez vous devez ajouter une passerelle internet à votre VPC et dans la table de routage du sous-réseau public attribuer 0.0.0.0/0 (route par défaut) pour aller à la passerelle internet assignée. La documentation contient une belle illustration de la topologie exacte du réseau.

Pour plus d'informations, vous pouvez également consulter le site web de la Commission européenne. Passerelle Internet VPC Documentation AWS. Malheureusement, c'est un peu compliqué et il y a un piège non évident.

Pour plus de détails sur les problèmes de connexion, voir également : Résolution des problèmes de connexion à votre instance .

6voto

dil Points 61

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 y a un groupe de sécurité par défaut qui a l'adresse source comme le même nom de groupe de sécurité. Effectivement, il n'a pas d'accès. J'ai dû changer cette source en Anywhere et cela a commencé à fonctionner.

4voto

malsmith Points 141

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 cette instance.

Je peux me tromper, mais je ne pense pas, cela m'a coûté 12 heures de travail.

J'espère que cela aidera quelqu'un d'autre.

2voto

Lucas Freitas Points 11

Vous devez allouer un ENI et assigner l'IP élastique à cet ENI. Vous devez également assigner cette ENI à votre VPC. La table de routage doit également être correcte, afin de transmettre correctement les paquets extérieurs à votre VPC.

0voto

Khalid Anwar Points 1

Étant donné que SSH est un protocole avec état, vous devez vous assurer que vous avez 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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X