google-cloud-platform - 通过内部 IP 地址从 Google Cloud Function 访问 VM 实例
问题描述
我有一个在内部 ip 10.132.0.3 上运行 Redis 的 VM 实例,它的外部 ip 是 35.233.12.123 我想从谷歌云功能连接到它。但是没有通过内部 ip 连接,而通过外部 ip 连接有效。据我了解,谷歌的云功能无法通过内部 IP 地址访问 VPC 网络和我在其中的实例。所以问题是:
是否可以通过云功能的内部 ip 以某种方式访问 VM 实例?
外部 ip 属于谷歌,所以我想无论如何流量都不应该离开谷歌的数据中心。那么如果在我的情况下使用外部IP,这会对连接速度产生影响吗?流量是否会被计费为外部流量?通过外部 ip 连接到我的 Redis VM 实例有什么缺点?
解决方案
- 是否可以通过云功能的内部 ip 以某种方式访问 VM 实例?
Google 已宣布alpha
可以使用 VPC 私有 IP 地址从 Cloud Functions 连接到 Compute Engine。你需要在这里注册。
否则,您将需要使用从 Cloud Functions 到 Compute Engine 的公共 IP 地址。
- 外部 ip 属于谷歌,所以我想无论如何流量都不应该离开谷歌的数据中心。
此问题的答案取决于 Cloud Function 在哪个区域执行以及在您的计算实例上启用的网络类型(标准层或高级层)。同一区域内的流量always
通过 Premium Tier 传输,这意味着 Google 的私有骨干网。
高级层将通过 Google 的骨干网将流量路由到离客户端最近的出口点(云功能)。这意味着您的流量将停留在 Google 的主干上。
标准层不在 Google 的主干上运行 - 但是,我找不到使用标准层的区域之间的 Google 流量的权威参考。我的理解是,使用标准层的区域到区域的流量是通过公共 Internet 进行的。
那么如果在我的情况下使用外部IP,这会对连接速度产生影响吗?
Internet 和 Intranet 的流量性能受许多因素的影响。Premium Tier 流量是一个配置良好、低延迟、高度可靠的全球网络。这表明性能更高。
流量是否会被计费为外部流量?
我不是 100% 肯定,但我相信所有离开一个区域的流量都被计为外部流量。
通过外部 ip 连接到我的 Redis VM 实例有什么缺点?
缺点是数据的安全性。所有流量都应该加密,恕我直言,无一例外。
推荐阅读
- ios - 如何使用 Swift 5 从 iOS13 的后台应用程序中获取活动应用程序的名称?
- reactjs - ReactJS - 无需更改多个组件之间的 URL 切换
- ruby-on-rails - rails 6 app 测试为绿色,但在生产中出现奇怪的效果:LoadError(无法加载此类文件——rb-readline)
- api - 在 asp.net core 3.0 中配置 NServiceBus 版本 7.1.x 的最佳方式
- java - Android Studio 中的多个“重复类”错误
- flutter - 获取使用 sharedPreferences 存储到小部件的值的正确方法是什么?
- c# - 将列表加入字符串
- android - Android9,如何保持上传位置?
- python - 如何更新我的设置以使用 Django 的部分功能?
- couchbase - 如何以特定格式获取 n1ql 查询响应?