如何使 Google 计算云应用程序从域可见,而不仅仅是原始 IP 地址?

How to make a Google Compute Cloud app visible from a domain not just a raw IP address?

我已经使用 google 计算云部署了一个应用程序,它可以从原始的临时 IP 地址中看到...如何 link 这个临时 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 命令是什么?该过程将是:将应用程序部署到临时 IP -> 向 link 这个 IP 发出未知命令到域...我希望能够在每次部署(一个新的临时 IP)后从我的应用程序仍然在开发...我不想要静态 IP

我使用命令行工具 gcloud 和 kubectl 部署了该应用程序,因此它是一个 Google 计算 (IaaS) 应用程序而不是 Google App Engine (PaaS) 应用程序

我几天前注册了域名,所以域名已经传播

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

$ dig NS mydomain.org.

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

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