Я ищу лучший способ реализовать запросы с балансировкой нагрузки для любого из двух контейнерных приложений.
Начинал работать в AWS и ранее не выполнял эту задачу - мне нужно реализовать дизайн, который мне дали для контейнеров. Код, с которым у меня все в порядке, он просто получает правильную комбинацию балансировщиков нагрузки / целевых групп / портов, с которыми мне нужно разобраться. Если кто-то может посоветовать, это будет высоко ценится. Просто пытаюсь внедрить пробную концепцию DEV на данный момент.
Проект состоит в том, чтобы переместить 2 сайта IIS из 1 физического блока в 2 контейнера в экземпляре AWS EC2. Иметь второй экземпляр узла-клона в кластере, охватывающий 2 AZ, в том же регионе.
Недостаточно репутации для публикации изображений, чтобы вы могли себе это представить.
Таким образом, запросы будут отправляться в контейнер app1 или app2, в зависимости от URL-адреса (контейнер app1 установлен для порта 8080, app2 для 8081) - и будут сбалансированы по обоим хостам EC2 в кластере.
У меня есть кластер и оба хоста EC2.
У меня есть определения задач «Hello World» для app1 и app2 - идентичные, кроме номеров портов 8080 и 8081.
Я могу запустить определения задач для app1 и app2 и просмотреть ссылку «Hello World» в соответствующих 4 контейнерах (2 на host1, 2 на host2).
В определении .json для каждой задачи они оба имеют containerPort как 80 и хост-порт 8080 или 8081 как таковой. Это позволяет мне просматривать каждый контейнер на хосте отдельно.
В определении задачи .json перечислены порты как для каждого контейнера:
"portMappings": [
{
"hostPort": 8081, (app2 here, app1 uses 8080)
"protocol": "tcp",
"containerPort": 80
}
],
Мне нужно знать, каков правильный механизм балансировки для конкретного контейнера на 2 хостах.
Мне нужно знать, нужно ли мне 2 целевых группы, по одной на приложение?
Мне нужно знать, какие номера портов я назначаю для целевых групп и использую для распределения нагрузки.