Amazon IP 地址范围 - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon IP 地址范围

Amazon 以 JSON 格式发布其当前的 IP 地址范围。利用这些信息,您可以识别来自 Amazon 的流量。还可以使用此信息允许或拒绝发往或来自某些 Amazon 服务的流量。

注意

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

通过自带 IP 地址(BYOIP)引入到 Amazon 的 IP 地址范围不包含在 .json 文件内。

或者,某些服务使用 Amazon 托管式前缀列表发布其地址范围。有关更多信息,请参阅可用的 Amazon 托管前缀列表

下载

下载 ip-ranges.json

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

语法

ip-ranges.json 的语法如下。

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

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

类型:字符串

示例:"syncToken": "1416435608"

createDate

发布日期和时间,采用 UTC YY-MM-DD-hh-mm-ss 格式。

类型:字符串

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

prefixes

IPv4 地址范围的 IP 前缀。

类型:数组

ipv6_prefixes

IPv6 地址范围的 IP 前缀。

类型:数组

ip_prefix

用 CIDR 表示法指定的公有 IPv4 地址范围。请注意,Amazon 可在更具体的范围内公布前缀。例如,文件中的前缀 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 地址范围。请注意,Amazon 可在更具体的范围内公布前缀。

类型:字符串

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

network_border_group

网络边界组的名称,这是 Amazon 通告 IP 地址或 GLOBAL 的可用区或本地区域的唯一集合。GLOBAL 服务流量可以被吸引到或来自 Amazon 从中通告 IP 地址的多个(最多全部)可用区或本地区域。

类型:字符串

示例:"network_border_group": "us-west-2-lax-1"

区域

Amazon 区域或 GLOBALGLOBAL 服务流量可以被吸引到或来自多个(最多全部)Amazon 区域。

类型:字符串

有效值:af-south-1 | ap-east-1 | ap-northeast-1 | ap-northeast-2 | ap-northeast-3 | ap-south-1 | ap-south-2 | ap-southeast-1 | ap-southeast-2 | ap-southeast-3 | ap-southeast-4 | ca-central-1 | cn-north-1 | cn-northwest-1 | eu-central-1 | eu-central-2 | eu-north-1 | eu-south-1 | eu-south-2 | eu-west-1 | eu-west-2 | eu-west-3 | me-central-1 | me-south-1 | sa-east-1 | us-east-1 | us-east-2 | us-gov-east-1 | us-gov-west-1 | us-west-1 | us-west-2 | GLOBAL

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

service

IP 地址范围的子集。为 API_GATEWAY 列出的地址仅为出口 IP 地址。指定 AMAZON 可获得所有 IP 地址范围(这意味着每个子集也在 AMAZON 子集中)。但是,某些 IP 地址范围仅在 AMAZON 子集中(这意味着它们不会再包含在其他子集中)。

类型:字符串

有效值:AMAZON | AMAZON_APPFLOW | AMAZON_CONNECT | API_GATEWAY | CHIME_MEETINGS | CHIME_VOICECONNECTOR | CLOUD9 | CLOUDFRONT | CLOUDFRONT_ORIGIN_FACING | CODEBUILD | DYNAMODB | EBS | EC2 | EC2_INSTANCE_CONNECT | GLOBALACCELERATOR | KINESIS_VIDEO_STREAMS | MEDIA_PACKAGE_V2 | ROUTE53 | ROUTE53_HEALTHCHECKS | ROUTE53_HEALTHCHECKS_PUBLISHING | ROUTE53_RESOLVER | S3 | WORKSPACES_GATEWAYS

示例:"service": "AMAZON"

范围重叠

任何服务代码返回的 IP 地址范围也由 AMAZON 服务代码返回。例如,由 S3 服务代码返回的所有 IP 地址范围也由 AMAZON 服务代码返回。

当服务 A 使用来自服务 B 的资源时,存在由服务 A 和服务 B 的服务代码返回的 IP 地址范围。然而,这些 IP 地址范围仅由服务 A 使用,而不能由服务 B 使用。例如,AmazonS3 使用来自 AmazonEC2 的资源,因此存在由 S3EC2 服务代码返回的 IP 位置范围。但是,这些 IP 地址范围仅由 Amazon S3 使用。因此,S3 服务代码会返回 Amazon S3 专门使用的所有 IP 地址范围。要识别 Amazon EC2 专门使用的 IP 地址范围,请查找 EC2 服务代码(而不是 S3 服务代码)返回的 IP 地址范围。

筛选 JSON 文件

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

Windows

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

