为什么在VPC中使用aws lambda无法向SNS发送消息?

时间:2016-07-04 15:51:52

标签: amazon-web-services aws-lambda amazon-sns

我的lambda函数可以使用" no VPC"发送消息给SNS发送消息,但是当我将它放入可以通过路由和互联网网关访问公共互联网的VPC时会超时。

被修改

我的公共子网中有我的lambda,其0.0.0.0/0已经路由到Internet网关,因此无法再将其路由到NAT。是否可以将EIP分配给lambda函数

2 个答案:

答案 0 :(得分:11)

您必须向您的VPC添加NAT Gateway,以便Lambda功能(以及您的VPC中没有公共IP的其他内容)访问VPC之外的任何内容。您应该阅读this AWS announcement要知道的事情部分。

答案 1 :(得分:0)

启用VPC后,无法访问外部Internet。因此,当您使用boto3之类的库发送发布到SNS主题的请求时,您的请求将超时。

NAT是一种选择,但更具成本效益的方法是从VPN设置到SNS的接口终结点。您可以转到AWS VPN控制台并创建一个终端节点,然后选择SNS作为服务。

以下是有关如何设置界面端点的更多详细信息:https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint