Node.js 我可以更改我的AWS Lambda';每个请求都有公共IP吗?

Node.js 我可以更改我的AWS Lambda';每个请求都有公共IP吗?,node.js,amazon-web-services,lambda,Node.js,Amazon Web Services,Lambda,我希望每次提出请求时都能获得一个新的公共IP。是否有可能故意触发我的IP重新设置 默认情况下,根据您的配置,将从VPC中一个或多个子网内的专用IP调用Lambda函数。它没有配置公共IP#;他们被分配了私人IP 如果要求为Lambda函数分配一个公共IP号,则需要提供internet访问,从而提供一个公共IP。然后,Lambda流量将归属于NAT网关/实例的公共IP地址 弹性IP地址已分配给给定的IP地址,但无法重新分配-它是静态的。所以NAT网关不能满足您的需要 你将不得不使用一种新的方法。然

我希望每次提出请求时都能获得一个新的公共IP。是否有可能故意触发我的IP重新设置

默认情况下,根据您的配置,将从VPC中一个或多个子网内的专用IP调用Lambda函数。它没有配置公共IP#;他们被分配了私人IP

如果要求为Lambda函数分配一个公共IP号,则需要提供internet访问,从而提供一个公共IP。然后,Lambda流量将归属于NAT网关/实例的公共IP地址

弹性IP地址已分配给给定的IP地址,但无法重新分配-它是静态的。所以NAT网关不能满足您的需要

你将不得不使用一种新的方法。然后,Lambda函数需要在每个请求结束时终止/启动NAT实例。这将导致EC2为您的NAT实例分配一个新的公共IP——假设它启动的子网配置为启动时自动分配IP

因此,您必须在每次请求后重新启动NAT实例,以便为其分配新的IP此过程允许每次将每个请求归于新的公共IP。

请注意,在NAT实例启动/终止阶段,Lambda函数将无法访问internet。可以考虑使用简单队列服务对lambda函数进行排队,以防止对NAT实例的争用。
扩展也将成为一个问题,因为函数都要求NAT实例可用于每次调用。如果正常运行时间和可用性是一个问题,您可以选择NAT服务级别。

来自AWS lambda开发者指南:“默认情况下,lambda在安全的VPC中运行您的功能,可以访问AWS服务和互联网。VPC归lambda所有,不连接到您帐户的默认VPC。”例如,我仅在需要静态IP用于防火墙上的白名单访问时才使用NAT网关方法

我认为那是不可能的。。因为他们的IPv4地址用完了。如果可能的话,你可以请求政府的支持。我只知道你必须重新启动你的服务器才能得到一个新的IP。AWS Lambda首先有一个公共IP吗?