4
respostas

Servicços internos

Olá, tenho uma dúvida não respondida em nenhum tutorial ou curso. Todos os exemplos são de serviços expostos na internet, porém e os serviços internos? Aplicações que só são acessadas internamente uma pela outra? ou aplicações internas da empresa, usando dns privado? Teria que ter um lb interno para elas? ou existe alguma forma de fazer isso sem lb, visto que os ip's mudam de acordo com as tarefas lançadas?

4 respostas

Bom dia Ana, tudo bom?

Vamos por partes, os serviços que estão sendo criados são serviços internos, que são acessados apenas por componentes na AWS dentro do Security Group em questão, ou seja, as aplicações se comunicam se estiverem num mesmo security group e as configurações de ACL devidamente configuradas (liberação de portas, se necessário).

Esses serviços internos são expostos para o mundo de várias maneiras, podemos sim criar um LB externo (voltado para a internet), isso vai depender da arquitetura do seu sistema, já que a principal função do LB é distribuir carga em seus Target Groups.

DNS nada mais é que um "apelido", um nome para encontrar seu recurso sem ter que digitar o IP do mesmo, ele pode ser privado ou não.

Acho que você não entendeu a questão. Se eu tenho 3 tasks rodando 3 containeres da mesma aplicação, como vou apontar o dns para elas, se o ip vai mudar quando lançar tarefas novas? Estou falando especificando do ECS usando fargate, já que também não tenho instâncias dedicadas? O que vou apontar no meu dns?

A rota de entrada pra fazer requisições nessas instancias é justamente o LB (q tb possui um DNS), você pode expor esse LB para a internet fazer as requisições, independente do IP das instâncias, contanto que as mesmas estejam no target group do .

Hoje não preciso ter um lb para oferecer um endereço dns teste.meuxemplo.internal, por exemplo, porque eu aponto diretamente para uma instância EC2. No caso de serviços expostos para a internet, ter um lb é ok, já que são serviços com redundância e tudo o mais. Mas no caso do exemplo citado, usando ECS, precisaria obrigatoriamente ter um lb interno para expor o exemplo citado acima para meus clientes dentro da empresa? Essa era minha dúvida desde o início. Não vi uma saída sem ser usando lb mesmo o serviço exposto sendo interno.