Accéder à AWS EC2 par ELB

Je suis en train de mettre en place deux instances en vertu d'un elastic load balancer, mais ne peut pas comprendre comment je suis censé pour accéder aux instances par le biais de l'équilibreur de charge.

J'ai mis en place les instances avec un groupe de sécurité pour permettre l'accès à partir de n'importe où à certains ports. Je peux accéder aux instances en utilisant directement leur Public "DNS" (publicdns) nom d'hôte et le port de PORT:

http://[publicdns]:PORT/

L'équilibreur de charge contient les deux cas, et ils sont "En Service" et c'est la redirection de port (PORT) sur le même port sur les instances.

Cependant, si je demande

http://[dnsname]:PORT (où dnsname est l'Un Enregistrement répertoriées pour le ELB)

il ne veut pas se connecter à l'instance (temps de connexion).

Ce n'est pas la bonne manière d'utiliser l'équilibrage de charge, ou dois-je faire quelque chose pour permettre l'accès à l'équilibreur de charge? La seule mention de groupes de sécurité par rapport à l'équilibrage de charge est de restreindre l'accès aux instances de l'équilibreur de charge seulement, mais je n'en veux pas. Je veux être en mesure d'accéder individuellement.

Je suis sûr qu'il ya quelque chose de simple et stupide, que j'ai oublié pas réalisé ou fait de mal 😛

Cheers,
Svend.


Infos supplémentaires ajouté:

Le Port de Configuration de l'Équilibreur de Charge ressemble à ça (en fait 3 ports):

10060 (HTTP) de transfert de 10060 (HTTP)
Viscosité: Désactivé(edit)

10061 (HTTP) de transfert de 10061 (HTTP)
Viscosité: Désactivé(edit)

10062 (HTTP) de transfert de 10062 (HTTP)
Viscosité: Désactivé(edit)

Et c'est à l'aide de la norme par défaut/elb groupe de sécurité (amazon-elb-sg).

Les instances ont deux groupes de sécurité. Un externe qui ressemble à ceci:

22 (SSH)          0.0.0.0/0
10060 - 10061 0.0.0.0/0
10062              0.0.0.0/0

et une à l'intérieur, permettant à quoi que ce soit dans le groupe interne de communiquer sur tous les ports:

0 - 65535 sg-xxxxxxxx (groupe de sécurité ID)

Pas sûr que ça fait une différence, mais que les instances m1.les petits types d'image ami-31814f58.


Quelque chose qui pourrait avoir un intérêt:

Mon bilan de santé utilisé pour être HTTP:PORT/mais l'équilibrage de charge n'arrêtait pas de dire que les instances ont été "Hors Service", même si je semble pour obtenir une réponse 200 sur la demande sur ce port.

J'ai ensuite changé pour TCP:PORT et il a changé pour dire qu'ils étaient "En Service".

Est là quelque chose de très spécifique qui doit être retourné pour le HTTP, ou est-ce simplement une réponse HTTP 200 c'est nécessaire? ... et le fait qu'il n'était pas de travail indice vers pourquoi l'équilibrage de la charge elle-même n'a pas de travail?

J'ai essayé ce ainsi, à l'aide de la console web: 1) Créé un groupe de sécurité qui permet à tous l'accès à partir de toutes les sources. 2) a Créé de nouvelles t1.micro exemple, en utilisant le nouveau groupe de sécurité. 3) utiliser le protocole SSH sur le groupe et netcat "Bonjour" sur le port 80. 4) Vérifier que je peux obtenir le "Bonjour" réponse HTTP 200 directement (oui) 5) création d'équilibrage de la charge et de céder la présente instance. 6) Définir la santé vérifier que TCP:80 (HTTP:80/ ne fonctionne pas). 7) Essayez d'accéder à un équilibreur de charge. Pas de travail. 8) se Sentir triste 🙁
Comment êtes-vous essayer d'accéder à la loadbalancer. Quand je fais ma demande pour le loadbalancer je suis en demandant un fichier index.html. Possible que le loadbalancer n'aime pas l'envoi d'un fichier vide?
J'ai essayé un peu, et il semble que le problème est avec mon équilibreurs de charge du bilan de santé. Juste obtenir un code de réponse de 200 ne semble pas être suffisant. J'ai réalisé qu'avant en utilisant netcat (echo "Bonjour" | nc-l PORT), mais cela ne fonctionne pas. Changer pour utiliser le protocole TCP, de ce fait, "En Service", mais peut ne pas avoir travaillé. Je viens de créer un petit exemple, et dès que j'ai installé httpd et avait-elle répondre avec un fichier html (réponse http), il a travaillé! 🙂 Merci à vous tous. Le lundi, je vais vérifier qu'il est bien le problème (bwight, voulez-vous de les écrire dans le formulaire de réponse, donc je peux cocher si si 🙂 )
Après vérifications supplémentaires, je peux confirmer que le problème est que le bilan de santé n'est pas du bon format. Je ne suis pas sûr exactement ce qui est nécessaire, mais peut dire ceci: à l'Aide d'un vide de 200 réponse de mon serveur tomcat en cours d'exécution sur l'instance n' pas travail, mais l'installation de httpd et le retour statique (même vide) fichier html t de travail. J'ai été à la recherche sur les en-têtes de réponse, et la seule chose que je peux penser, c'est que le tomcat est manquant un type de contenu...
Sonne comme ceci est peut-être quelque chose que vous pourriez apporter au forum à amazon. L'un des amazon employé peut probablement vous donner une bonne réponse si vous présentez les faits que nous avons réunis ici. Généralement ils sont assez utile si ce n'est pas juste un "OMG le loadbalancer ne marche pas!"

OriginalL'auteur Svend Hansen | 2012-02-24