#amazon-ecs
Вопрос:
У меня есть сервисы, один для интерфейса и один для бэкенда.
Я создал 2 образа для этих сервисов и хотел бы развернуть их на AWS ECS. В настоящее время интерфейсная служба взаимодействует с серверной частью с помощью localhost, поскольку она использовалась локально.
Возникнут ли проблемы, если я разверну его на AWS в 2 разных задачах/экземплярах?
Или это способ каким-то образом перенаправить локальный хост из внешнего контейнера на внутренний сервер?
Ответ №1:
Если вы развернете службы на 2 разных задачах/экземплярах, они не смогут взаимодействовать с помощью localhost. Рассмотрите возможность использования обнаружения служб ECS для управления пространствами имен HTTP и DNS для ваших служб Amazon ECS, вы можете обратиться к следующим учебным пособиям:
[1] Учебное пособие: Создание службы Amazon ECS, которая использует обнаружение служб С помощью интерфейса командной строки Amazon ECS — https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cli-tutorial-servicediscovery.html
Комментарии:
1. Спасибо вам за ответ. Будет ли балансировщик нагрузки делать то же самое?
2. Спасибо за это. Теперь предположим, что я не хочу пользоваться ни одной из этих услуг, потому что они платные, могу ли я настроить связь самостоятельно? Я имею в виду, есть ли возможность настроить его так, чтобы он был бесплатным?
3. ELB может сделать это, если вы настроите стабильную конечную точку службы, к которой могут подключаться ваши приложения. Однако более эффективно иметь прямую связь с заданной задачей ECS, обнаружение служб ECS может быть лучшим подходом, чем использование балансировщиков нагрузки.
4. вы также можете рассмотреть возможность запуска обоих контейнеров в одной и той же задаче, чтобы один контейнер ссылался на другой в порту локального хоста.
5. Я пробовал это, но я не хочу, чтобы они оба выполняли одну и ту же задачу, поэтому она будет более гибкой и масштабируемой. Я рассматриваю возможность настройки его вручную с помощью VPC и группы безопасности. Будет ли достаточно такого общения?