Pourquoi ne puis-je pas accéder à mon instance Amazon EC2 via son adresse IP Elastic?

37

Le serveur fonctionne correctement via l'entrée DNS attribuée à Amazon, mais je ne peux pas l'atteindre (à l'aide d'un navigateur) via l'adresse IP Elastic attribuée par Amazon à la boîte. Ping ne fonctionne pas non plus. J'essaie de confirmer qu'il est accessible avant d'ajouter l'adresse IP à mes propres entrées DNS.

Guido Anselmi
la source
1
Êtes-vous sûr que vous utilisez votre IP élastique et non votre IP privée ou locale?
@Robert - Salut, eh bien, l'adresse aws. *** ne recherchera pas via ping (mais fonctionne dans le navigateur), donc je ne sais vraiment pas comment le savoir. J'ai essayé le ping et j'ai essayé quelques sites Internet qui effectuent une recherche.
@ Piotr - Oui. C'est "l'adresse IP élastique" et non l'adresse IP privée. Il est également utilisé par Amazon dans l'en-tête pour les onglets d'état.
Guido, a-t-il un DNS public et un ID d'instance attribué?
@Piotr - Oui. Et le DNS public est accessible via un navigateur. Actuellement, je travaille derrière un pare-feu, je ne suis pas sûr que cela affectera ..... je viens d'essayer de faire un ping sur un site connu (msn.com) et cela a échoué. Attacher mon téléphone ...
Guido Anselmi

Réponses:

37

Choses à vérifier:

  • Votre adresse IP élastique associée à votre instance?
  • Votre groupe d'instances de sécurité autorise les connexions entrantes?
  • Votre pare-feu d'instance autorise les connexions entrantes?
  • Votre application écoute?
Pierre
la source
Était groupe de sécurité pour moi, merci! Ils ne l'ont jamais mentionné dans aucun tutoriel AWS. :(
émotalité
1
Autre chose à vérifier: essayez de redémarrer l'instance EC2. Cela a fait l'affaire pour moi (l'adresse IP élastique était associée à l'instance lorsqu'elle était en cours d'exécution).
Nedned
Pour moi, c'était aussi redémarrer l'instance, ça fonctionnait comme par magie!
Artipixel
J'ai le même problème que OP. J'ai vérifié les points 1, 2 et 4 de la réponse et redémarré l'instance EC2. Comment vérifier le 3ème point "Votre pare-feu d'instance autorise les connexions entrantes"? Les connexions entrantes ne sont-elles pas autorisées par le pare-feu d'instance EC2?
Indominus
26

Comme d'autres l'ont mentionné, le groupe de sécurité de votre instance EC2 peut ne pas autoriser le port HTTP.

Commencez par rechercher le groupe de sécurité utilisé par votre instance.

entrez la description de l'image ici

Ensuite, sous Réseau et sécurité, allez à la section Groupes de sécurité . Sélectionnez le groupe de sécurité de votre instance et ajoutez une règle TCP entrante personnalisée pour la plage de ports 80.

Groupes de sécurité dans EC2

James Lawruk
la source
2
La 1ère réponse adéquate - merci beaucoup.
Arthur Kushman
2
J'avais plutôt accepté cette réponse, car AWS EC2 crée vraiment une instance sans port ouvert 80 pour les connexions TCP par défaut.
Arthur Kushman
Bien meilleure réponse que la réponse de Stone. Cette réponse (de James) devrait être acceptée comme une réponse correcte car il s'agit d'une réponse réelle. La réponse de Stone est trop générique, c'est-à-dire. Choses à vérifier!
Kannas
Travaillé pour moi .. Je viens d'ajouter Custom TCP Rule avec PORT: 80 .. Merci
Muhammad Azeem
Ohh, c'était ça! Cela me rend fou depuis des heures. J'ai créé un nouveau groupe de sécurité avec toutes les liaisons correctes. Pare-feu vérifié sur l'instance, vérifié si le service Web est en cours d'exécution ou non et la configuration de la sécurité VPC. Mais il s'est avéré que l'instance utilisait un groupe de sécurité totalement différent appelé "launch-wizard-1" !!
Zolbayar le
16

Assurez-vous également que la table de routage du VPC est configurée pour permettre à l'adresse IP en dehors du VPC (0.0.0.0/0) de circuler du sous-réseau vers la passerelle Internet.

Accédez à VPC> Tables de routage; Onglet Route. Vérifiez que la destination est «mappée» sur l'ID de passerelle Internet cible (sauf local).

G Seth
la source
En suivant les instructions ci-dessus, j’ai ajouté un itinéraire par défaut utilisant la passerelle Internet comme cible. Pour spécifier l'itinéraire par défaut, définissez 0.0.0.0/0 comme destination. Une fois que cela a été fait, j'ai été en mesure de contacter mon instance à partir d'Internet en utilisant son adresse IP publique
Peter Smallwood
Ça marche pour moi. Mais je suis curieux de savoir qu'avant de suivre cette voie, j'avais déjà un autre exemple accessible à partir d'Internet. Pourquoi ne peut pas cette fois?
shintaroïde
10

Il suffit d’ajouter cette réponse car cela pourrait aider d’autres débutants EC2. Si le DNS public de votre instance EC2 est: DNS public: ec2-46-137-53-149.eu-west-1.compute.amazonaws.com, vous pouvez accéder à l'instance à l'aide de la partie numérique de l'adresse DNS. Dans le cas ci-dessus, http://46.137.53.149/

De toute évidence, le port TCP correspondant doit être ouvert dans le groupe / profil de sécurité associé à votre instance, comme indiqué ci-dessus.

L' IP privée (par exemple, 10.235.47.101) n'est pas accessible de l'extérieur du réseau AWS et n'est utile que si vous avez un cluster de noeuds EC2 et souhaitez une communication plus rapide entre eux.

nelsonic
la source
5

Quelques questions: à quel port essayez-vous d'accéder? Avez-vous ce port ouvert sur les groupes de sécurité? Avez-vous une application qui écoute sur ce port?

Si je devais deviner, vos groupes de sécurité ne sont pas correctement configurés. Assurez-vous de les ouvrir aux adresses IP correctes ou au monde (0.0.0.0/0) si vous allez accéder à ce port à partir de plusieurs adresses IP.

Si tout cela ne correspond pas, dissociez et redistribuez l'adresse IP à l'instance.

chanteur
la source
@ Chan-da-man- Oui, les ports sont ouverts et une application est en cours d'écoute. Exactement la même URL sauf le nom de domaine échangé avec IP.
Guido Anselmi
Quand vous cinglez le nom complet d'Amazon, est-ce qu'il revient avec l'adresse IP élastique?
chantheman