AWS中单个VPC Endpoint是否可同时支持多个服务的访问需求?
解决方案结论
你需要为SNS单独创建对应的VPC Endpoint,无法在同一个VPC Endpoint上挂载多个AWS服务,具体配置方案如下:
配置规则说明
每个VPC Endpoint只能对应唯一的AWS服务端点,按照服务类型分为网关型端点(仅支持S3、DynamoDB)和接口型端点(支持SNS、RDS API等其余绝大多数AWS服务),不支持多服务共享同一个端点实例。
你的场景最优配置方案
- 同VPC私有子网数据库访问:如果你的数据库是部署在当前VPC内的资源(EC2自建、RDS托管实例都适用),只需要将Lambda函数配置为部署在同VPC的私有子网内,同时放开Lambda安全组到数据库安全组的对应端口入站规则,直接走VPC内网路由即可互通,不需要额外配置数据库相关的VPC Endpoint。
- SNS服务访问:需要单独创建SNS对应的接口型VPC Endpoint,服务名称选择
com.amazonaws.<你的AWS区域>.sns,将该端点关联到你的两个私有子网,配置端点安全组允许Lambda所在子网的出站流量访问443端口即可。
补充注意事项
- 完成SNS端点配置后,需要确认两点权限配置:
- Lambda执行角色拥有对应SNS主题的
Publish等必要操作权限 - SNS主题的资源策略允许来自该VPC Endpoint的访问请求,避免被默认策略拦截
- Lambda执行角色拥有对应SNS主题的
- 该方案的成本远低于NAT网关,仅按VPC Endpoint的小时占用费和实际处理的数据量计费,无NAT网关的保底带宽费用,适合小流量的服务调用场景。
- 后续如果有其他AWS服务的内网访问需求,每个服务都需要单独创建对应的VPC Endpoint,目前不支持多服务复用。
内容的提问来源于stack exchange,提问作者Monika
相关产品推荐
相关产品推荐

