通过 AWS Lambda 函数访问 EC2 实例服务

Aka*_*thi 2 amazon-s3 amazon-ec2 amazon-web-services aws-lambda

我有一个只有私有 IP 的 EC2 实例,并且我在 say 上运行的同一个实例上安装了 Apache Kafka 10.0.4.44:9092。现在,我创建了 AWS Lambda 函数,它从给定的 Bucket 读取文档并将文档正文发送到在 EC2 实例上运行的 Apache Kafka。

现在,AWS Lambda 无法访问 EC2 实例服务。

如何授予 Lambda 访问权限以访问 EC2 上的 Apache kafka 服务?

Mar*_*k B 5

您需要将 Lambda 函数添​​加到运行 EC2 服务器的 VPC。这是 Lambda VPC 支持的公告博客文章,其中包含设置步骤。这是官方文档

VPC 中的 Lambda 函数不会获得公共 IP 地址。这意味着它将无法访问 VPC 之外的任何内容。由于您还需要访问 S3,因此您需要设置一个 S3 VPC 端点,以便您的函数仍然可以访问 S3。

如果您的函数需要访问 VPC 之外的其他事物,那么您必须将其添加到连接了 NAT 网关的 VPC 的私有子网中。