You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置内部经典负载均衡器托管的应用访问AWS SNS服务

EKS集群切换内部负载均衡后无法访问SNS的配置方案

根因说明

切换为内部负载均衡后,通常会将应用部署在VPC私有子网中,节点/Pod不再持有公网IP,无法直接访问SNS的公网服务端点,可通过以下两种方案解决:


方案一:配置SNS VPC接口端点(推荐,内网访问更安全)

该方案无需开通公网出口,所有SNS访问流量均走AWS内部网络,符合安全合规要求:

  • 登录AWS VPC控制台,在EKS集群所在的VPC中创建接口类型的VPC端点
    • 选择对应区域的com.amazonaws.<区域名>.sns服务,<区域名>替换为你实际部署的AWS区域,例如us-east-1、cn-north-1
    • 端点绑定EKS工作节点所在的所有私有子网,关联的安全组需开放443端口入站,允许EKS节点/Pod的CIDR段访问
    • 务必开启端点的「私有DNS名称」选项,开启后SNS公有域名会自动解析到VPC内部的端点IP,无需修改现有应用的SNS调用配置
  • 进入EKS集群的任意业务Pod内,执行命令nslookup sns.<区域名>.amazonaws.com验证解析结果,确认返回的是VPC内部的私有IP而非公网IP
  • 确认EKS Pod关联的IAM权限(IRSA角色或工作节点IAM角色)保留了SNS相关操作权限,例如sns:Publish、sns:Subscribe等

方案二:配置NAT网关实现公网访问

如果业务允许SNS访问流量走公网出口,可通过NAT网关实现私有子网资源访问公网:

  • 在VPC的公有子网中部署NAT网关,为网关绑定弹性公网IP(EIP)
  • 修改EKS工作节点所在私有子网的路由表,添加0.0.0.0/0的公网路由,下一跳指向刚创建的NAT网关
  • 确认NAT网关关联的安全组、VPC网络ACL没有拦截443端口的出站流量

额外排查项

  • 确认EKS工作节点的安全组出站规则开放了443端口访问,没有拦截SNS相关流量
  • 确认VPC网络ACL没有拒绝私有子网到SNS端点的出站、回程流量
  • 若使用SNS FIFO主题,无需额外调整VPC端点配置,普通接口端点即可兼容

内容的提问来源于stack exchange,提问作者Bala krishna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 02:54:01