如何编辑AWS EC2实例的安全组以仅允许访问lambda函数

时间:2016-02-08 09:33:51

标签: aws-lambda aws-security-group

我遇到了与AWS lambda相关的安全问题,但不确定解决此问题的正确方法是什么。

考虑在另一个EC2实例B上访问数据库的EC2实例A.如果我想将实例B上的数据库的可访问性限制为仅限实例A,我将修改安全组并添加自定义TCP规则以允许访问只有实例A的公共IP。因此,AWS会处理所有事情,并且无法从任何其他IP地址访问数据库服务器。

现在让我们用lambda函数替换实例A.由于它不再是实例,因此没有明确的IP地址。那么,我如何限制只访问lambda函数并阻止任何其他流量?

2 个答案:

答案 0 :(得分:2)

让Lambda作业确定其IP,并动态更新实例B安全组,然后在完成后重置安全组。

在支持Lambda running within a VPC之前,这是唯一的选择。对此的支持已于今年晚些时候公布。以下引用来自上面引用的链接。

  

许多AWS客户在Amazon Virtual Private中托管微服务   云,并希望能够从他们的Lambda访问它们   功能。也许他们运行带有查找数据的MongoDB集群,或者   想要将Amazon ElastiCache用作Lambda的有状态商店   功能,但不希望将这些资源暴露给Internet。

     

您很快就可以通过设置访问此类型的资源   目标VPC中的一个或多个安全组,将它们配置为   接受来自Lambda的入站流量,并将它们附加到目标VPC   子网。然后,您需要指定VPC,子网和   创建Lambda函数时的安全组(您也可以   将它们添加到现有函数中)。你还需要给你   功能权限(通过其IAM角色)访问几个EC2   与弹性网络相关的功能。

     

此功能将于今年晚些时候推出。我会有更多信息   (以及演练时)我们发布它。

答案 1 :(得分:0)

我相信以下链接将为您解释lambda权限模型。

http://docs.aws.amazon.com/lambda/latest/dg/intro-permission-model.html