Google Cloud是否为其Compute实例提供公共主机名?
对于其EC2实例,AWS似乎generate public hostnames:
公用(外部)DNS主机名的格式为us2-east-1区域为ec2-public-ipv4-address.compute-1.amazonaws.com,以及ec2-public-ipv4-address.region.compute。其他地区的amazonaws.com。我们将公共DNS主机名解析为实例网络外部实例的公共IPv4地址...
类似的问题:
This似乎是一个类似的问题,但是(1)设置DNS似乎有点过头,(2)似乎无论如何我都需要在Google Cloud之外做一些事情,或者它不是公共的(不确定),以及(3)它可能已过时(2014)。
答案 0 :(得分:3)
否,GCE不提供实例的主机名。它确实为每个实例分配了外部IP地址。将DNS记录与您的实例相关联是生成主机名的唯一方法。
GCE确实在同一网络中内置了专用主机名。例如,同一VPC中的两个实例可以按名称彼此ping通
Instance 'test-instance': start server on :8080
Instance 'second-instance': curl test-instance:8080
// Response 'Hello World'
答案 1 :(得分:1)
不。来源:FridayPush's answer(感谢他的个人资料,似乎值得信任Google-Cloud:-))。
我写一个单独答案的原因是要明确您不能完全通过Google Cloud获得公共主机名。您可以完全通过Google Cloud获得内部主机名,或者需要在Google Cloud之外进行其他操作(例如,拥有域名)以拥有公共主机名。
答案 2 :(得分:0)
GCE实例当前没有用于其外部IP地址的公共DNS名称。但是现在有一个gcloud compute config-ssh
(docs)命令可以很好地替代。
这会将Host
块插入到您的~/.ssh/config
文件中,其中包含主机密钥的IP地址和配置。
尽管这仅对SSH(以及基于SSH的应用程序(如Mosh和git + ssh)有用),但与DNS相比确实具有一些优势:
没有与DNS一样的缓存/传播延迟
它会预先填充正确的主机密钥,并且即使临时IP地址发生更改,也会以正确的方式检查主机密钥。
示例:
$ gcloud compute config-ssh
...
$ ssh myhost.us-west1-b.surly-koala-232