关于 python:如何允许仅从 VPC 内的 EC2 实例调用 AWS Lambda 函数

How to allow invoking an AWS Lambda function only from EC2 instances inside a VPC

我很难理解如何从 VPC 中的 EC2 实例轻松调用我的 lambda 函数。

我想我有一个很常见的问题,但奇怪的是我没有找到任何特定于这个"模式"的东西。

我在 EC2 实例中有一个 Python 应用程序,我想使用 Lambda 函数并行启动繁重的处理函数并保持 EC2 的轻量级。

理想情况下,Lambda 函数只能从 VPC 中调用(只能从我的 EC2 实例中调用)。

我的理解是我必须创建一个 API 网关(或向 Lambda 函数添??加一个 API 端点)但我不明白如何从 EC2 调用此函数(我试图使用 HTTP 请求但没有成功) 以及如何设置权限。

我在函数中使用了一个触发器来设置 API 网关,并且我正在使用相应的请求链接。


除了 API Gateway 之外,还有多种方法可以调用 Lambda 函数。与您的用例最相关的是 Invoke API。如果您使用的是 Boto,您可以在此处找到官方文档和 Boto 库。

此外,正如对该问题的评论中所述,您可以为 EC2 实例分配一个 IAM 角色,以允许它们Invoke 使用 Lambda 函数。