Besoin de passer d'un serveur Amazon EC2 à un autre

12

Fondamentalement, je dois pouvoir me connecter d'une instance EC2 à une autre à l'aide de SSH. J'exécute la commande ssh -i path-to-pem-file ec2-user@dns-address-of-ec2-instanceet elle expire.

J'ai défini mon groupe de sécurité pour autoriser SSH entrant depuis l'adresse IP publique de ma deuxième instance EC2, mais cela ne fonctionne toujours pas. Je sais que tout devrait bien se passer parce que lorsque je règle mon trafic entrant SSH sur "autoriser de n'importe où", je peux me connecter sans problème. Je peux également me connecter à l'instance EC2 à partir d'une machine domestique (j'ai ajouté mon adresse IP au groupe de sécurité) sans aucun problème.

Évidemment, je ne peux pas laisser mon trafic entrant ouvert pour "autoriser de n'importe où", mais je n'arrive pas à me connecter lorsque je le limite à l'adresse IP de la deuxième instance EC2. Peut-être que l'adresse IP publique n'est pas celle que je devrais mettre dans le groupe de sécurité?


Je n'arrive pas à le cingler non plus; il arrive juste à expiration. Voici le résultat dessh -vv -i path-to-pem-file ec2-user@dns-address-of-ec2-instance

OpenSSH_6.2p2, OpenSSL 1.0.1h-fips 5 Jun 2014
debug1: Reading configuration data /home/ec2-user/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 50: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to dns-address [IP Address different from public ip] port 22.
debug1: connect to address [IP Address different from public ip] port 22: Connection timed out
ssh: connect to host dns-address port 22: Connection timed out
Pompey
la source

Réponses:

13

Les instances EC2 utilisent une 10.X.X.Xadresse interne (ou une autre adresse si vous utilisez un VPC), et le trafic vers leur adresse IP «publique» est simplement réacheminé vers l'adresse IP interne. Les instances EC2 utilisent également un serveur DNS différent qui n'est pas accessible au public. Lorsque vous résolvez le nom d'hôte de l'autre instance EC2, car vous êtes à l'intérieur du réseau AWS , il vous donne l' 10.X.X.Xadresse de l'instance au lieu de l'adresse IP publique. Cela évite que le trafic ne doive sortir et revenir sur Internet, ce qui le rend plus rapide.

Même si vous pouvez ajouter la liste blanche par adresse IP, ce n'est pas une bonne idée car en mode classique EC2, votre adresse interne et publique peut changer. La bonne solution consiste à mettre la liste blanche par groupe de sécurité. Vous ajoutez essentiellement une règle au groupe de sécurité de destination indiquant d'autoriser le port 22 à partir d'un groupe de sécurité d'origine spécifique.

Si les deux instances sont dans le même compte, vous autorisez simplement sg-1234abcd(où sg-1234abcdest le groupe de sécurité dont l'instance d'origine est membre). S'ils se trouvent dans des comptes différents, incluez le numéro de compte, tel que 111122223333/sg-1234abcd.
Consultez la documentation pour plus d'informations.

Patrick
la source
Parfait c'est exactement ce que je cherchais! Fonctionne sans accroc!
Pompey
Lorsque vous parlez de groupes de sécurité de différents comptes, vous devez faire de l'homologation VPC afin de pouvoir les référencer. Voir ici: docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/…
Boris Strandjev
Juste pour terminer, je voulais ajouter qu'AWS vous facture le trafic entrant vers un VPC depuis Internet, mais le trafic à l'intérieur du VPC est gratuit, donc ne pas passer par Internet n'est pas seulement plus rapide mais aussi moins cher.
Blueriver