将 Route 53 作为正在使用的域的 DNS 服务 - Amazon Route 53
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将 Route 53 作为正在使用的域的 DNS 服务

如果要为目前正在获取流量(例如,如果您的用户正在使用该域名浏览网站或访问 Web 应用程序)的域将 DNS 服务迁移至 Amazon Route 53,请执行此部分中的过程。

步骤 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 别名记录的优势,这些记录可免费将流量路由到一些 Amazon 资源,例如 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 记录。

创建托管区域
  1. 请登录 Amazon Web Services Management Console,并通过以下网址打开 Route 53 控制台:https://console.aws.amazon.com/route53/

  2. 如果您对 Route 53 不熟悉,请选择 DNS management(DNS 管理)项下的 Get started(入门),然后选择 Create hosted zones(创建托管区域)。

    如果您已经在使用 Route 53,请在导航窗格中选择 Hosted zones(托管区域),然后选择 Create hosted zones(创建托管区域)。

  3. Create hosted zone(创建托管区域)窗格中,输入域名,还可以选择输入注释。有关设置的详细信息,请选择打开右侧的帮助面板。

    有关如何指定除 a-z、0-9 和 - (连字符) 以外的字符以及如何指定国际化域名的信息,请参阅DNS 域名格式

  4. 对于 Type(类别),接受 Public hosted zone(公有托管区域)的默认值。

  5. 选择 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 控制台中创建记录。您可以同时创建别名记录和非别名记录。

有关更多信息,请参阅以下主题:

以编程方式创建记录

您可以使用某个 Amazon 软件开发工具包、Amazon CLI 或 Amazon Tools for Windows PowerShell 创建记录。有关更多信息,请参阅 Amazon 文档

如果您正在使用 Amazon 未提供软件开发工具包的编程语言,您也可以使用 Route 53 API。有关更多信息,请参阅 Amazon Route 53 API 参考

步骤 4:减小 TTL 设置

记录的 TTL(生存时间)设置指定您希望 DNS 解析程序缓存记录和使用缓存信息的时间。当 TTL 过期时,解析程序会向域的 DNS 服务提供商发送另一个查询以获取最新信息。

NS 记录的典型 TTL 设置为 172800 秒或两天。NS 记录列出了域名系统 (DNS) 可用来获取有关如何路由域流量的信息的名称服务器。通过为当前 DNS 服务提供商和 Amazon Route 53 减小 NS 记录的 TTL,可在您将 DNS 迁移至 Route 53 的过程中发现问题时缩短域的停机时间。如果您不减小 TTL,则您的域可能会在出现问题时最多两天内在 Internet 上不可用。

注意

一些完整解析程序可能会缓存父权威服务器的 NS 记录的 TTL,因此还必须减少在父权威 DNS 服务器上注册的 NS 记录的 TTL。

我们建议您针对以下 NS 记录更改 TTL:

  • 当前 DNS 服务提供商的托管区域中的 NS 记录。(您的当前提供商可能使用不同的术语。)

  • 您在步骤 2:创建托管区域中创建的托管区域中的 NS 记录。

为当前 DNS 服务提供商减小 NS 记录的 TTL 设置
  • 使用域的当前 DNS 服务提供商提供的方法来更改域的托管区域中的 NS 记录的 TTL。

减小 Route 53 托管区域中的 NS 记录的 TTL 设置
  1. 请登录 Amazon Web Services Management Console,并通过以下网址打开 Route 53 控制台:https://console.aws.amazon.com/route53/

  2. 在导航窗格中选择 Hosted Zones

  3. 选择托管区域的名称。

  4. 选择 NS 记录,然后选择 Edit(编辑)。

  5. 更改 TTL (Seconds) 的值。我们建议您指定一个介于 60 秒和 900 秒 (15 分钟) 之间的值。

  6. 选择 Save changes(保存更改)。

步骤 5:(如果您已配置 DNSSEC)从父区域中删除 DS 记录

如果已为域配置 DNSSEC,请在将域迁移到 Route 53 之前从父区域中删除 Delegation Signer (DS) 记录。

如果父区域通过 Route 53 或其他注册商托管,请联系他们以删除 DS 记录。

由于目前无法在两个提供程序之间启用 DNSSEC 签名,因此必须删除任何 DS 或 DNSKEY 才能停用 DNSSEC。这会临时向 DNS 解析程序发出信号,以禁用 DNSSEC 验证。在步骤 11 中,您可以在完成向 Route 53 的过渡后重新启用 DNSSEC 验证(如果需要)。

有关更多信息,请参阅删除域的公有密钥

步骤 6:等待旧 TTL 过期

