NGINX反向代理+ ngx_upstream_resolveMK - 尝试从ECS服务发现Route53自动命名解析SRV

问题描述 投票:0回答:1

我目前遇到ECS服务发现和Route53自动命名问题。

我已将Service Registry添加到服务中,并且所有Hosted Zones记录都将自动填充。但我似乎无法解决如何使用NGINX + ngx_upstream_resolveMK解析DNS SRV记录。

# 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”解析为Route 53私有区域时缺少A记录。

我需要手动添加吗?或者有没有办法动态添加这个A记录?

我认为这是问题的原因,但我仍然在学习,可能会离开。

更新:

我读过你也可以使用xxx.xxx.xxx.2通过AWS VPC访问DNS我已经使用新的解析器进行了测试而没有太多运气。

# DNS RESOLVER
resolver xxx.xxx.0.2 valid=10s;
nginx networking amazon-route53 amazon-ecs service-discovery
1个回答
0
投票

我们通过交换到HAProxy解决了这个问题。

另一个问题是使用正确的服务发现格式。

创建名为_ip.xxxxxxx.ecs的新私有名称空间,并将服务发现名称命名为_prometheus。在ecs中创建新服务时,两者都可以实现。

© www.soinside.com 2019 - 2024. All rights reserved.