Этот вопрос кажется слишком очевидным, чтобы на него еще не было ответа, но все мои поиски в Google ничего не дают.
В docker (docker-compose) вы можете легко получить IP-адрес другого контейнера по имени хоста. Если вы явно создали и назначили сеть, это работает сразу после установки. Таким образом, контейнер foo
может подключиться к другому контейнеру bar
, просто просмотрев "bar" имени хоста.
Я пытаюсь добиться чего-то подобного в AWS ECS, чтобы разрешить контейнер из одной службы, чтобы поговорить с контейнером в другой службе. Кластер ECS имеет несколько хостов, поэтому я не думаю , что могу просто указать сеть типа мост
.
Обратите внимание, что протокол, для которого мне это нужно, не является HTTP, поэтому загрузка приложения о балансировщике уже не может быть и речи.
Есть ли рекомендуемый способ разрешить одному контейнеру обнаруживать другой в том же кластере через имя хоста?
Обнаружение сервиса Amazon ECS интегрировано в ECS:
Это позволяет сервису ECS автоматически регистрироваться с предсказуемым и понятным DNS-именем в Amazon Route 53. Как ваши сервисы масштабируются вверх или вниз в зависимости от нагрузки или работоспособности контейнера, размещенная зона Route 53 постоянно обновляется, позволяя другим сервисам искать, где им нужно установить соединения, в зависимости от состояния каждого сервиса.
Связанный пост в блоге содержит подробное объяснение и пример кода.