在云环境中,“私有”的含义不明确。事实上,在你的 VPC 中有一个 VM,没有公共 IP,你无法直接访问 BigQuery,因为 API http://bigquery.googleapis.com 是公共的,你需要公开解析它。
但是,您可以在子网级别选择通过私有/专用通道路由众所周知的 Google 网址。当您编辑 VPC 时,它被命名为 Private Google Access
像这样,流量保持在内部。私人的??嗯,什么是私人的?如果私有意味着在您的私有寻址计划中,则不是,因为 BigQuery 不在您的项目中,它在其他地方,它是无服务器的!
但是,流量保留在 Google Cloud 内部。够你用吗?
而且在任何情况下,流量都是加密的 (HTTPS),即使它在 Internet 上传输,它也是保密的;这只是延迟问题,而不是安全问题。
Cloud Function 和 Cloud Run 也是如此。如果您希望通过您的 VPC,您需要一个带有 egress control set to ALL 的无服务器 VPC 连接器来路由所有流量,即使是 BigQuery 的这个流量。然后,到达 BigQuery。
如果您不这样做,流量会从 Google Cloud 的无服务器世界离开 Cloud Run/Cloud Functions,然后到达 Google Cloud 的无服务器世界中的 BigQuery。与无服务器 VPC 连接器相比,它更多或更少是内部的吗?不确定。
我们从更高的角度来看,当您在互联网上在线支付时,HTTPS 就足够了。创建 VPN 隧道时,它类似于 HTTPS 功能。 BigQuery 请求有什么不同?
最后真正的问题是为什么你需要确保它是私有的?你有什么要求?你的恐惧?
编辑 1
根据您的评论,您的音乐会是为了改善您访问 BigQuery 时的延迟。但我不确定你的用例和阻塞点
BigQuery 是一个分析数据库,每个查询的不可压缩预热时间在 500 毫秒到 1 秒之间。然后,查询运行。
如果你搜索最佳网络路径,在默认的谷歌路由策略不是最好的情况下,你会节省几毫秒,在谷歌比特网络中大约是 5 或 10 毫秒。
节省 1% 的延迟真的值得关注吗?
如果您关心的是流写入,同样的事情。当查询它们需要至少 1 秒时,您的实时数据是否需要加快 10 毫秒?这样做有什么好处?