如何通过域显示Google Compute Cloud应用程序而不仅仅是原始IP地址?

时间:2016-03-29 22:27:49

标签: dns google-compute-engine google-cloud-platform google-cloud-dns

我使用谷歌计算云部署了一个应用程序,从原始的短暂IP地址可以看到...如何将这个短暂的IP链接到我的域?

为了方便起见,我在Google Domains

注册了域名(mydomain.org)

我在托管区域添加了类型A记录集:

gcloud dns managed-zones describe  myzone


creationTime: '2016-03-28T23:05:31.385Z'
description: just another zone
dnsName: mydomain.org.
id: '2379583277824599330'
kind: dns#managedZone
name: myzone
nameServers:
- ns-cloud-e1.googledomains.com.
- ns-cloud-e2.googledomains.com.
- ns-cloud-e3.googledomains.com.
- ns-cloud-e4.googledomains.com.

从这里你可以看到原始IP(111.222.333.444),其中可以看到应用程序

gcloud dns record-sets list  --zone myzone 

NAME                       TYPE  TTL  DATA
mydomain.org.  A     5    111.222.333.444
mydomain.org.  NS    6    ns-cloud-e1.googledomains.com., ns-cloud-e2.googledomains.com., ns-cloud-e3.googledomains.com., ns-cloud-e4.googledomains.com.
mydomain.org.  SOA   6    ns-cloud-e1.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 1209600 300

当我做的时候

curl mydomain.org

它只是响应(类似于浏览器)

curl: (6) Could not resolve host: mydomain.org

然后使用原始IP正确连接到云应用程序

curl 111.222.333.444

这里我展示了一些命令行DNS查找

nslookup mydomain.org ns-cloud-e1.googledomains.com.

输出

Server:     ns-cloud-e1.googledomains.com.
Address:    216.239.32.110#53

Name:   mydomain.org
Address: 111.222.333.444

我错过了什么?我失踪的gcloud dns命令是什么?该过程将是:将app部署到临时IP - >发出未知命令将此IP链接到域...我希望能够在我的应用程序仍在开发中的每次部署(一个新的短暂IP)之后发出这个...我不想要静态IP

我使用命令行工具gcloud和kubectl部署了应用程序,因此它的Google Compute(IaaS)应用程序不是Google App Engine(PaaS)应用程序

我几天前做了域名注册,因此域名已经传播

2 个答案:

答案 0 :(得分:1)

由于Cloud DNS名称服务器似乎很乐​​意解析域名,因此我会仔细检查Cloud DNS是否实际设置为您域名的名称服务器:

$ dig NS mydomain.org.

答案 1 :(得分:0)

这是一般适用于托管服务提供商的解决方案。它涉及在您创建域(域名注册商)的位置和部署应用程序的位置之间来回切换:

  • 在您的域名注册商处创建您的域名...忽略其名称服务器列表...您将使用新的 列表
  • 无论您在何处部署应用,都可以提供定义某种DNS托管区域的功能...为您的域创建一个新区域,该区域将自动填充新的 列表 名称服务器...复制此 列表
  • 返回您的域名注册商,并使用 列表
  • 更新您的域名(记录类型NS)的名称服务器
  • 部署您的应用,这将显示一个全新的IP
  • 进入DNS托管区域并使用此新IP更新您的A类记录