我希望每次提出请求时都能获得一个新的公共 IP。是否可以有目的地触发我的 IP 被重新配置?
默认情况下,根据您的配置,从 VPC 中一个或多个子网内的私有 IP 调用 Lambda 函数。未配置公共IP#;他们被分配了私有IP。
如果要求为 Lambda 函数分配一个公共IP号码,你需要配置 NAT 网关或 NAT 实例 https://stackoverflow.com/questions/37706095/what-ip-aws-lambda-function-use提供互联网访问,从而提供公共 IP。然后,Lambda 流量将归因于 NAT 网关/实例的公共 IP 地址。
弹性IP地址是根据给定的IP地址分配的NAT网关 http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html但它不能被重新分配——它是静态的。因此 NAT 网关无法满足您的目的。
你必须使用NAT实例 http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html。然后,Lambda 函数需要在每个请求结束时终止/启动 NAT 实例。这将导致 EC2 为您的 NAT 实例分配一个新的公共 IP - 假设它启动的子网配置为在启动时自动分配 IP#。
鉴于此,您必须在每次请求后重新启动 NAT 实例,以便为其分配新的 IP#。此过程将允许每次将每个请求归因于一个新的公共 IP#。
请注意,在 NAT 实例启动/终止阶段,您的 Lambda 函数将无法访问互联网。您可以考虑使用简单队列服务对 Lambda 函数进行排队,以防止对 NAT 实例的争用。
扩展也将成为一个问题,因为这些功能都需要 NAT 实例可用于每次调用。如果正常运行时间和可用性是一个问题,您需要实施 HA 解决方案 https://aws.amazon.com/articles/2781451301784570在 NAT 服务级别。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)