Migrate for Compute Engine 提供了一种用于设定和控制迁移后虚拟机的外部 DNS 设置的方法。为此,需要使用 Google Cloud 项目元数据配置 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
您可以使用脚本化的自定义适配配置来自动完成此步骤。
在 GCP 中的虚拟机上配置外部 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
完成之后,点击保存。