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

时间:2017-11-06 11:12:01

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

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

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

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

1 个答案:

答案 0 :(得分:4)

您需要将Lambda函数添加到EC2服务器正在运行的VPC中。这是Lambda VPC支持的announcement博客文章,其中包含用于设置的内容。这是official documentation

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

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