Я использую AWS ECS для развертывания нескольких веб-сервисов (через образы Docker), которые находятся за внешним прокси Envoy. Некоторые из этих образов докеров имеют несколько развернутых экземпляров.
В настоящее время я использую функции обнаружения служб ECS для создания записей DNS, чтобы мои службы были доступны для обнаружения. Все это работает как положено.
Первоначально я использовал сетевой режим awsvpc
и использовал записи A для обнаружения служб. Однако вскоре я достиг предела сети (начал получать ошибки «Недостаточно ENI»), поэтому я переключился на Bridged
сеть и пробую обнаружение служб с использованием записей SRV.
Проблема, с которой я столкнулся, заключается в том, что прокси-сервер Envoy, похоже, не поддерживает SRV для обнаружения служб. Или, если это так, какие изменения мне нужно внести в мои настройки? Я включил соответствующую часть конфигурации моего кластера
clusters:
- name: ms_auth
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
hosts:
- socket_address:
address: ms_auth.apis
port_value: 80
- name: ms_logging
connect_timeout: 0.25s
type: strict_dns
lb_policy: round_robin
hosts:
- socket_address:
address: ms_logging.apis
port_value: 80
В противном случае, какие еще варианты мне следует рассмотреть, чтобы заставить эту настройку работать?