我正在尝试确定我的heroku数据库存储在的AWS区域。我只有IP地址。
如何确定AWS区域?
答案 0 :(得分:4)
下载JSON文件AWS IP范围:AWS IP Address Ranges
它包含CIDR
个。您可能想要编写一个简单的脚本并检查IP是否属于CIDR
中的任何一个,然后检索相应的区域。这就是JSON的外观:
{
"ip_prefix": "13.56.0.0/16",
"region": "us-west-1",
"service": "AMAZON"
},
这是Python3
代码,用于在给定IP的情况下查找区域。假设从AWS下载的ip-ranges.json
文件位于当前目录中。无法在Python 2.7
from ipaddress import ip_network, ip_address
import json
def find_aws_region(ip):
ip_json = json.load(open('ip-ranges.json'))
prefixes = ip_json['prefixes']
my_ip = ip_address(ip)
region = 'Unknown'
for prefix in prefixes:
if my_ip in ip_network(prefix['ip_prefix']):
region = prefix['region']
break
return region
<强>测试强>
>>> find_aws_region('54.153.41.72')
'us-west-1'
>>> find_aws_region('54.250.58.207')
'ap-northeast-1'
>>> find_aws_region('154.250.58.207')
'Unknown'