执行AWS Lambda函数时如何选择Elastic IP

时间:2019-04-20 06:57:12

标签: amazon-web-services amazon-ec2 aws-lambda elastic-ip

当我执行lambda函数时,我想选择自己的特定Elastic IP。

我的服务必须根据用户的属性来响应多种情况。 我可以在可以选择特定自己的弹性IP的lambda函数中编写代码吗?

我已经搜索过了。但是旧的信息说它做不到。 但是最近我听说可以通过使用网络负载平衡器或应用程序负载平衡器来实现。 但是我不知道该怎么用。

2 个答案:

答案 0 :(得分:2)

不。您不能将弹性IP(EIP)地址与AWS Lambda函数关联。

嗯,实际上可以,但是我不建议这样做。当Lambda函数与VPC关联时,它通过弹性网络接口(ENI)连接。可以将EIP附加到ENI。如果它连接到公共子网,这还将授予对Internet的访问权限。

那么为什么要避免呢?因为Lambda可能会创建其他ENI,尤其是在Lambda函数经常被调用并并行运行的情况下。这意味着它将没有一致的ENI。

另一种方法是:

  • 将AWS Lambda函数附加到私有子网
  • 在公共子网中放置 NAT网关
  • 将弹性IP地址与NAT网关相关联
  • 从Lambda函数到Internet的所有流量都将来自NAT网关的EIP(但是,我认为您无法更改该EIP)

答案 1 :(得分:0)

看看@John Rotenstein的回复:对于小型系统,如果对同一个Lambda的调用受到限制,则可以在ENI中为Lambda添加EIP-如果您在Lambda前面放置一个队列来处理请求并限制lambda的并发数为1。这比NAT网关(每月节省30美元)便宜。对于较大的系统,这可能不是问题,并且您可能需要多个并发性-在这种情况下,NAT网关是唯一的出路。