Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Load balancer não integro com IPs das tarefas no serviço via fargate

Olá, estou criando um serviço fargate para rodar meu site em angular que roda na porta 4200 do container, quando o serviço cria as tarefas para rodar as definições de tarefas, automaticamente ele cria um load balancer que escuta a porta 80 e envia para a porta 4200 do IP da tarefa gerando erro de integridade no load balancer, pois ele não permite na definição de tarefa mapear a porta do container diferente da porta do host, eu gostaria de mapear a porta 4200:80 mas quando é fargate ele permite apenas 4200:4200 gerando erro. Existe alternativa?

2 respostas

Oii Deise, tudo bem?

Uma solução possível para o seu caso é ajustar a configuração do load balancer para que ele redirecione o tráfego da porta 80 para a porta 4200 corretamente. Mas como é um projeto pessoal e não conheço como um todo, vou dar dicas do que você pode fazer.

  1. Modificar o Listener do Load Balancer:

    • Acesse o console da AWS e vá para o serviço Elastic Load Balancing.
    • Selecione o load balancer que foi criado automaticamente para o seu serviço Fargate.
    • Verifique os listeners configurados. Você deve ter um listener para a porta 80. Clique em "View/edit rules" para esse listener.
    • Modifique a regra para que o tráfego da porta 80 seja redirecionado para a porta 4200. Isso pode ser feito ajustando a ação de "Forward to..." para a target group correta que está configurada para receber na porta 4200.
  2. Revisar a Configuração da Target Group:

    • Ainda no console do Load Balancer, vá para a seção de Target Groups.
    • Selecione o target group associado ao seu serviço Fargate e verifique as configurações.
    • Certifique-se de que a porta de registro das instâncias (porta na qual o tráfego é recebido pelas tarefas) está definida como 4200.
  3. Deploy do Serviço Fargate:

    • Após ajustar as configurações do load balancer e do target group, faça um novo deploy do seu serviço Fargate para garantir que as mudanças sejam aplicadas.

Esses ajustes devem permitir que o tráfego que chega na porta 80 do load balancer seja corretamente redirecionado para a porta 4200 das tarefas do seu container, onde seu site Angular está rodando.

Um abraço e bons estudos.

solução!

Olá! Eu estou usando o nginx e ele por default estava expondo a porta 80 dentro do container e não a 4200 quando rodava local pelo comando ng serve. Fiz o ajuste para apontar para a porta 80 e agora está funcionando! Obrigada!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software