首页 > 解决方案 > 私有链接是否适用于 lambda 函数?

问题描述

我有一个 ECS fargate 容器在无法访问 Internet 的私有 VPC 中运行。它需要通过 AWS SDK 调用 lambda。根据我的理解,AWS 为 lambda 创建了一个默认的公共端点,当我调用invokeLambda方法时,流量将始终流向互联网。如果我的理解是正确的,那意味着我的 Fargate 容器将无法调用 lambda。这样对吗?

如果是正确的,替代解决方案是什么?目标是流量不会进入互联网。

标签: amazon-web-servicesaws-lambdaaws-api-gateway

解决方案


如果我的理解是正确的,那意味着我的 Fargate 容器将无法调用 lambda。这样对吗?

是的。如果没有 NAT 网关或实例,您将无法直接从私有子网调用 lambda 函数。

我可以为我的 lambda 创建一个私有链接端点吗?

可悲的是没有。lambda 没有 VPC 接口终端节点。

或者使用连接到 lambda 的 VPC 端点创建一个 API 网关?

是的,这应该可以通过创建私有 API 网关来实现。私有 API 只能从您的 VPC 中访问。但是lambda 的 API 网关仍然可能会通过互联网

AWS Lambda 白皮书的安全概述写道:

来自 Amazon Kinesis 和 DynamoDB 流、SQS 队列、应用程序负载均衡器和API 网关的调用遵循请求-响应路径

对于请求-响应调用,有效负载从 API 调用者(例如 AWS API Gateway或 AWS 开发工具包)传递到负载均衡器,然后传递到 Lambda 调用服务。此服务识别函数的执行环境,并将有效负载传递到该执行环境以完成调用。负载均衡器的流量通过 Internet传输,并使用 TLS 保护。


推荐阅读