我已经购买了几个 Google Cloud Compute Engine 实例。
我通过它的公共IP访问每一个。
Google Cloud 服务中可以有主机名吗?例如 adolf.googlecloud.com、robert.googlecloud.com 等。
当我搜索“Google Cloud DNS”时,我仅找到有关拥有自己的 DNS 服务器和区域的信息。这对我来说太过分了。我只想要 Google Cloud 域内的简单别名,这样我就不必记住 IP。这可能吗?
答案1
据我所知,GCP CE 不提供这样的设施。
如果您想通过名称/别名而不是 IP 从本地计算机访问它们,您可以随时将所需的 IP 和主机名绑定到 hosts 文件中。因此,您将能够通过绑定到其公共 IP 地址的名称连接到您的实例。如果您的操作系统是 GNU/Linux 或类 Unix,您可以使用以下命令:(
echo "111.111.111.111 my.whateveriwant-hostname.tld" | sudo tee -a /etc/hosts
假设这111.111.111.111
是您实例的公共 IP 地址)
如果您需要从其本地网络内的某个实例访问它们,则只需使用其主机名即可。
我希望这个能帮上忙!
答案2
您可以在虚拟机实例中指定自己的主机名。
有两种简单的方法。
- 创建自定义元数据条目主机名,值为 my.hostname.com
然后我在我的 centos 服务器上像这样调用它:
hostname $(curl --silent "http://metadata.google.internal/computeMetadata/v1/instance/attributes/hostname" -H "Metadata-Flavor: Google")
结果是根据您的元数据设置的主机名。
- 通过 Google DHCP 服务分配您的静态内部 IP
我在“/etc/dhcp/dhclient.d”中创建了一个文件“google_hostname.sh”(使用 CentOS),该文件的内容如下:
#!/bin/bash
google_hostname_config() {
google_set_hostname
}
google_hostname_restore() {
:
}
结果是,当 Google 在您重启时分配您的临时内部 IP 时,它也会执行主机名。
更多信息:以下内容文章解释说,“主机名”是默认元数据条目的一部分,无法手动编辑任何默认元数据对。因此,每次系统重新启动时,您都需要使用脚本或其他东西来更改主机名,否则它将在每次重新启动时自动与元数据服务器重新同步。