2017-06-28 128 views
1

在我的AWS账户, 我有以下设置:AWS ECS:不健康的容器

  • 1X ECS集群2个服务(service-aservice-b
  • 每个服务都有自己的目标群体
  • service-a绑定端口443
  • service-b绑定端口8888(我需要这样做,因为443可能已经分配了service-a) 这两个服务可达与HTTPS协议
  • 1X ALB这将在两个服务被用于负载平衡的流量
  • 1X HTTPS监听器上的ALB(由路径平衡流量)
  • 1X安全组的ALB(只允许入站流量从给定的网络)
  • 1X安全组对所有ECS EC2实例被允许从ALB(端口443(HTTPS)和8888(自定义TCP规则))

但是入站流量:

service-b总是不健康。

我试图在监听端口8888的ALB上添加一个新的HTTPS监听器,并且该监听器按照预期将流量转发到我的service-b-target-group。

有没有人有任何线索?

在此先感谢!

+0

我真的不想强迫我的客户在浏览器中输入端口8888 ...一切都应该在知名端口上工作443 –

+0

您的ALB健康检查配置如何? – MaiKaY

+0

他们只是检查公共资源并评估其状态代码。在我的情况:两个都试图检索一个js文件,这是肯定可用的 - 我三重检查它在本地 –

回答

0

您是否配置了服务b的目标组的高级运行状况检查?

它应该是这样的 picture here

默认目标群体的设定是“交通港”。如果您已配置基于路径的路由,则两个目标组的通信端口都相同。

url.com:443/service-aurl.com:443/service-b请求将尝试在这两个目标群体做端口443进行健康检查

对于服务B,你应该定义一个特定端口上先进的健康检查,因为你的服务,端口上侦听( 8888在你的情况下)

+0

感谢您的回复的最后一个潜在的缺失*的。不幸的是,没有工作..看到我的配置附加文件: https://cp.sync.com/dl/862ab3d70#zrmwfqa6-tv5w4wv7-gvcrf56g-yh6z835f –

+0

正如你所看到的,我得到一个超时.. –