使用 Cloud DNS 设置网域

本教程为您演示如何注册域名,设置示例 Web 服务器以及使用 Cloud DNS 将网域网址指向服务器的端到端流程。

本教程演示以下几个步骤:

  1. 使用 Google Domains 注册域名
  2. 创建虚拟机实例
  3. 运行基本 Apache 网络服务器
  4. 使用 Cloud DNS 设置网域
  5. 更新 Google Domains 上的域名服务器
  6. 验证设置

注册域名需要付费。如需了解价格信息,请参阅价格和受支持的域名后缀

准备工作

  1. 登录您的 Google 帐号。

    如果您还没有 Google 帐号,请注册一个新帐号

  2. 在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

    转到项目选择器页面

  3. 确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

  4. 启用 Compute Engine API。

    启用 API

第 1 步:使用 Google Domains 注册域名

  1. 如需注册网域,请转到 Google Domains。 如果您已有网域,则可以跳过此步骤。
  2. 检查可用的域名,并为您的网域选择一个可用的名称。
  3. 如需购买网域,请点击加入购物车图标
  4. 选择隐私权和自动续订设置,然后点击保存并继续
  5. 完成注册。
  6. 如需查看您拥有的网域列表,请点击左侧导航菜单中的我的网域

如需了解详情,请参阅 Google Domains 使用入门

第 2 步:创建虚拟机实例

如需使用 Google Cloud Console 在 Compute Engine 中创建 Linux 虚拟机实例,请按照以下说明操作:

  1. 在 Cloud Console 中,转到虚拟机实例页面。

    转到“虚拟机实例”页面

  2. 点击创建实例
  3. 启动磁盘部分中,点击更改以开始配置您的启动磁盘。
  4. Public images 标签页上,选择 Debian version 9

  5. 点击选择
  6. 防火墙部分中,选择允许 HTTP 流量
  7. 点击创建以创建实例。

实例启动会需要一些时间,请稍等片刻。准备就绪后,实例会列在虚拟机实例页面上,并带有绿色状态图标。

连接到您的实例

  1. 在 Cloud Console 中,转到虚拟机实例页面。

    转到“虚拟机实例”页面

  2. 在虚拟机实例列表中,点击要连接的实例所在行中的 SSH

    实例名称旁边的 SSH 按钮。

您现在具有一个终端窗口,用于与您的 Linux 实例互动。

如需了解详情,请参阅快速入门:使用 Linux 虚拟机

第 3 步:运行基本 Apache 网络服务器

安装 Apache

  1. 在 SSH 窗口中,使用 Debian 软件包管理器安装 apache2 软件包。

    sudo apt-get update && sudo apt-get install apache2 -y
    

    安装 Apache 后,操作系统会自动启动 Apache 服务器。

  2. 使用以下命令覆盖 Apache 网络服务器的默认网页:

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>'\
    | sudo tee /var/www/html/index.html
    

测试服务器

测试您的实例是否正在处理其外部 IP 上的流量。

  1. 转到 Google Cloud Console 中的“虚拟机实例”页面。

    转到“虚拟机实例”页面

  2. 外部 IP 列下方,复制您的实例的外部 IP。
  3. 在浏览器中,导航到 http://[EXTERNAL_IP]。请勿使用 https 连接,因为服务器会返回 Connection Refused 错误。

您现在应该会看到“Hello World!”页面。

如需了解详情,请参阅运行基本 Apache 网络服务器

第 4 步:使用 Cloud DNS 设置网域

  1. 转到 Cloud Console 中的“创建 DNS 地区”页面

    转到“创建 DNS 地区”页面

  2. 选择 Public 作为地区类型

  3. 地区名称中输入 my-new-zone

  4. 使用一个您注册的域名输入该地区的 DNS 名称后缀。例如 example.com

  5. DNSSEC 下,保留 Off 设置的选中状态。

  6. 点击创建。 这将创建一个填充了 NS 和 SOA 记录的地区。

  7. 如需将您注册的域名指向托管服务器的 IP 地址,您必须将 A 记录添加到您的地区。

    1. 地区详情页面上,点击添加记录集
    2. 资源记录类型菜单中选择 A
    3. IPv4 地址下,输入实例的外部 IP 地址。
    4. 点击创建。 这将为您的地区创建一条 A 记录。
  8. (可选)添加 CNAME 记录,以将您的前缀添加到域名,例如 www.

    1. 点击添加记录集
    2. DNS 名称字段中,为域名添加前缀 www
    3. 资源记录类型下,选择 CNAME
    4. 标准名称下,依次输入域名和一个英文句点。例如 example.com.
    5. 点击创建
  9. 地区详细信息页面上,记下 NS 记录。您需要这些信息才能继续执行第 5 步

第 5 步:更新 Google Domains 上的域名服务器

  1. 如需为您的网域更新域名服务器,请转到 Google Domains
  2. 点击您在第 1 步中设置的网域。或者,您也可以点击该网域对应的管理链接。
  3. 在左侧导航菜单中,点击 DNS
  4. 域名服务器下方,选择使用自定义域名服务器
  5. 将从地区详情页面上复制的 NS 记录,例如ns1.googledomains.com,一次一个地输入域名服务器字段中。

  6. 如需添加域名服务器,请点击

  7. 更新 Google Domains DNS 页面上的所有四个域名服务器。

  8. 点击保存

第 6 步:验证设置

如需验证您的配置是否有效,请在域名服务器更新后,导航到您的域名,例如 example.com。该域名应解析为您的 IP 地址,并指向显示“Hello World!”网页(您在第 3 步中创建的网页)的 Compute Engine 虚拟机。

您还可以在终端窗口上运行 dig +trace example.com 命令,以验证设置是否正确。将 example.com 替换为您注册的域名。

dig +trace example.com

输出的结尾应包含以下内容,其中 ip-address 是您的网络服务器的 IP 地址。

example.com.    300 IN  A   ip-address
;; Received 62 bytes from 216.239.34.109#53(ns-cloud-d2.googledomains.com) in 62 ms

为了验证更改是否成功,命令输出结果中的以下行显示顶级域名服务器指向您在 Google Domains 中输入的自定义域名服务器,而不是 Google Domains 提供的原始域名服务器:

example.com IN NS <your Cloud DNS name servers>

等待 DNS 传播完成后,您还可以通过运行 nslookup 命令验证您的设置:

nslookup example.com
Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   example.com
Address: ip-address

ip-address 是您的网络服务器的 IP 地址。

清理

  1. 转到 Cloud Console 中的 Cloud DNS 地区页面。

    转到“DNS 地区”页面

  2. 在 Cloud DNS 地区页面上,点击地区名称 (例如 my-new-zone) 以进入地区详情页面。

  3. 选择您创建的 ACNAME 记录。

  4. 点击删除记录集

  5. 点击地区名称 my-new-zone 对应的删除图标 即可删除该地区。

  6. 转到 Cloud Console 中的“虚拟机实例”页面。

    转到“虚拟机实例”页面

  7. 检查您要删除的实例。

  8. 从实例行中的“更多”图标 点击删除按钮。

后续步骤