【问题标题】:Access EC2 Instance Service Via AWS Lambda Function通过 AWS Lambda 函数访问 EC2 实例服务
【发布时间】:2018-04-18 12:55:11
【问题描述】:

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

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

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

【问题讨论】:

  • 添加到同一个VPC
  • 将 Lambda 添加到 VPC?该怎么做?

标签: amazon-web-services amazon-s3 amazon-ec2 aws-lambda


【解决方案1】:

您需要将 Lambda 函数添​​加到运行 EC2 服务器的 VPC。这是 Lambda VPC 支持的 announcement 博客文章,其中包含设置它的演练。这是official documentation

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

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

【讨论】:

    最近更新 更多