为了让S3能够正常工作,请问系统pipe理员打开哪个IP范围?

我已经为Raspberry Pi编写了一些程序,一些小公司已经performance出了兴趣。我将他们的预先configuration的Raspberry Pi卖给了他们,并且使用了我的程序,除了其中一个公司外,其他人都可以使用它。 他们有非常严格的政策,这是可以理解的。

我的程序使用亚马逊的S3服务。 我已经给出了为了使程序工作而需要打开的端口和服务的说明,以及访问S3的方法,系统pipe理员对除了一件事情之外的所有事情都说好:他们不能允许端口443互联网。 他们说,我需要指定IP范围。

我一直在做一些研究,似乎S3需要一个巨大的IP范围才能工作,所需的IP地址只是不断增加。 我发现的大多数文档清楚地说明了“端口80和端口443需要打开”,并且S3服务器的IP地址也有所不同。

你有什么build议我可以build议吗? 有防火墙可以通过域名(* .amazonaws.com)过滤吗? 还有什么我可以做的吗? S3有官方IP范围列表,定期更新吗?

从你的任何帮助将非常感激。 谢谢。

在开始构build允许的IP范围之前,请确定该区域。 S3地区列表可在这里find 。

假设您需要s3-us-west-2.amazonaws.com的IP范围。

您可以通过在Linux系统上执行以下命令或其他系统上的等效命令来获得它。

获取域的IP地址:

 $ host s3-us-west-2.amazonaws.com s3-us-west-2.amazonaws.com has address 54.231.161.248 

域将有多个IP地址相关联,可能会在不同的networking。 尝试多次运行此命令,查看返回的IP地址是否在同一个networking中。 如果不是,请尝试从不同的networking中识别IP,并在所有这些IP上运行以下命令。 不幸的是,没有办法要求DNS服务器返回与特定域关联的所有Alogging。

运行whois以获取有关IP地址的信息:

 $ whois 54.231.161.248 ... NetRange: 54.230.0.0 - 54.231.255.255 CIDR: 54.230.0.0/15 ... 

Whois输出将包含大量您不需要的额外信息,并且输出可能因不同的IP地址而异。 但是你应该能够在输出中findIP范围。

替代方法:

亚马逊有一个论坛post ,列出他们的IP范围,并定期更新,所以你可以使用它。

因为这些IP范围会随着时间的推移而变化,所以理想情况下,您将需要一个脚本来为您进行探测,并在发现新的IP时发出通知。 正如在下面的评论中指出的那样,如果没有确认IP范围是正确的,你可能不希望你的防火墙configuration被更新。

亚马逊现在发布每个服务的IP范围自动更新列表: https : //ip-ranges.amazonaws.com/ip-ranges.json – 请参阅http://docs.aws.amazon.com/general/latest/ gr / aws-ip-ranges.html的语义以及如何得到更改通知。