2
respostas

Cluster intances vs Service tasks

Quando criamos o Cluster definimos o número de instâncias. Quando criamos o service determinamos o número de tasks. Entendi que a instância ec2 contendo a imagem do ECR está dentro de cada task criada a partir de uma task-definition por um service. Portanto acredito que o número de instâncias esteja relacionado ao service - number of tasks, mas o que acontece se eu colocar 5 no service -number of tasks e 10 no Cluster - number of instances? E se for ao contrário?

2 respostas

Deixando a pergunta mais clara. Quando crio um cluster, crio uma instancia ec2. Quando crio uma task crio um container dentro desse ec2, correto? Quando crio um service crio um grupo de tasks dentro desse mesmo ec2/cluster, correto? Se eu tenho uma task só, consigo acessar o container por ip_ec2_cluster:8080, correto? Se eu tenho várias tasks (ou containers) dentro do cluster (ou ec2) eu acesso elas via load balancer, correto? Quando crio agora no cluster 2 instancias e não mais uma, terei dois endereços ip, um para cada ec2 dentro do cluster, correto? Para distribuir entre esses 2 ec2 dentro de um único cluster também uso o load balancer? Se tudo isso tiver certo o load balancer distribui entre todos os ec2 dentro do cluster e dentro de todas as tasks/containers dentro de cada ec2? Por último, o load balancer consegue identificar o usuário que ele encaminha para cada container de modo a ter o usuário já logado ou com algum pré-processamento já realizado? Em outras palavras, ele consegue salvar algum tipo de sessão o usuário?

Caro José,

Pelo seu relato creio que as etapas/componentes estão esclarecidas. Cluster , Serviços, Tasks, etc. Do ponto de vista da sessão vamos olhar antes para o tcp. Quando você faz a conexão com o server o LB "monta em memória" uma tabela das sessões e se encarrega de mantê-las para que "você não tenha assimetria de tráfego". Ou seja, na prática dentro da mesma sessão você cairá no mesmo server... A questão é que temos a possibilidade de abrir várias sessões e cada uma delas vai ser considerada uma nova pelo LB. Na aws existe opções de customizar o LB seja pelo tipo ou por outras opções. Dê uma olhada neste doc:

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#sticky-sessions

Lembrando que tudo isto também depende de outros fatores como o health check e regras definidas no LB.