概览
Google Cloud VPC 网络具有内部 DNS 服务,且不自动支持为虚拟机配置外部 DNS。但是,企业可能更愿意直接管理自己的 DNS 服务器,因而需要在迁移后的虚拟机上配置外部 DNS。
Migrate for Compute Engine 提供了一种用于设置和控制迁移后虚拟机的外部 DNS 设置的方法。为此,需要使用 Google Cloud 项目元数据配置 Google Cloud 项目中的 DNS 设置。这些设置会在虚拟机迁移后应用于新的虚拟机。
另外,Google Cloud 还在 Cloud DNS 中提供了一个单独的 DNS 转发解决方案。Cloud DNS 使用虚拟私有云中的所有资源,并提供本地和 Google Cloud 上的名称的 DNS 解析。
DNS 设置的应用方式
DNS 设置的应用方式如下所示:
- 对于 Windows 客户端,键值对按以下方式应用于所有 NIC:
dns-domain-name
:替换每个 NIC 的DNS suffix for this connection
设置。dns-servers
:替换每个 NIC 的 DNS 服务器列表。dns-domain-suffixes
:替换每个 NIC 的 DNS 后缀列表。
- 对于 Linux 客户端,键值对按以下方式应用于所有 NIC:
dns-servers
:在resolv.conf
文件中前置 DNS 服务器列表。dns-domain-suffixes
:在resolv.conf
文件中前置 DNS 后缀列表。
配置虚拟机以连接到元数据服务器
Google Cloud 会向 Compute Engine 上托管的虚拟机提供元数据。如需在不转发到 Cloud DNS 的情况下使用外部 DNS,您需要手动为虚拟机配置名称解析。
为此,需要将以下行添加到 /etc/hosts
文件(在 Linux 上)或 c:\Windows\System32\Drivers\etc\hosts
(在 Windows 上)。
169.254.169.254 metadata.google.internal
您可以使用脚本化的自定义适配配置来自动完成此步骤。
在 Google Cloud 中的虚拟机上配置外部 DNS 数据
要在迁移后的虚拟机上启用外部 DNS,请执行以下操作:
- 在 Google Cloud 控制台中,转到您项目的“元数据”页面。
- 在元数据下,点击修改。
- 在元数据页中,添加相应的键值对。如需获取这些部署的说明,请参阅以下部分之一:
- 如果您的虚拟机没有区域设置,请按照使用无区域设置的虚拟机中的说明使用默认配置,该配置属于项目级设置。
- 如果您的虚拟机具有区域设置,请按照使用具有区域设置的虚拟机中的说明进行操作。此配置仅影响特定区域中的虚拟机。
使用无区域设置的虚拟机(默认)
如果您的虚拟机没有特定区域设置,请在元数据页中添加以下键值对:
键 示例值 default_dns-domain-name
: mydomain.com
default_dns-servers
: {comma separated list of IPs}
default_dns-domain-suffixes
mydomain.com, myseconddomain.com
完成之后,点击保存。
使用具有区域设置的虚拟机
如果您的虚拟机具有特定区域设置,请在元数据页中添加以下键值对:
说明 键 示例值 Windows 客户端 {region_name}_dns-domain-name
: mydomain.com
DNS 服务器列表 {region_name}_dns-servers
: {comma separated list of IPs}
要添加到 Windows 和 Linux 机器的 DNS 后缀列表 {region_name}_dns-domain-suffixes
mydomain.com, myseconddomain.com
完成之后,点击保存。