Что для порта целевой группы используется при использовании Application Load Balancer + EC2 Container Service

Я пытаюсь настроить ALB, который прослушивает порт 443, балансировку нагрузки на контейнеры ECS Docker на случайных портах, скажем, у меня есть два экземпляра контейнера с тем же определением задачи, прослушивание портов 30000 и 30001.

Когда я пытаюсь создать целевую группу в консоли управления AWS EC2, есть поле ввода "порт" с диапазоном 1-65535. Какой номер я должен там поместить?

И когда я пытаюсь создать новую службу в консоли AWS EC2 Container Service вместе с новой целевой группой для подключения к существующей ALB, нет поля ввода для "порта" целевой группы. После его создания, перейдя на консоль EC2, новая целевая группа имеет порт "80". Должен ли я слушать порт 80? Но проверка работоспособности происходит против "порта трафика", который представляет собой контейнерный порт, 30000 и 30001, так что точка?

Ответ 1

Выключается, в сочетании с ECS порт целевой группы ничего не значит. Вам не нужно слушать этот порт.

Ответ 2

Порт в целевой группе используется вместе с группами автомасштабирования, и если вы когда-либо планируете использовать те, которые хотите использовать правый порт с самого начала. Зачем? Поскольку вы не можете изменить его после создания целевой группы, и автоматическое масштабирование просто не будет работать, если вы неправильно настроили порт.

Ответ 3

Я думаю, что он имеет в виду проверки здоровья. Если ваш ELB прослушивает порт 443, но ваша целевая группа настроена на порт 80, то каждая проверка работоспособности для целевой группы будет пытаться выполнить запрос на порт 80 и перенаправляться на порт 443 с помощью балансировщика нагрузки. В результате получается код 301, который считается нездоровым. Только 200 кодов должны считаться здоровыми. В этот момент у вас либо все нездоровые цели все время, либо вы добавляете 301 в список исправных кодов, который побеждает весь пункт проверок работоспособности, потому что он всегда будет возвращать 301 для порта 80. Вы также можете просто сопоставить порты.

Ответ 4

Я столкнулся с этой ситуацией сам на работе. Я заметил, что порт целевой группы и порт зарегистрированного экземпляра были разными. Обычно я настраивал их на одно и то же, поэтому удивлялся, что же все это привело к этой теме. Я не смог найти хороший ответ по документам AWS, но нашел его в документации Terraform для ресурса aws_lb_target_group:

порт - (Необязательно, принудительно вводит новый ресурс). Порт, на который целевые устройства получают трафик, если он не переопределен при регистрации определенной цели.

Итак, я думаю, это просто используемый по умолчанию порт, если вы не переопределите его. Имеет смысл.