Como reescrever caminhos no balanceador de carga de aplicativos da Amazon?

4

Configuração atual

Dado o seguinte ALB dns:

  • my-alb-dns.com

e os seguintes contêineres em execução no ECS:

  • container-a
  • container-b

Eu configurei-o de uma maneira que eu possa rotear o tráfego que vem através do ALB via reescrita do caminho para o respectivo serviço no meu cluster do ECS:

  • my-alb-dns.com:80/container-a/my/endpoint -> container-a:8080/my/endpoint
  • my-alb-dns.com:80/container-b/my/endpoint -> container-b:8080/my/endpoint

Isso funciona bem (usando um nginx), mas eu estava me perguntando, se usando um servidor nginx adicional é realmente necessário para conseguir reescrita caminho. Existe algum plano para estender a funcionalidade ALB por regras de regravação de caminho personalizadas? Até agora, não consegui encontrar nada sobre isso na documentação .

Eu também dei uma olhada no Lamda @ Edge mas parece-me um pouco exagerado introduzir o CloudFront com Lamda apenas para reescrever simples (o que, como comparação, inclui a linha de configuração nginx 1).

Há alguma melhor prática sobre isso ou devo continuar esperando que a AWS a implemente em um futuro distante e continue com minha solução nginx atual?

    
por bitbrain 03.10.2017 / 00:42

1 resposta

2

O ALB não suporta solicitações de modificação, e não conheço nenhum plano para incluir essa funcionalidade. É uma enorme lata de worms, então eu não estou surpreso AWS está deixando isso sozinho por agora. Fique com o nginx (ou um equivalente, como haproxy), ou modifique seu aplicativo para aceitar o prefixo /container-X no caminho da solicitação.

    
por 03.10.2017 / 04:34