我正在为我的公司建立一个数据提取层,在那里我有很多不同的集成点(其余api)。
某些API要求您从列入白名单的IP连接。
由于它的可扩展性和降低的成本,我真的很想使用google cloud功能/ pubsub来构建提取逻辑。
但是问题是,谷歌云功能总是从随机ips连接,对此我们无能为力,对此问题的回答是:Possible to get static IP address for Google Cloud Functions?
所以我的问题是:是否可以通过代理/ nat云功能来使它们来自一组静态ip?
答案 0 :(得分:3)
现在可以通过为Cloud Functions特别是Egress Settings配置网络设置来实现。
摘自官方Docs:
通过控制台:
通过gcloud:
gcloud functions deploy FUNCTION_NAME \
--vpc-connector CONNECTOR_NAME \
--egress-settings EGRESS_SETTINGS \
FLAGS...
其中:
FUNCTION_NAME 是您的函数的名称。 CONNECTOR_NAME 是要使用的无服务器VPC访问连接器的名称。有关更多信息,请参见gcloud文档。
注意:如果要更新出口,则可以省略--vpc-connector标志 已有连接器的现有功能上的设置。
EGRESS_SETTINGS 是出口设置支持的值之一:请参见gcloud documentation。
标志 ...是指您传递给deploy命令的其他标志。
根据您希望通过连接器路由出站流量的方式选择适当的出口设置。
此后,您只需要
创建云NAT:
gcloud compute routers nats create nat-config \
--router=nat-router \
--auto-allocate-nat-external-ips \
--nat-all-subnet-ip-ranges \
--enable-logging
指定IP地址:
gcloud compute routers nats create nat-config \
--router=nat-router \
--nat-external-ip-pool=ip-address1,ip-address2
答案 1 :(得分:0)
正如@Murtaza Kanchwala提到的那样,不可能使用代理/ NAT云功能,以便它们将来自一组静态IP。但是,由于这将是一个不错的功能,因此我打开了一个feature request来实现该功能。有关所有其他更新,请参阅请求本身,因为所有更新都将发布在此处。