Обратный прокси-сервер NGINX + ngx_upstream_resolveMK - попытка разрешить SRV из маршрута обнаружения службы ECS53 Автоматическое именование - PullRequest
0 голосов
/ 30 ноября 2018

У меня сейчас проблема с обнаружением служб ECS и автоматическим присвоением имен Route53.

Я добавил реестр служб в службу, и все записи размещенных зон заполняются автоматически.Но я не могу понять, как разрешить записи DNS SRV с помощью NGINX + ngx_upstream_resolveMK .

# DNS RESOLVER
resolver ns-x.awsdns-xx.com valid=10s;

# UPSTREAMS
upstream kibana {
  resolveMK servicediscovery.ecs service=kibana;
}

# HOST - kibana.example.com
server {
  server_name kibana.example.com;
  listen 80;
  location / {
    proxy_pass https://kibana/;
    rewrite ^/(.*)$ /$1 break;
  }
}

ОШИБКА: nginx: [emerg] host not found in upstream "servicediscovery.ecs" in /usr/local/nginx/sites-enabled/kibana.conf:3

Таким образом, кажется, что тамотсутствует запись, необходимая для разрешения «servicediscovery.ecs» в частной зоне маршрута 53.

Нужно ли добавлять это вручную?или есть способ динамически добавить эту запись A?

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

ОБНОВЛЕНИЕ:

Я читал, что вы также можете использовать xxx.xxx.xxx.2 для доступа к DNS через AWS VPC. Я протестировал использование нового преобразователя без особой удачи.

# DNS RESOLVER
resolver xxx.xxx.0.2 valid=10s;

1 Ответ

0 голосов
/ 22 марта 2019

Мы решили эту проблему, переключившись на HAProxy .

Другой проблемой было использование правильного формата для службы Dsicovery.

Создайте новое личное пространство имен с именем _ip.xxxxxxx.ecs и назовите имя обнаружения службы _prometheus.Оба могут быть достигнуты при создании новой службы в ecs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...