首页 > 解决方案 > AWS lambda 放入私有子网后无法访问 DynamoDB?

问题描述

正如标题所示,我将我的 Lambda 函数放在私有子网中,现在它在扫描数据库时无法访问或超时。在此之前,它可以访问和扫描数据库。我应该怎么办?

标签: amazon-web-servicesaws-lambdaamazon-dynamodb

解决方案


您的 DynamoDB 资源不在您的 VPC 中。由于您已将 Lambda 函数配置为连接到您的 VPC,因此您需要设置 NAT 网关或 NAT 实例以允许您的私有资源访问 Internet。正如文档所述:

AWS Lambda 使用您提供的 VPC 信息来设置 ENI,以允许您的 Lambda 函数访问 VPC 资源。每个 ENI 都从您指定的子网的 IP 地址范围内分配了一个私有 IP 地址,但没有分配任何公共 IP 地址。因此,如果您的 Lambda 函数需要 Internet 访问(例如,访问没有 VPC 终端节点的 AWS 服务),您可以在 VPC 内配置 NAT 实例,也可以使用 Amazon VPC NAT 网关。您不能使用连接到您的 VPC 的 Internet 网关,因为这要求 ENI 具有公共 IP 地址。

AWS Lambda 文档


推荐阅读