Mapear uma porta do balanceador de carga AWS ELB para balancear várias portas de instância?

Mapear uma porta do balanceador de carga AWS ELB para balancear várias portas de instância?

Digamos que tenho vários processos em execução em várias instâncias do EC2, cada uma em portas diferentes. Posso mapear um único AWS ELB para equilibrar qualquer um desses processos em qualquer instância?

Por exemplo, eu gostaria idealmente de uma configuração como esta:

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 alguma maneira de configurar o ELB assim? Estou tentando evitar a execução de um balanceador de carga em cada instância para equilibrar os processos dessa instância.

Responder1

Atualização Importante

A oferta de serviços evoluiu, portanto as informações a seguir (a resposta original) só se aplicam ao ELB/1.0, que agora é chamado de ELB Classic Load Balancer:


Não, isso não é possível com ELB.

Você pode mapear vários ouvintes no lado frontal de um ELB para atingir uma única porta nas instâncias de back-end, mas não pode mapear um único ouvinte no lado da fonte de um ELB para atingir várias portas no back-end. instâncias finais.


ELB/2.0, chamadoBalanceador de carga de aplicativosfoi lançado no final de 2016 efazsuporte a múltiplas portas de instância, usando "grupos-alvo".

Ele também permite o roteamento seletivo de solicitações por correspondência de padrão de caminho, suporta soquetes da web no modo HTTP e HTTP/2 no lado frontal.

Ao iniciar um balanceador, você ainda pode iniciar um Classic (ele ainda está disponível e o limite de porta de instância única por listener ainda se aplica) ou pode iniciar um ALB para obter a nova funcionalidade.

Responder2

Isso é possível com Application Load Balancer (ALB)

A documentação CLI está disponívelaqui

A documentação da API éaqui

Você deve procurar a opção de substituição de porta na documentação da API.

informação relacionada