Как развернуть множество сервисов ECS, используя один экземпляр и один балансировщик нагрузки?

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

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

Я не хочу создавать отдельный кластер для каждого приложения или использовать для них отдельные балансировщики нагрузки, потому что эти приложения очень маленькие и получают мало трафика или вообще не получают его, поэтому это просто не имеет смысла. Даже минимум 0,25 виртуальных ЦП/0,5 ГБ, который есть у Fargate, является излишним для этих приложений.

Как лучше всего разместить множество приложений в одном кластере ECS и одном балансировщике нагрузки? Лучше ли создать собственный обратный прокси-сервер для маршрутизации к различным приложениям?

I was originally thinking I could give each service its own Target Group, but I ran into the RESOURCE:ENI error - Вы все создаете из веб-консоли? Вы создали целевые группы вручную или позволили службе ECS создать их за вас? Кроме того, какой тип цели был у вашей целевой группы?
ruohola 21.03.2022 17:36

@ruohola Я не хочу, чтобы целевые группы создавались автоматически, потому что в конечном итоге я хочу управлять этим с помощью Terraform. Я хочу, чтобы они управлялись как отдельные объекты, поэтому я создал службу с помощью интерфейса командной строки и установил для нее существующую целевую группу. Все, кроме Сервиса, было настроено в веб-консоли. Я пробовал как с IP, так и с экземплярами.

chrispytoes 21.03.2022 17:40

Целевая группа имела тип IP и была пустой, когда я создавал службу с помощью CLI. Это сработало, но когда я попытался сделать то же самое с другой целевой группой и другим сервисом, я получил RESOURCE:ENI.

chrispytoes 21.03.2022 17:50
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
3
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вероятно, вы используете awsvpcсетевой режим для определения задач. Вместо этого вы можете изменить его на режим (по умолчанию) bridge. Похоже, что ваши сервисы не требуют дополнительного повышения производительности сети за счет использования собственного сетевого стека EC2.

Типы целей целевых групп должны быть instance в соответствии с моим пониманием.

Другие вопросы по теме