我想暂时阻止外部端口80,但希望负载平衡器通过防火墙(通过安全组)通过,以便它不会将该实例视为不正常。我怎样才能做到这一点?
更新: 我也想知道如何只允许我自己通过端口80访问弹性负载均衡器(但阻止其他人访问)。我知道负载平衡器没有可以设置的特定安全组,并告诉它仅接受我的IP地址,但是还有其他方法可以做到吗?
我想暂时阻止外部端口80,但希望负载平衡器通过防火墙(通过安全组)通过,以便它不会将该实例视为不正常。我怎样才能做到这一点?
更新: 我也想知道如何只允许我自己通过端口80访问弹性负载均衡器(但阻止其他人访问)。我知道负载平衡器没有可以设置的特定安全组,并告诉它仅接受我的IP地址,但是还有其他方法可以做到吗?
Answers:
Eric需要很长的路要指出,但实际上并没有说明您需要将源授权为amazon-elb/amazon-elb-sg
。如果您通过AWS管理控制台执行此操作,则当您在源字段中键入它时,它将实际上自动完成。我运行几种ELB配置,它们都允许通过此安全组和监视系统的静态IP地址访问80 / TCP。
要解决更新的请求信息,您不能限制可以打到ELB的IP地址。如果您编写规则来查看标头并做出拒绝页面视图的决定,则在Apache服务器端可以做到这一点。我限制测试访问的方法是将我的静态IP添加到允许通过端口80 / TCP命中EC2实例的安全组,然后只需将该实例从ELB中取出进行测试。
亚马逊在四月份宣布了对此的支持:
现在,您可以使用与弹性负载均衡器关联的特殊安全组,将位于弹性负载均衡器后面的EC2实例配置为仅从负载均衡器接收流量。为此,请调用DescribeLoadBalancers API以获取SecurityGroup的名称,然后在随后启动某些EC2实例时将该安全组包括在组列表中。还可以从AWSManagement Console中的负载均衡器详细信息窗格中获取安全组的名称。
我应该添加的amazon-elb/amazon-elb-sg
是负载均衡器安全组的默认名称。如果更改了安全组的名称,则添加amazon-elb/amazon-elb-sg
将无法进行。更为通用的答案是将负载均衡器的安全组ID或安全组名称添加到参与集群的所有实例的安全组中。
sg-
在“源”字段中键入内容,您会获得所有不同安全组的下拉列表。