与 DynamoDB 和公共 API 对话的 Lambda 函数

问题描述 投票:0回答:1

我有一个 lambda 函数,它与 dynamodb 对话,获取记录,然后处理记录并将响应发布到公共 api。当我创建 Lambda 函数时,它没有连接 VPC,并且能够与 dynamodb 通信,但不能与公共 API 通信。当我创建 VPC 并分配其私有子网时,它仍然可以与 dynamodb 通信。我怎样才能让我的 lambda 和 VPC 既能与 dynamodb 又能与公共 API 对话?我是 AWS 新手,如果您需要任何其他信息,请告诉我。

非常感谢您努力阅读该问题。

尝试了不同的选项,但仍然无法在同一个 lamdba 中同时调用 dynamodb 和 api 调用

amazon-web-services aws-lambda amazon-dynamodb
1个回答
0
投票

您没有提及 API 存在的位置,无论您是在 API Gateway、EC2 还是 AWS 外部的其他设备上运行它。

无论如何,同样的方法对所有人都适用。首先,DynamoDB 不是 VPC 服务,它作为 AWS 服务帐户中的 http 端点存在。

因此,您不需要将 Lambda 置于私有子网内即可与 DynamoDB 通信。但是,如果您认为需要在私有子网中使用 Lambda,则您的子网必须具有对 API 的网络访问权限。

通常这将使用 NAT 网关来完成。 NAT 网关是一种网络地址转换 (NAT) 服务。您可以使用 NAT 网关,以便私有子网中的实例可以连接到 VPC 外部的服务,但外部服务无法发起与这些实例的连接。

https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html

© www.soinside.com 2019 - 2024. All rights reserved.