Correto, o Fargate é mais caro que o EC2 para a mesma quantidade de vCPU / RAM.
Por exemplo:
-
O menor contêiner Fargate com custos de 0,25 vCPU e 0,5 GB de RAM US $ 0,019 / h, ou seja, US $ 14 / mês por contêiner .
-
Se você precisa de 1 vCPU, a quantidade mínima de RAM é de 2 GB (consulte Configurações suportadas pelo Fargate ) e, de repente, o preço é de US $ 55 por mês por contêiner . No seu caso vezes 10 tarefas torna $ 550 / mês.
-
Por outro lado, se você tiver certeza de que pode espremer tudo isso em um único t3.small (2 vCPU, 2 GB de RAM) custará US $ 0,0208 / hora, o que é US $ 15 / mês . Mesmo que você precise de 2 ou 3 instâncias t3.small para suportar sua carga, ela ainda é muito mais barata do que a Fargate.
-
Se você colocar todos os seus contêineres em uma única tarefa Fargate (conforme sugerido na Opção 2 ), ainda é mais caro do que usar o EC2 ECS, além das complicações de ter vários contêineres independentes em uma tarefa. Não vale a pena.
Então, para finalizar - se você quiser executar seus contêineres 24x7 e eles não forem totalmente utilizados o tempo todo, será muito melhor executá-los em um cluster ECS com EC2.
Com Fargate você paga o prêmio pela flexibilidade.
Se os seus contêineres executarem rapidamente para concluir uma tarefa e, em seguida, saírem ou se aumentarem ou diminuírem a escala com base na demanda, será muito mais fácil executá-los no Fargate - você não precisará aumentar ou diminuir a escala o cluster EC2 subjacente para suportar a carga.
Em muitos casos, funciona melhor usar o Fargate, mesmo que seja mais caro por vCPU / RAM. Giramos lotes de centenas de contêineres de cada vez algumas vezes por dia para algum processamento e cada contêiner é executado por apenas cerca de 10 minutos. Se tivéssemos que escalar o cluster EC2 / ECS antes de cada execução, aguardar a solução, lidar com as falhas, executar o trabalho em lote e reduzir novamente, a sobrecarga seria bastante alta e o processamento em lote levaria muito mais tempo .
Aqui Fargate funciona muito bem para nós. Eu não usaria isso para um serviço sempre ativo.
Espero que ajude:)