我可以在 VPC 中将 SNS 订阅与内部 ALB 端点一起使用吗?
Posted
技术标签:
【中文标题】我可以在 VPC 中将 SNS 订阅与内部 ALB 端点一起使用吗?【英文标题】:Can I use SNS subscription with internal ALB endpoint within the VPC? 【发布时间】:2019-10-14 17:36:47 【问题描述】:我有一个使用 HTTP 订阅的 SNS,端点是一个应用程序负载均衡器,它被创建为 VPC 内的内部 ALB。
为了让 SNS 调用端点,我必须让端点公开可用,我不能只为 SNS 公开端点,因为我的其他用例正在 VPC 中得到解决。
有没有更好的方法来创建订阅而无需公开端点。
我现在已经公开了端点,但不能永远保持不变
有没有更好的方法来创建订阅而无需公开端点。
【问题讨论】:
【参考方案1】:一种可能的解决方案是订阅 Lambda 函数(部署在您的 VPC 中)以将请求代理到您的内部 ALB。
请参阅Using AWS Lambda with Amazon SNS,了解您的函数将接收的事件示例。
请注意,无法像使用 HTTP/HTTPS 端点那样配置自定义 Delivery Retry Policies。相反,您将拥有基本的AWS Lambda Retry Behavior。
【讨论】:
AWS Lambda 如果部署在 VPC 中,如果需要额外的时间来分配 IP,即 ENI 连接时间在冷启动中可能需要几秒钟......这将进一步增加服务响应的延迟 您可以通过定期调用 Lambda 函数(CloudWatch 事件)来保持它的温暖。以上是关于我可以在 VPC 中将 SNS 订阅与内部 ALB 端点一起使用吗?的主要内容,如果未能解决你的问题,请参考以下文章