如果您的域正在使用中(例如,如果用户正在使用该域名浏览网站或访问 Web 应用程序),则 DNS 解析程序已缓存当前 DNS 服务提供商所提供的名称服务器的名称。已在几分钟前缓存该信息的 DNS 解析程序会将其保存近两天。

为了确保一次性完成 DNS 服务到 Route 53 的迁移,请在减小 TTL 后等待两天。为期两天的 TTL 过期且解析程序请求您的域的名称服务器后,解析程序将获取当前名称服务器,并且还将获取您在步骤 4:减小 TTL 设置中指定的新 TTL。

步骤 7:更新 NS 记录以使用 Route 53 名称服务器

要开始将 Amazon Route 53 用作域的 DNS 服务,请使用注册商提供的方法,或使用父区域,以将 NS 记录中的当前名称服务器替换为 Route 53 名称服务器。

注意

当您使用当前 DNS 服务提供商更新 NS 记录以使用 Route 53 名称服务器时,您正在更新域的 DNS 配置。(这相当于更新域的某个 Route 53 托管区域中的 NS 记录,只不过您更新设置时使用的是您从中迁出的 DNS 服务。)

在注册机构或父区域更新 NS 记录以使用 Route 53 名称服务器
  1. 在 Route 53 控制台中,获取您的托管区域的名称服务器:

    1. 请登录 Amazon Web Services Management Console,并通过以下网址打开 Route 53 控制台:https://console.aws.amazon.com/route53/

    2. 在导航窗格中,选择 Hosted zones(托管区域)

    3. Hosted zones(托管区域)页面上,选择适用的托管区域的名称。

    4. 记下 Hosted zone details(托管区域详细信息)部分为 Name servers(名称服务器)列出的四个名称。

  2. 使用域的当前 DNS 服务所提供的方法来更新托管区域的 NS 记录。如果此域已向 Route 53 注册,请参阅 为域添加或更改名称服务器和粘附记录。此过程取决于当前 DNS 服务是否允许您删除名称服务器:

    如果您可以删除名称服务器

    • 记下托管区域的 NS 记录中的当前名称服务器的名称。如果您需要还原到当前 DNS 配置,则这些是您要指定的服务器。

    • 从 NS 记录删除当前名称服务器。

    • 使用您在此过程的步骤 1 中获取的所有四个 Route 53 名称服务器的名称更新 NS 记录。

      注意

      完成后,NS 记录中的名称服务器将只有这四个 Route 53 名称服务器。

    如果您无法删除名称服务器

    • 选择使用自定义名称服务器的选项。

    • 添加您在此过程的步骤 1 中获取的所有四个 Route 53 名称服务器。

步骤 8:监控域的流量

监控域的流量,包括网站或应用程序流量,以及电子邮件:

步骤 9:将 NS 记录的 TTL 重新改为更高的值

在域的 Amazon Route 53 托管区域中,将 NS 记录对应的 TTL 更改为更典型的值,例如,172800 秒 (两天)。这减少用户的延迟,因为他们不必像 DNS 解析程序一样通常需要等待为您的域的名称服务器发送查询。

更改 Route 53 托管区域中的 NS 记录的 TTL
  1. 请登录 Amazon Web Services Management Console,并通过以下网址打开 Route 53 控制台:https://console.aws.amazon.com/route53/

  2. 在导航窗格中选择 Hosted Zones

  3. 选择托管区域的名称。

  4. 在托管区域的记录列表中,选择 NS 记录。

  5. 选择编辑

  6. TTL (Seconds) 更改为您希望 DNS 解析程序缓存您的域的名称服务器的名称的秒数。我们建议的值为 172800 秒。

  7. 选择 Save changes(保存更改)。

步骤 10:将域注册转移到 Amazon Route 53

现在您已将域的 DNS 服务转移到 Amazon Route 53,您可以选择将域的注册转移到 Route 53。有关更多信息,请参阅将域注册转移到 Amazon Route 53

步骤 11:重新启用 DNSSEC 签名(如果需要)

现在您已将域的 DNS 服务转移到 Amazon Route 53,您可以重新启用 DNSSEC 签名。

启用 DNSSEC 签名有两个步骤:

  • 步骤 1:为 Route 53 启用 DNSSEC 签名,并请求 Route 53 根据客户托管密钥在 Amazon Key Management Service (Amazon KMS) 中创建密钥签名密钥 (KSK)。

  • 步骤 2:通过向父区域添加 Delegation Signer (DS) 记录,为托管区域创建信任链,以便使用受信任的加密签名对 DNS 响应进行身份验证。

    有关说明,请参阅 启用 DNSSEC 签名并建立信任链。