查询在特定Region的某AWS服务IP地址段

一、背景

为了查询在特定Region的某AWS服务IP地址段,可参考详细文档,包含Windows Powershell说明,请参考官方文档:

https://docs.aws.amazon.com/zh_cn/general/latest/gr/aws-ip-ranges.html

二、准备

1、安装jq工具

MacOS下执行:

brew install jq

Linux下执行

yum install jq -y

2、下载完整JSON文件到本地

请从本地址下载:

wget https://ip-ranges.amazonaws.com/ip-ranges.json

三、常用查询

1、查询某Region所有服务IP地址段

jq '.prefixes[] | select(.region=="ap-southeast-1")' < ip-ranges.json

注意因为是列出所有IP,因此清单会很长,可将其通过Linux管道输出到一个新文件,例如:

jq '.prefixes[] | select(.region=="ap-southeast-1")' < ip-ranges.json > sgp-region.json

2、查询某服务全球(如Cloudfront)所有IP地址段

jq -r '.prefixes[] | select(.service=="CLOUDFRONT") | .ip_prefix' < ip-ranges.json

需要注意,服务名称是缩写,可能需要参考上一个查询的结果。

3、查询某Region的某服务所有IP地址段

查询新加坡区域的EC2 Instance Connect使用的IP地址段(可以在EC2上配置为SSH入栈放行)

jq -r '.prefixes[] | select(.region=="ap-southeast-1") | select(.service=="EC2_INSTANCE_CONNECT") | .ip_prefix' < ip-ranges.json

查询新加坡区域的S3使用的IP地址段(可以在EC2上配置为SSH入栈放行)

jq -r '.prefixes[] | select(.region=="S3") | select(.service=="EC2_INSTANCE_CONNECT") | .ip_prefix' < ip-ranges.json

全文完。