我的aws lambda函数执行时如何选择弹性IP

Fre*_*ver 2 amazon-ec2 amazon-web-services elastic-ip aws-lambda

我想在我的 lambda 函数执行时选择我自己的特定弹性 IP。

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

我已经搜索过了。但旧信息说它不能这样做。但最近我听说可以使用 Network Load Balancer 或 Application Load Balancer。但我不知道如何使用它来解决这个问题。

Joh*_*ein 12

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

嗯,实际上你可以,但我不会推荐它。当 Lambda 函数与 VPC 关联时,它通过弹性网络接口 (ENI) 进行连接。它可能的EIP附加到ENI。如果 Internet 连接到公共子网,这也会授予对 Internet 的访问权限。

那为什么要避免呢?因为 Lambda 可能会创建额外的 ENI,尤其是在频繁调用和并行运行 Lambda 函数的情况下。这意味着它不会有一致的 ENI。

另一种方法是:

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