Я новичок в AWS и пытаюсь оценить, как будет выглядеть перенос наших существующих приложений в AWS. Я пытаюсь разместить несколько приложений в качестве служб в одном кластере ECS и использовать один балансировщик нагрузки приложений с правилами имени хоста для маршрутизации запросов в правильный контейнер.
Первоначально я думал, что могу дать каждой службе свою собственную целевую группу, но столкнулся с ошибкой RESOURCE:ENI
, которая, насколько я могу судить, означает, что я не могу просто присоединить столько целевых групп, сколько захочу, к одному и тому же кластеру.
Я не хочу создавать отдельный кластер для каждого приложения или использовать для них отдельные балансировщики нагрузки, потому что эти приложения очень маленькие и получают мало трафика или вообще не получают его, поэтому это просто не имеет смысла. Даже минимум 0,25 виртуальных ЦП/0,5 ГБ, который есть у Fargate, является излишним для этих приложений.
Как лучше всего разместить множество приложений в одном кластере ECS и одном балансировщике нагрузки? Лучше ли создать собственный обратный прокси-сервер для маршрутизации к различным приложениям?
@ruohola Я не хочу, чтобы целевые группы создавались автоматически, потому что в конечном итоге я хочу управлять этим с помощью Terraform. Я хочу, чтобы они управлялись как отдельные объекты, поэтому я создал службу с помощью интерфейса командной строки и установил для нее существующую целевую группу. Все, кроме Сервиса, было настроено в веб-консоли. Я пробовал как с IP, так и с экземплярами.
Целевая группа имела тип IP и была пустой, когда я создавал службу с помощью CLI. Это сработало, но когда я попытался сделать то же самое с другой целевой группой и другим сервисом, я получил RESOURCE:ENI
.
Вероятно, вы используете awsvpc
сетевой режим для определения задач. Вместо этого вы можете изменить его на режим (по умолчанию) bridge
. Похоже, что ваши сервисы не требуют дополнительного повышения производительности сети за счет использования собственного сетевого стека EC2.
Типы целей целевых групп должны быть instance
в соответствии с моим пониманием.
I was originally thinking I could give each service its own Target Group, but I ran into the RESOURCE:ENI error
- Вы все создаете из веб-консоли? Вы создали целевые группы вручную или позволили службе ECS создать их за вас? Кроме того, какой тип цели был у вашей целевой группы?