【问题标题】:IP Whitelisting all Amazon EC2 servers in Region Ireland将爱尔兰地区的所有 Amazon EC2 服务器 IP 列入白名单
【发布时间】:2017-04-03 22:18:17
【问题描述】:

我有一个在 Elastic Beanstalk 上运行的 Web 服务,具有动态数量的实例,我有一个外部服务需要将我的 IP 列入白名单,他们可以将整个区域列入白名单,我在哪里可以找到亚马逊使用的所有可能的 IP在爱尔兰?

我尝试过设置 NAT 网关,但似乎过于复杂。

【问题讨论】:

    标签: amazon-web-services amazon-ec2


    【解决方案1】:

    AWS 将其 IP 地址范围发布到其文档中提供的 json 文件中。您可以使用适用于 PowerShell 的 AWS 工具或通过 linux 中的 jq 工具对其进行解析。

    直接链接:https://ip-ranges.amazonaws.com/ip-ranges.json

    示例

    以下示例按 eu-west-1(爱尔兰)中的所有 IPv4 地址过滤“EC2”服务,并仅选择其 IP 前缀。

    适用于 PowerShell 的 AWS 工具

    (@(Get-AWSPublicIpAddressRange -Region eu-west-1) | ? { $_.IpAddressFormat -eq 'Ipv4'-and $_.Service -eq 'EC2' }).IpPrefix
    

    jq

    注意:此示例假定您已下载 ip-ranges.json 并且它位于您的当前目录中。

    jq -r '.prefixes[] | select((.region=="eu-west-1") and .service=="EC2") | .ip_prefix' < ip-ranges.json
    

    IP 地址范围更改

    如果您打算将此作为自己的白名单,请确保您定期检查此 json 并及时了解任何更改,因为您无法保证此列表不会随着时间的推移而更改。

    AWS 提供了一个 SNS 主题,该主题在 IP 地址范围更改时发布一条消息。您可以将此通知用作触发器来自动更新白名单。例如,您可以在 SNS 发布上触发运行上述示例查询的 lambda。

    SNS 主题 ARN:arn:aws:sns:us-east-1:806199016981:AmazonIpSpaceChanged

    有关如何订阅here的更多详细信息。

    进一步阅读

    【讨论】:

    • 这个答案没有错,但肯定有问题。根据此处提到的资源,我的数学表明爱尔兰的 EC2 (eu-west-1) 目前控制 30 个网络块中的 3,167,504 个 IP 地址。似乎任何第三方提供商都不太可能认为在白名单中开放这些是一个合理的请求。 OP 需要一个静态地址 (EIP) 和一个 NAT 网关,没有两种方法。
    猜你喜欢
    • 2021-08-26
    • 2014-11-07
    • 2017-10-27
    • 1970-01-01
    • 2015-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多