【发布时间】:2017-04-03 22:18:17
【问题描述】:
我有一个在 Elastic Beanstalk 上运行的 Web 服务,具有动态数量的实例,我有一个外部服务需要将我的 IP 列入白名单,他们可以将整个区域列入白名单,我在哪里可以找到亚马逊使用的所有可能的 IP在爱尔兰?
我尝试过设置 NAT 网关,但似乎过于复杂。
【问题讨论】:
标签: amazon-web-services amazon-ec2
我有一个在 Elastic Beanstalk 上运行的 Web 服务,具有动态数量的实例,我有一个外部服务需要将我的 IP 列入白名单,他们可以将整个区域列入白名单,我在哪里可以找到亚马逊使用的所有可能的 IP在爱尔兰?
我尝试过设置 NAT 网关,但似乎过于复杂。
【问题讨论】:
标签: amazon-web-services amazon-ec2
AWS 将其 IP 地址范围发布到其文档中提供的 json 文件中。您可以使用适用于 PowerShell 的 AWS 工具或通过 linux 中的 jq 工具对其进行解析。
直接链接:https://ip-ranges.amazonaws.com/ip-ranges.json
以下示例按 eu-west-1(爱尔兰)中的所有 IPv4 地址过滤“EC2”服务,并仅选择其 IP 前缀。
(@(Get-AWSPublicIpAddressRange -Region eu-west-1) | ? { $_.IpAddressFormat -eq 'Ipv4'-and $_.Service -eq 'EC2' }).IpPrefix
注意:此示例假定您已下载 ip-ranges.json 并且它位于您的当前目录中。
jq -r '.prefixes[] | select((.region=="eu-west-1") and .service=="EC2") | .ip_prefix' < ip-ranges.json
如果您打算将此作为自己的白名单,请确保您定期检查此 json 并及时了解任何更改,因为您无法保证此列表不会随着时间的推移而更改。
AWS 提供了一个 SNS 主题,该主题在 IP 地址范围更改时发布一条消息。您可以将此通知用作触发器来自动更新白名单。例如,您可以在 SNS 发布上触发运行上述示例查询的 lambda。
SNS 主题 ARN:arn:aws:sns:us-east-1:806199016981:AmazonIpSpaceChanged
有关如何订阅here的更多详细信息。
【讨论】: