AWS EKS工作节点出口流量管控:如何配置S3与ECR的CIDR规则?
限制EKS工作节点出口流量至S3和ECR的正确配置方式
不要硬编码固定CIDR块来允许S3和ECR访问——AWS服务的IP范围会定期更新,手动维护极易导致服务断连。最可靠的方案是使用AWS托管前缀列表(Managed Prefix Lists),它会自动同步对应服务的IP范围,无需手动调整。
具体配置步骤
1. 识别目标区域的服务前缀列表
针对你EKS集群所在的AWS区域,找到以下核心服务的前缀列表:
- S3服务:前缀列表名称格式为
com.amazonaws.<你的区域>.s3 - ECR服务:需要同时包含两个前缀列表:
- ECR API接口:
com.amazonaws.<你的区域>.ecr.api - ECR镜像拉取/推送:
com.amazonaws.<你的区域>.ecr.dkr
- ECR API接口:
2. 在安全组/网络ACL中添加允许规则
- 安全组配置:在EKS工作节点的安全组中,添加出站规则,协议选
TCP,端口443,目标选择上述前缀列表(而非手动输入CIDR)。 - 网络ACL配置:如果用网络ACL做更细粒度的控制,同样添加出站允许规则,协议
TCP,端口443,目标填写前缀列表ID。
3. (可选)使用VPC终端节点进一步优化
如果希望流量完全在AWS内网传输(不通过公网出口),可以为S3和ECR创建VPC终端节点:
- S3网关终端节点:关联到工作节点所在的子网,此时工作节点访问S3的流量会走内网,无需公网出口。
- ECR接口终端节点:同样关联子网,配置安全组允许工作节点访问该终端节点。
这种情况下,安全组只需允许工作节点到终端节点的流量,无需再配置公网前缀列表。
若必须使用CIDR块(不推荐)
如果因特殊需求必须用固定CIDR,可以通过以下方式获取对应范围:
- 下载AWS官方IP范围文件:
curl https://ip-ranges.amazonaws.com/ip-ranges.json - 过滤目标服务的CIDR:
- 针对S3:筛选
service为S3且region匹配你的集群区域的ip_prefix字段 - 针对ECR:筛选
service为ECR和ECR_DKR且region匹配的ip_prefix字段
- 针对S3:筛选
注意:这种方式需要定期手动更新CIDR块,否则可能因AWS IP范围调整导致服务中断。
内容的提问来源于stack exchange,提问作者michalprzybylik
相关产品推荐
相关产品推荐

