我有一个在Elastic Beanstalk上运行的Web服务,具有动态数量的实例,我有一个需要将我的IP列入白名单的外部服务,他们可以将整个区域列入白名单,在哪里可以找到亚马逊使用的所有可能的IP在爱尔兰?
我尝试过设置NAT网关,但看起来过于复杂。
答案 0 :(得分:2)
AWS将其IP地址范围发布到其文档中提供的json文件。您可以使用AWS Tools for PowerShell或通过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的详细信息。