基于IP的白名单Elastic Load Balancer

我通过ELB在端口80上提供HTTPstream量。 由于很短的时间,越来越多的客户问我我们的IP地址是什么(收集数据)。 显然,他们不能将ELB的DNS列入白名单,只有IP地址(“ 你的IP地址一直在改变,我们应该怎么处理这个! ”)。

我能想到的一个解决scheme是跟踪我的ELB的IP地址池,并在服务器上列出一些文件给客户端? 也许这很麻烦,但我很难find关于这方面的经验的信息或文章,虽然我无法想象这是一个罕见的情况。

有没有什么常用的方法可以为我的ELB提供IP地址池? 或者是荒谬的,他们只需要使用一些可以将DNS地址列入白名单的解决scheme?

有没有什么常用的方法可以为我的ELB提供IP地址池?

是的,ELB是build立在EC2之上的,AWS发布了特定区域使用的所有公共IP范围的列表 。 假定您的ELB可以使用的每个IP都将落在其所在区域的已发布范围内,这应该是安全的。

这些IP范围如有更改,恕不另行通知,但AWS维护JSON格式的当前列表 ,可用于自动维护白名单。

另一方面,这是多余的,因为DNS的全部要点是提供与主机名关联的IP的当前列表。

或者是荒谬的,他们只需要使用一些可以将DNS地址列入白名单的解决scheme?

他们不能白名单列出一个主机名,因为任何防火墙解决scheme都支持这个解决scheme,在运行时必须将DNS主机名parsing为IP,然后遵守TTL以保持这个列表是最新的,否则在层7并检查主机HTTP头字段。

有点不寻常的是,他们想要白名单出站连接,更常见的是要白名单入站连接(例如当你试图访问他们的API),在这种情况下,你可以分配你的背后的实例ELB一个EIP,所以当你的应用服务器启动一个出站连接时,他们有一个静态IP(尽pipe这样做可能会妨碍自动扩展)。

一般来说,ELB并不是要成为所有人的灵丹妙药,而是为了牺牲less数潜在用户的利益,为90%的用例带来显着的好处(比如透明扩展)。 如果您确实需要负载平衡器的静态IP,那么OpsWorks使得协调HAProxy几乎一样容易。