本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon IP 地址范围
Amazon 以 JSON 格式发布其当前的 IP 地址范围。利用这些信息,您可以识别来自 Amazon 的流量。还可以使用此信息允许或拒绝发往或来自某些 Amazon 服务的流量。
注意
只有部分 Amazon 服务 IP 地址范围在 ip-ranges.json 中发布;我们会发布客户通常希望对其执行出口筛选
的服务的 IP 地址范围。 服务可以使用 IP 地址范围与其他服务通信(例如,Route 53 运行状况检查可能使用 EC2 IP 地址范围来检查 Web 服务器实例的运行状况),或者服务可使用这些 IP 范围与客户网络通信。
要查看当前范围,请下载 .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 区域或
GLOBAL
。GLOBAL
服务流量可以被吸引到或来自多个(最多全部)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 的资源,因此存在由 S3
和 EC2
服务代码返回的 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 地址范围
例 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 工具
例 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 服务基于 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_MEETINGS 和 CHIME_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 日 |
了解更多信息
-
AMAZON_APPFLOW
– IP 地址范围 -
AMAZON_CONNECT
– 设置您的网络 -
CHIME_MEETINGS
– 配置媒体和信号 -
CLOUDFRONT
– CloudFront 边缘服务器的位置和 IP 地址范围 -
DYNAMODB
– IP 地址范围 -
EC2
– 公有 IPV4 地址 -
EC2_INSTANCE_CONNECT
– EC2 实例连接先决条件 -
GLOBALACCELERATOR
– Global Accelerator 边缘服务器的位置和 IP 地址范围 -
ROUTE53
– Amazon Route 53 服务器的 IP 地址范围 -
ROUTE53_HEALTHCHECKS
– Amazon Route 53 服务器的 IP 地址范围 -
ROUTE53_HEALTHCHECKS_PUBLISHING
– Amazon Route 53 服务器的 IP 地址范围 -
WORKSPACES_GATEWAYS
–PCoIP 网关服务器