附加到 Lambda 函数的 VPC 问题
Issue with VPC attached to Lambda function
我有一个 Lambda 函数,它连接到外部数据库 (运行 MySQL) 并在从数据库中获取数据后发送 SNS 电子邮件。
我创建了一个带有 NAT 网关、2 个子网和一个允许所有传入和传出流量的安全组的 VPC。创建一个 VPC 以附加到我的 Lambda 函数的原因是我需要一个弹性 IP,因为 MySQL 需要授权所有尝试连接的外部 IP。
没有 VPC,我的代码工作正常,从数据库获取数据并毫无问题地发送 SNS 电子邮件。但是,在将 VPC 添加到 Lambda 函数时,MySQL 查询均不起作用,SNS 也不会发送任何电子邮件。
我在 CloudWatch Logs 中没有收到任何错误,也没有收到任何可能导致问题的指示。有人知道是什么原因造成的吗?
要使 AWS Lambda 函数能够访问互联网,需要其中一个选项:
- 不要 select VPC。 该函数将直接连接到 Internet,但与您的需求相反,您将没有关联的弹性 IP 地址有了它。
- 将 Lambda 函数连接到 私有子网 并使用 NAT 网关 连接到互联网。 Lambda 函数将显示为来自 NAT 网关的 IP 地址。
- 将 Lambda 函数连接到 public 子网并将弹性 IP 地址 关联到弹性网络接口 (ENI ) Lambda 函数连接到子网的位置。 Internet 流量将显示为来自弹性 IP 地址。
我有一个 Lambda 函数,它连接到外部数据库 (运行 MySQL) 并在从数据库中获取数据后发送 SNS 电子邮件。
我创建了一个带有 NAT 网关、2 个子网和一个允许所有传入和传出流量的安全组的 VPC。创建一个 VPC 以附加到我的 Lambda 函数的原因是我需要一个弹性 IP,因为 MySQL 需要授权所有尝试连接的外部 IP。
没有 VPC,我的代码工作正常,从数据库获取数据并毫无问题地发送 SNS 电子邮件。但是,在将 VPC 添加到 Lambda 函数时,MySQL 查询均不起作用,SNS 也不会发送任何电子邮件。
我在 CloudWatch Logs 中没有收到任何错误,也没有收到任何可能导致问题的指示。有人知道是什么原因造成的吗?
要使 AWS Lambda 函数能够访问互联网,需要其中一个选项:
- 不要 select VPC。 该函数将直接连接到 Internet,但与您的需求相反,您将没有关联的弹性 IP 地址有了它。
- 将 Lambda 函数连接到 私有子网 并使用 NAT 网关 连接到互联网。 Lambda 函数将显示为来自 NAT 网关的 IP 地址。
- 将 Lambda 函数连接到 public 子网并将弹性 IP 地址 关联到弹性网络接口 (ENI ) Lambda 函数连接到子网的位置。 Internet 流量将显示为来自弹性 IP 地址。