本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 Route 53 作为正在使用的域的 DNS 服务
对于已经在接收流量的域名,您可以将 DNS 服务迁移到 Amazon Route 53。例如,用户可能已经浏览到某个网站或访问了该域上的 Web 应用程序。按照本主题中的步骤在不中断服务的情况下进行迁移。
主题
步骤 1:从当前 DNS 服务提供商获取当前 DNS 配置(可选但推荐)
当您将 DNS 服务从另一个提供商迁移至 Route 53 时,您将在 Route 53 中重现当前 DNS 配置。在 Route 53 中,您创建一个与您的域同名的托管区域,并且您在该托管区域中创建记录。每条记录都表明您要如何路由域名或子域名的流量。例如,当有人在 Web 浏览器中输入您的域名时,您是否希望流量流向数据中心的 Web 服务器、Amazon EC2 实例、 CloudFront 分配或其他位置?
该过程取决于您当前 DNS 配置的复杂性:
在当前 DNS 配置简单的情况下 — 如果您只是将几个子域的互联网流量路由到少数资源(例如,Web 服务器或 Amazon S3 存储桶),则可以在 Route 53 控制台中手动创建几条记录。
如果您当前的 DNS 配置更为复杂,而您只想重现当前的配置,则可以从当前 DNS 服务提供商处获取区域文件并将其导入 Route 53,则可以简化迁移。(并非所有 DNS 服务提供商都提供区域文件。) 当您导入区域文件时,Route 53 通过在托管区域中创建相应的记录来重现现有配置。
请询问您目前的 DNS 服务提供商的客户支持,请教如何获取区域文件 或记录列表。有关所需区域文件格式的信息,请参阅通过导入区域文件来创建记录。
如果您当前的 DNS 配置更为复杂,并且您对 Route 53 路由功能感兴趣,请查看以下文档,了解是否要使用其他 DNS 服务提供商不提供的 Route 53 功能。如果是,您可以手动创建记录,也可以导入区域文件,然后创建或更新记录:
在别名记录和非别名记录之间进行选择解释了 Route 53 别名记录的优点,该记录免费将流量路由到某些 AWS 资源,例如 CloudFront 分配和 Amazon S3 存储桶。
选择路由策略解释了 Route 53 路由选项,例如,基于用户位置、用户和资源之间的延迟、资源运行状况以及您指定的权重的路由。
注意
您也可以导入区域文件,并在稍后更改配置以利用别名记录和复杂的路由策略。
如果您无法获取区域文件,或者如果您要在 Route 53 中手动创建记录,则您可能要迁移的记录包括:
A(地址)记录 — 将域名或子域名与相应资源的 IPv4 地址(例如,192.0.2.3)关联
AAAA(地址)记录 — 将域名或子域名与相应资源的 IPv6 地址(例如,2001:0db8:85a3:0000:0000:abcd:0001:2345)关联
邮件服务器 (MX) 记录 — 将流量路由到邮件服务器
别名记录 — 将一个域名 (example.net) 的流量重新路由到另一个域名 (example.com)
其它支持的 DNS 记录类型的记录 — 有关支持的记录类型的列表,请参阅 支持的 DNS 记录类型。
步骤 2:创建托管区域
为了告知 Amazon Route 53 您希望如何路由您的域的流量,您创建一个与您的域同名的托管区域,然后在该托管区域中创建记录。
重要
您只能为您有权管理的域创建托管区域。通常,这意味着您拥有该域,但您还可以为域的注册商开发应用程序。
创建托管区域时,Route 53 会自动为此区域创建名称服务器 (NS) 记录和授权起始点 (SOA) 记录。该 NS 记录标识通过 Route 53 与您的托管区域关联的四个名称服务器。要使 Route 53 成为您的域的 DNS 服务,请更新该域的注册以使用这四个域名服务器。
重要
请不要创建其他名称服务器 (NS) 或授权起始点 (SOA) 记录,并且不要删除现有的 NS 和 SOA 记录。
创建托管区
登录 AWS 管理控制台 并打开 Route 53 控制台,网址为https://console.aws.amazon.com/route53/
。 -
如果您对 Route 53 不熟悉,请选择 DNS management(DNS 管理)项下的 Get started(入门),然后选择 Create hosted zones(创建托管区域)。
如果您已经在使用 Route 53,请在导航窗格中选择 Hosted zones(托管区域),然后选择 Create hosted zones(创建托管区域)。
-
在 Create hosted zone(创建托管区域)窗格中,输入域名,还可以选择输入注释。有关设置的详细信息,请选择打开右侧的帮助面板。
有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息,请参阅DNS 域名格式。
-
对于 Type(类别),接受 Public hosted zone(公有托管区域)的默认值。
-
选择 Create Hosted Zone(创建托管区域)。
步骤 3:创建记录
创建一个托管区域后,您可在该托管区域中创建记录,这些记录定义您要将域 (example.com) 或子域 (www.example.com) 的流量路由到的位置。例如,如果您希望将 example.com 和 www.example.com 的流量路由到 Amazon EC2 实例上的 Web 服务器,则可创建两条记录,一条记录名为 example.com,另一条记录名为 www.example.com。在每条记录中,指定您的 EC2 实例的 IP 地址。
您可通过多种方式创建记录:
- 导入区域文件
如果您已在 步骤 1:从当前 DNS 服务提供商获取当前 DNS 配置(可选但推荐) 中从当前 DNS 服务获取区域文件,这将是最轻松的方式。Amazon Route 53 无法预测何时创建别名记录或使用特殊路由类型 (例如,加权或故障转移)。因此,如果您导入区域文件,Route 53 会使用简单路由策略创建标准 DNS 记录。
有关更多信息,请参阅 通过导入区域文件来创建记录。
- 在控制台中单独创建记录
如果您没有获取区域文件,并且您只想创建几条具有 Simple 路由策略的记录来开始操作,则可在 Route 53 控制台中创建记录。您可以同时创建别名记录和非别名记录。
有关更多信息,请参阅以下主题:
- 以编程方式创建记录
您可以使用其中一个 AWS SDK 来创建记录 AWS CLI,或 AWS Tools for Windows PowerShell。有关更多信息,请参阅 AWS 文档。
如果你使用的编程语言 AWS 不提供软件开发工具包,你也可以使用 Route 53 API。有关更多信息,请参阅 Amazon Route 53 API 参考。
步骤 4:减小 TTL 设置
记录的 TTL(生存时间)设置指定您希望 DNS 解析程序缓存记录和使用缓存信息的时间。当 TTL 到期时,解析器会向 DNS 服务提供商发送另一个查询以获取最新信息。
NS 记录的典型 TTL 设置为 172800 秒或两天。NS 记录列出了域名服务器,DNS 可以使用这些域名服务器来获取有关您的域名路由流量的信息。如果您在将 DNS 迁移到 Route 53 时发现问题,降低当前 DNS 服务提供商和 Amazon Route 53 的 NS 记录的 TTL 都会缩短域的停机时间。如果您不减小 TTL,则您的域可能会在出现问题时最多两天内在 Internet 上不可用。
注意
一些完整解析器可能会缓存父权威服务器的 NS 记录的 TTL,因此还必须减少在父权威 DNS 服务器上注册的 NS 记录的 TTL。
我们建议您针对以下 NS 记录更改 TTL:
当前 DNS 服务提供商的托管区域中的 NS 记录。(您的当前提供商可能使用不同的术语。)
您在步骤 2:创建托管区域中创建的托管区域中的 NS 记录。
为当前 DNS 服务提供商减小 NS 记录的 TTL 设置
使用域的当前 DNS 服务提供商提供的方法来更改域的托管区域中的 NS 记录的 TTL。
减小 Route 53 托管区域中的 NS 记录的 TTL 设置
登录 AWS 管理控制台 并打开 Route 53 控制台,网址为https://console.aws.amazon.com/route53/
。 在导航窗格中选择 Hosted Zones。
选择托管区域的名称。
选择 NS 记录,然后选择 Edit(编辑)。
更改 TTL(秒)的值。我们建议您指定一个介于 60 秒和 900 秒 (15 分钟) 之间的值。
选择保存更改。
步骤 5:(如果您已配置 DNSSEC)从父区域中删除 DS 记录
如果已为域配置 DNSSEC,请在将域迁移到 Route 53 之前从父区域中删除 Delegation Signer (DS) 记录。
如果父区域通过 Route 53 或其他注册商托管,请联系他们以删除 DS 记录。
您不能同时在两个提供商之间启用 DNSSEC 签名。必须移除所有 DS 或 DNSKeys 才能关闭 DNSSEC。这会暂时发出 DNS 解析器跳过 DNSSEC 验证的信号。在步骤 11 中,您可以在向 Route 53 的过渡完成后重新启用 DNSSEC 验证。
有关更多信息,请参阅 删除域的公有密钥。
步骤 6:等待旧 TTL 过期
如果您的域名正在使用中(例如,如果用户正在浏览网站或访问 Web 应用程序),则 DNS 解析器会缓存当前 DNS 服务提供商提供的域名服务器的名称。已在几分钟前缓存该信息的 DNS 解析程序会将其保存近两天。
为确保一次性将 DNS 服务迁移到 Route 53,请在降低 TTL 后等待两天。在为期两天的 TTL 到期且解析器请求您的域名服务器后,解析器将获得当前的域名服务器和您在中指定的新 TTL。步骤 4:减小 TTL 设置
步骤 7:更新 NS 记录以使用 Route 53 名称服务器
要开始将 Amazon Route 53 用作域的 DNS 服务,请使用注册商提供的方法,或使用父区域,以将 NS 记录中的当前名称服务器替换为 Route 53 名称服务器。
注意
当您使用当前 DNS 服务提供商更新 NS 记录以使用 Route 53 名称服务器时,您正在更新域的 DNS 配置。(这与在 Route 53 托管区域中更新域的 NS 记录类似,不同之处在于您要使用要迁出的 DNS 服务更新设置。)
在注册机构或父区域更新 NS 记录以使用 Route 53 名称服务器
在 Route 53 控制台中,获取您的托管区域的名称服务器:
登录 AWS 管理控制台 并打开 Route 53 控制台,网址为https://console.aws.amazon.com/route53/
。 在导航窗格中,选择 Hosted zones(托管区域)。
在 Hosted zones(托管区域)页面上,选择适用的托管区域的名称。
记下 Hosted zone details(托管区域详细信息)部分为 Name servers(名称服务器)列出的四个名称。
使用域的当前 DNS 服务所提供的方法来更新托管区域的 NS 记录。如果此域已向 Route 53 注册,请参阅 为域添加或更改名称服务器和粘附记录。此过程取决于当前 DNS 服务是否允许您删除名称服务器:
如果您可以删除名称服务器
记下托管区域的 NS 记录中的当前名称服务器的名称。如果您需要还原到当前 DNS 配置,则这些是您要指定的服务器。
从 NS 记录删除当前名称服务器。
使用您在此过程的步骤 1 中获取的所有四个 Route 53 名称服务器的名称更新 NS 记录。
注意
完成后,NS 记录中的名称服务器将只有这四个 Route 53 名称服务器。
如果您无法删除名称服务器
选择使用自定义名称服务器的选项。
添加您在此过程的步骤 1 中获取的所有四个 Route 53 名称服务器。
步骤 8:监控域的流量
监控域的流量,包括网站或应用程序流量,以及电子邮件:
在流量慢或停止的情况下 — 请使用上一个 DNS 服务提供的方法,将相应域对应的名称服务器改回之前的名称服务器。这些是您在在注册机构或父区域更新 NS 记录以使用 Route 53 名称服务器的步骤 7 中记下的名称服务器。然后,确定出错的位置。
在流量未受影响的情况下 — 继续至 步骤 9:将 NS 记录的 TTL 重新改为更高的值。
步骤 9:将 NS 记录的 TTL 重新改为更高的值
在域的 Amazon Route 53 托管区域中,将 NS 记录对应的 TTL 更改为更典型的值,例如,172800 秒 (两天)。这可以缩短用户的延迟,因为他们不必经常等待 DNS 解析器向您的域名服务器发送查询。
更改 Route 53 托管区域中的 NS 记录的 TTL
登录 AWS 管理控制台 并打开 Route 53 控制台,网址为https://console.aws.amazon.com/route53/
。 -
在导航窗格中选择 Hosted Zones。
-
选择托管区域的名称。
-
在托管区域的记录列表中,选择 NS 记录。
-
选择编辑。
-
将 TTL (Seconds) 更改为您希望 DNS 解析程序缓存您的域的名称服务器的名称的秒数。我们建议的值为 172800 秒。
-
选择保存更改。
步骤 10:将域注册转移到 Amazon Route 53
现在您已将域的 DNS 服务转移到 Amazon Route 53,您可以选择将域的注册转移到 Route 53。有关更多信息,请参阅 将域注册转移到 Amazon Route 53。
第 11 步: Re-enable DNSSEC 签名(如果需要)
现在您已将域的 DNS 服务转移到 Amazon Route 53,您可以重新启用 DNSSEC 签名。
启用 DNSSEC 签名有两个步骤:
第 1 步:为 Route 53 启用 DNSSEC 签名,并请求 Route 53 根据客户管理的密钥在 () 中 AWS Key Management Service 创建密钥签名密钥 (KSK)。AWS KMS
第 2 步:通过向父区域添加委托签名者 (DS) 记录,为托管区域创建信任链。这允许使用可信的加密签名验证 DNS 响应。
有关说明,请参阅启用 DNSSEC 签名并建立信任链。。