本教程为您演示如何注册域名,设置示例网络服务器以及使用 Cloud DNS 将网域网址指向服务器的流程。
如果您刚开始使用 Terraform for Google Cloud,请参阅 Terraform 使用入门。
目标
本教程演示了如何完成以下任务:- 使用 Cloud Domains 注册域名
- 创建 Compute Engine 虚拟机 (VM) 实例
- 运行基本 Apache 网络服务器
- 使用 Cloud DNS 设置网域
- 更新域名服务器
- 验证设置
费用
注册域名需要付费。如需了解 Cloud Domains 价格,请参阅 Cloud Domains 价格。
准备工作
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
启用 Compute Engine API。
注册域名
如果您已注册域名,请跳过此部分。
您可以使用 Cloud Domains 注册网域。Cloud Domains 可让您使用与准备工作部分中创建的网域相同的结算账号。如需了解如何使用 Cloud Domains 注册网域,请参阅注册网域。
创建虚拟机实例
控制台
如需在 Compute Engine 中创建 Linux 虚拟机 (VM) 实例,请按照以下说明操作:
- In the Google Cloud console, go to the Create an instance page.
- In the Boot disk section, click Change to begin configuring your boot disk.
- 在 Public images 标签页上,选择 Debian GNU/Linux。
- 点击选择。
- 在防火墙部分,选择 允许 HTTP 流量。
- 如需创建虚拟机,请点击创建。
实例启动会需要一些时间,请稍等片刻。准备就绪后,实例会列在虚拟机实例页面上,并带有绿色状态图标。
连接到您的实例
- In the Google Cloud console, go to the VM instances page.
- In the list of virtual machine instances, click SSH in the row of the instance that you want to connect to.
您现在具有一个用来与您的 Linux 实例互动的终端窗口。
如需了解详情,请参阅快速入门:使用 Linux 虚拟机。
运行基本 Apache 网络服务器
在本部分中,您将运行并测试 Apache 网络服务器。
在 SSH 窗口中,使用 Debian 软件包管理器安装
apache2
软件包。sudo apt-get update && sudo apt-get install apache2 -y
安装 Apache 后,操作系统会自动启动 Apache 服务器。
使用以下命令覆盖 Apache Web 服务器的默认网页:
echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>"
| sudo tee /var/www/html/index.html
测试服务器
测试您的实例是否正在处理其外部 IP 地址上的流量。
控制台
- 在 Google Cloud 控制台中,前往虚拟机实例页面。
- 在外部 IP 列中,复制您的实例的外部 IP 地址。
- 在浏览器中,导航到
http://[EXTERNAL_IP]
。请勿使用https
进行连接,因为服务器会返回Connection Refused
错误。
现在,您应该会看到 Hello World! 页面。
如需了解详情,请参阅运行基本 Apache 网络服务器。
使用 Cloud DNS 设置网域
如果您要从现有提供商迁移,则可以将现有可用区导入 Cloud DNS。如需查看相关说明,请参阅从现有提供商导出 DNS 配置。 否则,请按照以下步骤创建新的公开可用区。
控制台
在 Google Cloud Console 中,转到创建 DNS 可用区页面。
对于可用区类型,请选择公开。
对于可用区名称,输入
my-new-zone
。对于 DNS 名称,使用一个您注册的域名输入该地区的 DNS 名称后缀(例如
example.com
)。在 DNSSEC 部分,确保已选择
Off
设置。点击创建以创建填充了 NS 和 SOA 记录的可用区。
如需将您注册的域名指向托管服务器的 IP 地址,您必须将 A 记录添加到您的可用区。
- 在区域详情页面上,点击添加标准。
- 从资源记录类型菜单中选择 A。
- 在 IPv4 地址部分,输入您的实例的外部 IP 地址。
- 点击创建为您的可用区创建 A 记录。
(可选)添加 CNAME 记录,以将您的前缀添加到域名,例如
www.
。- 点击添加标准。
- 在 DNS 名称字段中,为域名添加前缀
www
。 - 在资源记录类型部分,选择 CNAME。
- 在标准名称部分,依次输入域名和一个英文句点(例如
example.com.
)。 - 点击创建。
更新域名服务器
如需在 Cloud Domains 中更新域名服务器,请按以下步骤操作:
在 Google Cloud 控制台中,转到 Cloud 网域页面。
点击您要修改的域名。您也可以点击域名旁边的
更多,查看修改菜单。如需修改 DNS 详细信息,请点击修改 DNS 详细信息。
选择使用 Cloud DNS(推荐)。
在 Cloud DNS 区域列表中,选择
my-new-zone
。点击保存。
Terraform
您可以使用 Terraform 资源创建虚拟机 (VM) 实例、运行 Apache Web 服务器、使用 Cloud DNS 设置网域以及更新域名服务器。
您还可以使用 Terraform 模块设置具有公开、专用、对等互连或转发可用区的 Cloud DNS。如需详细了解可用区,请参阅 DNS 可用区概览。
验证设置
如需验证配置是否有效,请在域名服务器更新后,导航至您的域名(例如 example.com
)。该域名应解析为您的 IP 地址,并应指向显示您在运行基本的 Apache Web 服务器中创建的 Hello World! 页面的 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
如需验证更改是否成功,请运行以下命令:
example.com IN NS <your Cloud DNS name servers>
等待 DNS 传播完成后,您还可以运行 nslookup
命令来验证设置:
nslookup example.com
输出应包含以下内容。IP_ADDRESS
是您的网络服务器的 IP 地址。
Server: 127.0.0.1 Address: 127.0.0.1#53 Non-authoritative answer: Name: example.com Address: IP_ADDRESS
清理
控制台
在 Google Cloud 控制台中,转到 Cloud DNS 可用区页面。
点击可用区名称(例如
my-new-zone
)以进入可用区详细信息页面。选择您创建的 A 和 CNAME 记录。
点击删除记录集。
如需删除可用区,请针对可用区名称
my-new-zone
点击delete删除可用区。转到虚拟机实例页面。
选择要删除的实例。
在实例所在行的 more_vert 菜单上,点击删除。
后续步骤
- 如需添加、删除或更新记录,请参阅管理记录。
- 如需使用代管式区域,请参阅创建、修改和删除区域。
- 如需了解您在使用 Cloud DNS 时可能会遇到的常见问题的解决方案,请参阅问题排查。
- 如需引用此 API,请参阅 Cloud DNS REST API。
- 如需确定费用,请参阅 Cloud DNS 价格。
- 如需大致了解 Cloud DNS,请参阅 Cloud DNS 概览。