Leo*_*ley 5 google-cloud-platform google-cloud-functions
我正在为我的公司构建一个数据摄取层,在那里我有很多不同的集成点(rest apis)。
某些 API 要求您从列入白名单的 IP 进行连接。
我真的很想使用谷歌云函数/发布订阅来构建摄取逻辑,因为它具有可扩展性和降低的成本。
但问题是谷歌云函数总是从随机 ip 连接,我们对此无能为力,正如在这个问题中所回答的:可能获得谷歌云函数的静态 IP 地址?
所以我的问题是:有没有办法代理/nat 云功能,使它们来自一组静态 ips?
现在可以通过为 Cloud Functions 配置网络设置,尤其是Egress Settings 来实现这一点。
取自官方文档:
通过控制台:
通过 gcloud:
gcloud functions deploy FUNCTION_NAME \
--vpc-connector CONNECTOR_NAME \
--egress-settings EGRESS_SETTINGS \
FLAGS...
Run Code Online (Sandbox Code Playgroud)
在哪里:
FUNCTION_NAME是函数的名称。 CONNECTOR_NAME是要使用的无服务器 VPC 访问连接器的名称。有关更多信息,请参阅 gcloud 文档。
注意:如果要更新已有连接器的现有函数的出口设置,则可以省略 --vpc-connector 标志。
EGRESS_SETTINGS是出口设置支持的值之一:请参阅gcloud 文档。
FLAGS ... 指的是您传递给 deploy 命令的其他标志。
根据您希望如何通过连接器路由出站流量,选择适当的出口设置。
在此之后,您只需要
创建云 NAT:
gcloud compute routers nats create nat-config \
--router=nat-router \
--auto-allocate-nat-external-ips \
--nat-all-subnet-ip-ranges \
--enable-logging
Run Code Online (Sandbox Code Playgroud)
指定 IP 地址:
gcloud compute routers nats create nat-config \
--router=nat-router \
--nat-external-ip-pool=ip-address1,ip-address2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2355 次 |
| 最近记录: |