Amazon Web Services
一般参考 (Version 1.0)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

AWS 的 IP 地址范围

Amazon Web Services (AWS) 以 JSON 格式发布其当前的 IP 地址范围。要查看当前范围,请下载 .json 文件。要维护历史记录,请将连续版本的 .json 文件保存在系统上。要确定自上次保存文件以来是否发生更改,请检查当前文件中的发布时间,并将其与上次保存文件中的发布时间进行比较。

下载

下载 ip-ranges.json

如果您以编程方式访问此文件,您有责任确保仅在成功验证服务器提供的 TLS 证书之后,应用程序才能下载文件。

语法

ip-ranges.json 的语法如下。

Copy
{ "syncToken": "0123456789", "createDate": "yyyy-mm-dd-hh-mm-ss", "prefixes": [ { "ip_prefix": "cidr", "region": "region", "service": "subset" } ], "ipv6_prefixes": [ { "ipv6_prefix": "cidr", "region": "region", "service": "subset" } ] }
syncToken

采用 Unix 纪元时间格式的发布时间。

类型:字符串

示例:"syncToken": "1416435608"

createDate

发布日期和时间。

类型:字符串

示例:"createDate": "2014-11-19-23-29-02"

prefixes

IPv4 地址范围的 IP 前缀。

类型:数组

ipv6_prefixes

IPv6 地址范围的 IP 前缀。

类型:数组

ip_prefix

用 CIDR 表示法指定的公有 IPv4 地址范围。请注意,AWS 可在更具体的范围内公布前缀。例如,文件中的前缀 96.127.0.0/17 可公布为 96.127.0.0/21、96.127.8.0/21、96.127.32.0/19 和 96.127.64.0/18。

类型:字符串

示例:"ip_prefix": "198.51.100.2/24"

ipv6_prefix

用 CIDR 表示法指定的公有 IPv6 地址范围。请注意,AWS 可在更具体的范围内公布前缀。

类型:字符串

示例:"ipv6_prefix": "2001:db8:1234::/64"

region

AWS 区域或 GLOBAL(针对边缘站点)。请注意,CLOUDFRONTROUTE53 的范围是 GLOBAL。您应忽略任何不在此处列出的值。

类型:字符串

有效值:ap-northeast-1 | ap-northeast-2 | ap-south-1 | ap-southeast-1 | ap-southeast-2 | cn-north-1 | eu-central-1 | eu-west-1 | sa-east-1 | us-east-1 | us-gov-west-1 | us-west-1 | us-west-2 | GLOBAL

示例:"region": "us-east-1"

service

IP 地址范围的子集。指定 AMAZON 以获取所有 IP 地址范围(例如,EC2 子集中的范围同样也在 AMAZON 子集中)。请注意,一些 IP 地址范围仅在 AMAZON 子集中。您应忽略任何不在此处列出的值。

类型:字符串

有效值:AMAZON | EC2 | CLOUDFRONT | ROUTE53 | ROUTE53_HEALTHCHECKS | S3

示例:"service": "AMAZON"

筛选 JSON 文件

您可以下载命令行工具以帮助您筛选出自己所要查找的信息。

Windows

适用于 Windows PowerShell 的 AWS 工具 包含 cmdlet Get-AWSPublicIpAddressRange 以便分析此 JSON 文件。以下示例展示了其用法。有关更多信息,请参阅查询 AWS 的公有 IP 地址范围

例 1. 获取创建日期

Copy
PS C:\> Get-AWSPublicIpAddressRange -OutputPublicationDate Thursday, February 18, 2016 5:22:15 PM

例 2. 获取特定区域的信息

Copy
PS C:\> Get-AWSPublicIpAddressRange -Region us-east-1 IpPrefix Region Service -------- ------ ------- 23.20.0.0/14 us-east-1 AMAZON 50.16.0.0/15 us-east-1 AMAZON 50.19.0.0/16 us-east-1 AMAZON ...

例 3. 获取所有 IP 地址

