Google会为Google Compute Engine实例发布DNS记录吗?

时间:2014-09-18 21:23:02

标签: google-compute-engine

我在Google Compute Engine上运行偶尔启动的服务器。我不想支付静态IP地址,只是在实例运行时使用临时IP地址。 GCE是否会向DNS发布从实例名称到我可以使用的短暂IP或CNAME到的映射?例如。像instancename.projectname.googlecompute.com这样的TTL足够低,可以在启动后很快解决它指向我实例的IP地址?

我在文档中找不到这样的内容,但如果它不存在,我会感到非常惊讶。

2 个答案:

答案 0 :(得分:3)

是的,通过DNS名称访问您的实例的唯一方法是自己创建DNS条目,例如指向静态IP地址的静态A记录或指向您的短暂地址的动态DNS条目(这是我为我的实例做了什么。)

计算引擎不像App Engine那样提供预定义的主机名,指向 app_name .appspot.com。

我的DNS提供商freedns.afraid.org使DDNS变得相当简单。对于要命名的主机,创建一个静态A记录,然后单击DDNS链接,它会为您提供一个wget或curl命令行,以便从VM实例上的cron作业运行。

但是还有很多其他DNS提供商可以做类似的事情。

答案 1 :(得分:2)

鉴于实际问题的答案是否定的,这个答案可能仍然有助于那些能够通过脚本获取ip adddress而不需要手动查找它的人。

如果安装并设置了gcloud命令,则可以使用相当长的参数列表输出正在运行的实例的IP地址。要轻松显示当前分配的地址,请将以下函数添加到shell初始化文件中:

get_gce_ip()
{
  local instance="${1%%.*}"
  gcloud compute instances list --filter="$instance" \
      --format='value(networkInterfaces[0].accessConfigs[0].natIP)'
}

使用该功能,只需将这两行添加到.ssh / config

,就可以使用ssh instancename.googl方便地访问任何主机
Host *.googl
  ProxyCommand nc `get_gce_ip "%h"` %p

显然,这些并不是DNS条目的完全替代品,但在某些情况下,它们可能有所帮助。