google-cloud-platform - 我可以在不保留外部 IP 的情况下将我的 VM 公开吗?
问题描述
我想让我的谷歌云虚拟机向公众开放,而不像 App Engine 那样保留外部 IP。一些随机的名称 - 数字地址将是完美的。
我检查了谷歌文档,它所建议的只是对 VM 使用外部 IP。
没有代码
我希望使用其他一些谷歌服务(不配置任何后端或前端,因为它由 VM 覆盖)或 VM 配置。
解决方案
创建 VM 时,默认情况下,您有一个临时的外部 IP,免费且未保留。但是,当您的 VM 重新启动时,IP 将发生变化。虚拟机可以手动重启,也可以自动重启。因此,如果一个永恒服务知道一个 IP,它必须用新的更新。并且由于您无法管理 VM 何时重新启动,因此对于生产环境来说它是不可靠的。
您还谈到了名称,我猜您的意思是 DNS。它存在于内部(您的 VPC 中的内部 DNS 用于通过其内部名称访问您的 VM),但不存在于外部。您必须使用 IP 配置自己的 DNS。但是,如前所述,IP 可以随时更改...
然而,解决方案是存在的。
最简单和最便宜的:保留一个 IP 地址。连接到正在运行的 VM 时,它是免费的。如果您的虚拟机停止,您必须支付保留的 IP。
您还可以在您的虚拟机前面定义一个负载均衡器,这将成为您的后端。负载均衡器花费一点,但可以直接将流路由到您的 VM,即使没有具有外部 IP 的 VM。仅暴露负载均衡器的 IP(并且您拥有 ddos 攻击、防火墙等的所有保护...)
推荐阅读
- javascript - 参照父对象展平嵌套对象
- android - 任务':app:transformClassesWithDesugarForRelease'的离子执行失败
- c++ - 模板类的工厂方法
- android - 房间数据库和 Glide 插件之间的 Gradle 多模块 annotationProcessor 编译问题
- javascript - 如何将字符串转换为 HTML 标签
- angular - 将表单值修改为用户类型
- java - Java 8 - 基于特定顺序的自定义排序
- python - count numpy 二维数组计数
- python - 如何从熊猫数据框中获取单个值作为字符串
- virtual-machine - 将 Google Cloud Platform 上的 Google Compute Engine VM 移动到另一个区域时出现状态终止错误