Copy
PS C:\> (Get-AWSPublicIpAddressRange).IpPrefix 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...

Linux

以下示例命令使用 jq 工具分析 JSON 文件的本地副本。

例 1. 获取创建日期

Copy
$ jq .createDate < ipranges.json "2016-02-18-17-22-15"

例 2. 获取特定区域的信息

Copy
$ jq '.prefixes[] | select(.region=="us-east-1")' < ipranges.json { "ip_prefix": "23.20.0.0/14", "region": "us-east-1", "service": "AMAZON" }, { "ip_prefix": "50.16.0.0/15", "region": "us-east-1", "service": "AMAZON" }, { "ip_prefix": "50.19.0.0/16", "region": "us-east-1", "service": "AMAZON" }, ...

例 3. 获取所有 IP 地址

Copy
$ jq -r '.prefixes | .[].ip_prefix' < ipranges.json 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...

实施出口控制

要仅允许实例访问 AWS 服务,可使用规则创建安全组,这些规则允许出站流量流向 AMAZON 列表中的 CIDR 块 (排除也在 EC2 列表中的 CIDR 块)。

AWS IP 地址范围通知

只要 AWS IP 地址范围发生更改,我们就会向 AmazonIpSpaceChanged 主题的订阅者发送通知。有效负载包含以下格式的信息:

Copy
{ "create-time":"yyyy-mm-ddThh:mm:ss+00:00", "synctoken":"0123456789", "md5":"6a45316e8bc9463c9e926d5d37836d33", "url":"https://ip-ranges.amazonaws.com/ip-ranges.json" }
create-time

创建日期和时间。

通知可能不按顺序传输。因此,我们建议您检查时间戳以确保正确的顺序。

synctoken

采用 Unix 纪元时间格式的发布时间。

md5

ip-ranges.json 文件的加密哈希值。可以使用此值来检查下载的文件是否已损坏。

url

ip-ranges.json 文件的位置。

如果您希望只要 AWS IP 地址范围发生更改就收到通知,可以按以下所示进行订阅,以便使用 Amazon SNS 接收通知。

订阅 AWS IP 地址范围通知

  1. 通过以下网址打开 Amazon SNS 控制台:https://console.amazonaws.cn/sns/v2/home

  2. 在导航栏中,将区域更改为 美国东部(弗吉尼亚北部) (如果需要)。您必须选择此区域,因为您订阅的 SNS 通知是在此区域中创建的。

  3. 在导航窗格中,选择 Subscriptions

  4. 选择 Create subscription

  5. Create subscription 对话框中,执行以下操作:

    1. 对于 Topic ARN,复制以下 Amazon 资源名称 (ARN):

      Copy
      arn:aws:sns:us-east-1:806199016981:AmazonIpSpaceChanged
    2. 对于 Protocol,选择要使用的协议 (例如 Email)。

    3. 对于 Endpoint,键入用于接收通知的终端节点 (例如,您的电子邮件地址)。

    4. 选择 Create subscription

  6. 将通过您指定的终端节点与您联系并要求您确认订阅。例如,如果指定了电子邮件地址,您会收到一封主题行为 AWS Notification - Subscription Confirmation 的电子邮件。请按照说明确认订阅。

通知受到终端节点可用性约束。因此,应定期检查 JSON 文件以确保您在最新范围内。有关 Amazon SNS 可靠性的更多信息,请参阅http://www.amazonaws.cn/sns/faqs/#Reliability

如果您不希望再收到这些通知,请通过以下步骤取消订阅。

取消订阅 AWS IP 地址范围通知

  1. 通过以下网址打开 Amazon SNS 控制台:https://console.amazonaws.cn/sns/v2/home

  2. 在导航窗格中,选择 Subscriptions

  3. 选中订阅对应的复选框。

  4. 选择 ActionsDelete subscriptions

  5. 当系统提示进行确认时,选择 Delete

有关 Amazon SNS 的更多信息,请参阅Amazon Simple Notification Service 开发人员指南