亚马逊网络服务-负载平衡器无法进行良好的健康检查



我对AWS负载均衡器的工作方式感到困惑。我有一个非常简单的设置。。。

我有一个基于rest的API,它需要通过我的负载均衡器暴露到互联网(端口80)。我只想让负载均衡器暴露在互联网流量中。我为我的实例设置了一个安全组,该组限制仅直接访问我的ipad进行测试。

负载均衡器在http上没有ip限制,它只打开了端口80(在端口3001上有一个到我的api服务的侦听器)。问题是,如果我在有问题的实例上设置任何ip限制,负载平衡器就无法看到我的实例。一旦我删除了对实例的这些限制,健康检查就会开始工作,我就可以通过负载均衡器访问服务。问题是,我的实例现在有我不想要的互联网端口。

在使用ip限制时,我是否需要做一些额外的事情来允许负载均衡器访问我的实例?

最后要注意的是,在添加实例级ip限制之前,我的健康检查工作正常,这样我就知道健康检查不是问题所在。我认为如果我将负载均衡器的IP添加到我的白名单中,它会起作用,但该IP是动态的,不适用于此目的。

不要使用IP限制。

1) 选择LB,选择Security选项卡,并记下安全组ID(类似sg-5555abb)。点击该ID进行编辑

2) 当您编辑负载均衡器安全组时,只添加一个允许规则:HTTP TCP 80 0.0.0.0/0(如果需要,可以添加443,但您已经明白了)。

3) 接下来转到实例的安全组。仅允许负载平衡器的安全组访问端口3001:Custom TCP Rule TCP 3001 sg-5555abb (my-load-balancer)上的实例。请注意,在Source字段中,您没有输入IP地址/掩码,而是输入步骤1)中的安全组ID

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#security-组规则

相关内容

  • 没有找到相关文章

最新更新