我打算使用Google云函数来访问API。我的目标是使用几个功能,每个功能都有不同的IP地址。我将同时在几个函数中分配处理,然后每个函数都与目标API交互。据我所知,有可能在同一台机器上执行两个单独的功能,这意味着请求将来自IP。为了遵守速率限制,我需要知道每个IP地址将发送多少请求,因此需要确保每个功能都使用单独的IP执行。
我是谷歌云功能的新手,但我已经取得了一些进展。目前,我有一个函数function-1
。该功能使用connector-1
,并通过我默认的VPC网络传递所有出口流量。我遵循了谷歌云提供的将静态IP与我的功能关联起来的指南。因此,我现在有了router-1
,它与我的NAT网关nat-1
相连。最后,nat-1
有一个与其关联的静态IP
此时,function-1
的任何执行都将按预期使用静态IP。然而,我仍在努力理解构建这一体系的正确方式。我有几个问题:
- 对于每个需要自己IP地址的函数,我是否必须复制链中的每个链接
- 我能重复使用这些物品吗?例如,也许所有功能都可以使用同一个VPC网络
- 假设我需要10或20个使用不同IP的功能,有没有更好的方法来构建东西以满足我的需求
答案:
- 我不知道你说的";复制链中的每个链接";,但是,如果你想强制每个CF都有一个静态IP地址,你就必须遵循你共享的步骤
- 可以,您可以重新使用专有网络,并连接一个新的无服务器专有网络连接器。即使在同一地区
- 如果你想为每个CF强制一个不同的静态IP,不,你需要遵循以下步骤
作为提示,您可以使用gcloud compute networks vpc-access connectors create
来自动创建连接器。如果您必须创建许多,它可能会很有用,因为它比使用控制台更快。
如果这个限制不适合您的场景,您应该怀疑这是否是适合您的产品。