Я пытаюсь создать развертывание, в котором как можно больше задач находится на каждом экземпляре EC2, но ECS по-прежнему размещает одну задачу на экземпляр, что делает их сильно недоиспользованными.
Вот все настройки, которые я считаю актуальными:
При каждом развертывании задачи помещаются в пустые экземпляры, и если ASG не создает новые, никогда не бывает более одной задачи на экземпляр.
@PawelKam Что именно вы имеете в виду? Задачи находятся в общедоступном VPC в подсетях, которые имеют доступ к nat gateway, назначение публичного ip отключено, сетевой режим — awsvpc.
Похоже, что у нужного вам экземпляра micro EC2 недостаточно мощности ENI для масштабирования более 1 задачи на экземпляр контейнера.
Согласно документации:
В сетевом режиме awsvpc Amazon ECS создает и управляет Эластичный сетевой интерфейс (ENI) для каждой задачи, и каждая задача получает собственный частный IP-адрес в VPC. Этот ENI отделен от базовые хосты ENI. Если запущен экземпляр Amazon EC2 несколько задач, то ENI каждой задачи также является отдельным.
Поскольку «этот ENI отделен от базовых ENI хостов», для запуска 1 задачи ECS требуется как минимум 2 интерфейса. В случае запуска 2 задач ECS вам потребуется 3 ENI и так далее.
Когда я получаю описание типов экземпляров EC2 (вы можете просто запустить aws ec2 describe-instance-types --filters "Name=instance-type,Values=t3a.micro"
), я вижу, что t3a.micro имеет максимальное ограничение только в 2 доступных сетевых интерфейса («MaximumNetworkInterfaces»: 2). Таким образом, вам нужно лучше использовать существующее максимальное количество сетевых интерфейсов или получить экземпляр контейнера с возможностью подключения большего количества сетевых интерфейсов.
Решением может быть использование типа экземпляра с более широкими возможностями ENI или увеличение плотности задач с помощью транкинга ENI. Пожалуйста, ознакомьтесь с соображениями по транкингу ENI раньше. Транкинг ENI может выглядеть примерно так:
Именно так и было, спасибо! Не знаю, как мне удалось пропустить это в документации.
Какова конфигурация вашей сети?