如何为客户提供Amazon S3桶访问所需的公网IP子网?
获取eu-west-1区域S3公网IP范围的正确方式
你的思路完全没问题,这就是AWS官方推荐的获取特定区域特定服务IP范围的标准流程:
- 获取AWS官方维护的IP范围JSON文件,该文件会实时更新所有AWS服务的公网IP段
- 解析该文件,筛选出
region字段为eu-west-1、service字段为S3的条目,对应的ip_prefixes值就是你需要的S3公网IP子网范围
额外给你几个实用提醒:
- 这个IP范围是动态更新的,AWS会不定期调整,必须提醒客户定期重新获取最新IP段,否则MFT应用可能因IP变更出现访问故障
- 如果客户的MFT应用支持域名访问,优先建议使用S3的区域专属域名(比如
eu-west-1.s3.amazonaws.com)访问存储桶,无需纠结IP变化问题,这是更稳妥的方案 - 解析JSON可以用简单脚本快速实现,比如Python脚本示例:
import json # 假设已下载IP范围文件到本地,命名为ip-ranges.json with open('ip-ranges.json', 'r') as f: data = json.load(f) # 筛选eu-west-1区域的S3 IP段 s3_eu_ips = [item['ip_prefix'] for item in data['prefixes'] if item['region'] == 'eu-west-1' and item['service'] == 'S3'] for ip in s3_eu_ips: print(ip)
内容的提问来源于stack exchange,提问作者SammyBlackBaron
相关产品推荐
相关产品推荐

