Смешивание задач EC2 и Fargate за эластичным балансировщиком нагрузки - PullRequest
0 голосов
/ 03 октября 2019

Я пытаюсь сбалансировать нагрузку одного приложения, которое развернуто с помощью служб fargate и ec2 ecs. Причина в том, что я хочу на короткое время увеличить масштаб при необходимости, чтобы справиться с неожиданно высокими нагрузками. Кажется, я не могу понять, как настроить целевые группы / эластичный балансировщик нагрузки.

Для каждой службы я создал соответствующую целевую группу с целевым типом, установленным в «ip» и «instance» соответственно дляслужба fargate и ec2.

Я не уверен, как распределитель нагрузки перенаправляет трафик в обе эти целевые группы одинаково.

1 Ответ

0 голосов
/ 04 октября 2019

https://docs.aws.amazon.com/AmazonECS/latest/userguide/register-multiple-targetgroups.html

В настоящее время, если вы хотите создать сервис с указанием нескольких целевых групп, вы должны создать сервис с помощью Amazon ECS API, SDK, AWS CLI или шаблона AWS CloudFormation. ,После создания службы вы можете просмотреть службу и целевые группы, зарегистрированные в ней, с помощью консоли управления AWS.

В определении службы можно указать несколько целевых групп, используя следующий формат.

"loadBalancers":[
   {  
      "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_1/1234567890123456",
      "containerName":"container_name",
      "containerPort":container_port
   },
   {  
      "targetGroupArn":"arn:aws:elasticloadbalancing:region:123456789012:targetgroup/target_group_name_2/6543210987654321",
      "containerName":"container_name",
      "containerPort":container_port
   }
]

В качестве альтернативы, мне интересно, сработает ли это

  • установить ELB перед обычным Fargate
  • поставить IP-адресFargate ELB плюс IP-адреса ваших экземпляров EC2 в одну целевую группу с target_type, установленным на ip
...