例 1. 获取创建日期
PS C:\> Get-AWSPublicIpAddressRange -OutputPublicationDate Wednesday, August 22, 2018 9:22:35 PM
例 2. 获取特定区域的信息
PS C:\> Get-AWSPublicIpAddressRange -Region us-east-1 IpPrefix Region NetworkBorderGroup Service -------- ------ ------- ------- 23.20.0.0/14 us-east-1 us-east-1 AMAZON 50.16.0.0/15 us-east-1 us-east-1 AMAZON 50.19.0.0/16 us-east-1 us-east-1 AMAZON ...
例 3. 获取所有 IP 地址
PS C:\> (Get-AWSPublicIpAddressRange).IpPrefix 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ... 2406:da00:ff00::/64 2600:1fff:6000::/40 2a01:578:3::/64 2600:9000::/28
例 4. 获取所有 IPv4 地址
PS C:\> Get-AWSPublicIpAddressRange | where {$_.IpAddressFormat -eq "Ipv4"} | select IpPrefix IpPrefix -------- 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...
例 5. 获取所有 IPv6 地址
PS C:\> Get-AWSPublicIpAddressRange | where {$_.IpAddressFormat -eq "Ipv6"} | select IpPrefix IpPrefix -------- 2a05:d07c:2000::/40 2a05:d000:8000::/40 2406:dafe:2000::/40 ...
例 6. 获取特定服务的所有 IP 地址
PS C:\> Get-AWSPublicIpAddressRange -ServiceKey CODEBUILD | select IpPrefix IpPrefix -------- 52.47.73.72/29 13.55.255.216/29 52.15.247.208/29 ...

Linux

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

例 1. 获取创建日期
$ jq .createDate < ip-ranges.json "2016-02-18-17-22-15"
例 2. 获取特定区域的信息
$ jq '.prefixes[] | select(.region=="us-east-1")' < ip-ranges.json { "ip_prefix": "23.20.0.0/14", "region": "us-east-1", "network_border_group": "us-east-1", "service": "AMAZON" }, { "ip_prefix": "50.16.0.0/15", "region": "us-east-1", "network_border_group": "us-east-1", "service": "AMAZON" }, { "ip_prefix": "50.19.0.0/16", "region": "us-east-1", "network_border_group": "us-east-1", "service": "AMAZON" }, ...
例 3. 获取所有 IPv4 地址
$ jq -r '.prefixes | .[].ip_prefix' < ip-ranges.json 23.20.0.0/14 27.0.0.0/22 43.250.192.0/24 ...
例 4. 获取所有 IPv6 地址
$ jq -r '.ipv6_prefixes | .[].ipv6_prefix' < ip-ranges.json 2a05:d07c:2000::/40 2a05:d000:8000::/40 2406:dafe:2000::/40 ...
例 5. 获取特定服务的所有 IPv4 地址
$ jq -r '.prefixes[] | select(.service=="CODEBUILD") | .ip_prefix' < ip-ranges.json 52.47.73.72/29 13.55.255.216/29 52.15.247.208/29 ...
例 6. 获取特定区域中的特定服务的所有 IPv4 地址
$ jq -r '.prefixes[] | select(.region=="us-east-1") | select(.service=="CODEBUILD") | .ip_prefix' < ip-ranges.json 34.228.4.208/28
例 7. 获取特定网络边界组的信息
$ jq -r '.prefixes[] | select(.region=="us-west-2") | select(.network_border_group=="us-west-2-lax-1") | .ip_prefix' < ip-ranges.json 70.224.192.0/18 52.95.230.0/24 15.253.0.0/16 ...

实施出口控制

要允许使用一项 Amazon 服务创建的资源仅访问其他 Amazon 服务,可以使用 ip-ranges.json 文件中的 IP 地址范围信息来执行出口筛选。确保安全组规则允许出站流量流向 AMAZON 列表中的 CIDR 块。安全组存在限额。根据每个区域中 IP 地址范围的数量,每个区域可能需要使用多个安全组。

注意

有些 Amazon 服务基于 EC2 构建并使用 EC2 IP 地址空间。如果您屏蔽流向 EC2 IP 地址空间的流量,则也将阻止这些非 EC2 服务的流量。

发布说明

下表介绍了 ip-ranges.json 语法的更新。我们还会在推出每个区域时添加新的区域代码。

描述 发行日期
添加了 MEDIA_PACKAGE_V2 服务代码。 2023 年 5 月 9 日
添加了 CLOUDFRONT_ORIGIN_FACING 服务代码。 2021 年 10 月 12 日
添加了 ROUTE53_RESOLVER 服务代码。 2021 年 6 月 24 日
添加了 EBS 服务代码。 2021 年 5 月 12 日
添加了 KINESIS_VIDEO_STREAMS 服务代码。 2020 年 11 月 19 日
添加了 CHIME_MEETINGSCHIME_VOICECONNECTOR 服务代码。 2020 年 6 月 19 日
添加了 AMAZON_APPFLOW 服务代码。 2020 年 6 月 9 日
增加了对网络边界组的支持。 2020 年 4 月 7 日
添加了 WORKSPACES_GATEWAYS 服务代码。 2020 年 3 月 30 日
添加了 ROUTE53_HEALTHCHECK_PUBLISHING 服务代码。 2020 年 1 月 30 日
添加了 API_GATEWAY 服务代码。 2019 年 9 月 26 日
添加了 EC2_INSTANCE_CONNECT 服务代码。 2019 年 6 月 26 日
添加了 DYNAMODB 服务代码。 2019 年 4 月 25 日
添加了 GLOBALACCELERATOR 服务代码。 2018 年 12 月 20 日
添加了 AMAZON_CONNECT 服务代码。 2018 年 6 月 20 日
添加了 CLOUD9 服务代码。 2018 年 6 月 20 日
添加了 CODEBUILD 服务代码。 2018 年 4 月 19 日
添加了 S3 服务代码。 2017 年 2 月 28 日
添加了对 IPv6 地址范围的支持。 2016 年 8 月 22 日
首次发布 2014 年 11 月 19 日

了解更多信息