
Eu configurei um cluster Fargate na AWS. Meu cluster tem o seguinteServiços:
- servidor-A (porta 3000)
- servidor-B (porta 4000)
Cada serviço está na mesma VPC e possui o mesmo grupo de segurança (qualquer porta, qualquer origem, qualquer destino). O VPC está isolado da Internet.
Agora, quero que o servidor A envie uma consulta http para o servidor B. Eu presumiria que, como no enxame Docker, existe um DNS privado que mapeia o nome do serviço para seu IP privado, e seria tão simples quanto enviar a consulta para:http://servidor-B:4000. No entanto, o servidor A atinge o tempo limite, o que significa que não pode alcançar o servidor B.
Li na documentação que posso colocar os 2 containers no mesmo serviço, cada container escutando em uma porta diferente, para que, graças à interface de loopback, do servidor-A, eu pudesse consultarhttp://127.0.0.1:4000e o servidor B responderá e vice-versa.
No entanto, quero poder escalar o servidor A e o servidor Bindependentemente, então acho que faz sentido manter cada servidor independente um do outro, tendo 2 serviços.
Eu li que, para duas tarefas se comunicarem, preciso configurar um balanceador de carga. Vindo do mundo do Docker Swarm, era muito fácil consultar os serviços pelo nome do serviço e, nos bastidores, a solicitação era encaminhada para um dos contêineres desse serviço. Mas não parece funcionar assim no AWS Fargate.
Questões:
- como o servidor A pode conversar com o servidor B?
- Como o serviço às vezes é reimplementado, seu IP privado muda, então não faz sentido consultar por IP, consultar por nome de host parece a maneira mais natural
- Preciso configurar algum tipo de DNS interno?
Obrigado pela sua ajuda, estou realmente perdido em fazer esta configuração simples.
Responder1
Após pesquisar, descobri que era porque eu não estava habilitando o "Service Discovery" durante a criação do serviço, portanto nenhum DNS privado foi criado. Aqui está alguma documentação adicional que explica exatamente as etapas:
https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-service-discovery.html