什么ip AWS lambda函数使用?

what ip AWS lambda function use?

我不太擅长网络,但这是我的问题:我需要从位于防火墙后面的 AWS lambda 函数连接到 MySQL 服务器,然后连接到 'white' 我的 AWS lambda 我需要知道它使用什么 IP。

据我了解,它因 VPC 子网而异。对吗,如果我的 VPC 子网 CIDR 是 172.31.16.0/20,IP 可能会从 172.31.16.0 到 172.31.16.254 不等?

172.31.16.0/20 中的 IP 地址是私有的、不可路由的地址。除非您的 MySQL 服务器和防火墙位于同一 VPC 中,否则您的 Lambda 将只能通过 NAT 进行连接,并将使用附加到 NAT 网关的弹性 IP。这是您需要加入白名单的唯一 IP 地址。

顺便说一下,对于 172.31.16.0/20 的 CIDR,您可以预期 IP 地址从 172.31.16.0 到 172.31.31.255。 20 是掩码位数,它给出了 4096 个值的范围。它映射到网络掩码 255.255.240.0.

您有一个不在 AWS 基础设施上的 MySQL 实例。您希望通过 Lambda 函数的 IP 将对 MySQL 实例的访问限制为您的本地实例。您只能使用本地防火墙来保护实例。

由于您的用例需要通过互联网从 Lambda 访问 public 互联网上的 MySQL 实例,因此您需要配置 NAT gateway for your Lambda function to access the internet.:

if your Lambda function requires Internet access..., you can configure a NAT instance inside your VPC or you can use the Amazon VPC NAT gateway. For more information, see NAT Gateways in the Amazon VPC User Guide.

使用 NAT 网关配置允许您的 Lambda 请求来自 NAT 网关的固定 IP。如果您在此处将弹性 IP 编号分配给 NAT 网关,则可以在防火墙上指定 IP/port 组合,以保护对本地 SQL 实例的访问。