Mapper un port d'équilibrage de charge AWS ELB à équilibrer sur plusieurs ports d'instance?


8

Disons que j'ai plusieurs processus en cours d'exécution sur plusieurs instances EC2 chacun sur des ports différents. Puis-je mapper un seul AWS ELB à équilibrer avec l'un de ces processus sur n'importe quelle instance?

Par exemple, j'aimerais idéalement une configuration comme celle-ci:

HTTPS 443 -> Instance 1 Process 1 Port 8081
       or -> Instance 1 Process 2 Port 8082
       or -> Instance 2 Process 1 Port 8081
       or -> Instance 2 Process 2 Port 8082

Existe-t-il un moyen de configurer ELB comme ceci? J'essaie d'éviter d'exécuter un équilibreur de charge sur chaque instance pour équilibrer les processus de cette instance.

Réponses:


6

Mise à jour importante

L'offre de services a évolué, de sorte que les informations suivantes (la réponse d'origine) ne s'appliquent qu'à ELB / 1.0, qui s'appelle désormais ELB Classic Load Balancer:


Non, ce n'est pas possible avec ELB.

Vous pouvez mapper plusieurs écouteurs à l'avant d'un ELB pour atteindre un seul port sur les instances d'arrière-plan, mais vous ne pouvez pas mapper un seul écouteur sur le côté de la police d'un ELB pour atteindre plusieurs ports à l'arrière- instances finales.


ELB / 2.0, appelé Application Load Balancer, a été publié fin 2016 et prend en charge plusieurs ports d'instance, en utilisant des "groupes cibles".

Il permet également le routage sélectif des requêtes par correspondance de modèle de chemin, prend en charge les sockets Web en mode HTTP et HTTP / 2 sur la face avant.

Lorsque vous lancez un équilibreur, vous pouvez toujours lancer un classique (il est toujours disponible et la limite de port d'instance unique par auditeur s'applique toujours) ou vous pouvez lancer un ALB pour obtenir la nouvelle fonctionnalité.


Et NLB? NLB n'autorise pas SSL mais ELB le permet. Cependant, NLB prend en charge l'ajout de plusieurs ports d'instance à LB, contrairement à ELB. Existe-t-il un moyen de prendre en charge plusieurs ports pour LB avec le transport SSL?
Haris Farooqui

1
@HarisFarooqui avec NLB, le service exécuté sur votre instance doit gérer le SSL. Si vous avez besoin (a) d'un déchargement SSL par l'équilibreur, (b) pour un protocole autre que HTTPS et (c) de plusieurs ports par instance, AWS n'a pas de solution d'équilibrage pour cela.
Michael - sqlbot

0

Cela est possible avec Application Load Balancer (ALB)

La documentation CLI est disponible ici

La documentation de l'API est ici

Vous devez rechercher l'option de remplacement de port dans la documentation de l'API.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.