我更改了 DNS 设置,但没有生效 - Amazon Route 53
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

我更改了 DNS 设置,但没有生效

如果您更改了 DNS 设置而更改没有生效,以下是一些常见原因。

您在最近 48 小时将 DNS 服务转移到了 Amazon Route 53,所以 DNS 仍在使用您之前的 DNS 服务

当您将 DNS 服务转移到 Amazon Route 53 时,您使用了域注册商提供的方法将以前 DNS 服务的名称服务器替换为 Route 53 的四个名称服务器。

注意

如果您不确定是否做了这一部分工作,请参阅 您最近将 DNS 服务转移到 Amazon Route 53,但没有向域注册商更新名称服务器

域注册商通常对名称服务器使用 24 到 48 个小时的 TTL (生存时间)。这意味着当某个 DNS 解析程序在获取您的域名服务器时,会在长达 48 小时的时间内使用该信息,之后才会提交对于域的最新名称服务器的另一个请求。如果您在最近 48 小时内将 DNS 服务转移到 Route 53,然后更改了 DNS 设置,则有些 DNS 解析程序仍在使用您的旧 DNS 服务来路由域流量。

您最近将 DNS 服务转移到 Amazon Route 53,但没有向域注册商更新名称服务器

您的域的注册商拥有域的各种信息,包括域的 DNS 服务的名称服务器。域注册商通常也是您的 DNS 服务,因此与您的域关联的名称服务器属于注册商。这些名称服务器告知 DNS 从何处获取有关您希望如何路由域流量的信息,例如,路由到您的域的 Web 服务器 IP 地址。

当您将 DNS 服务转移到 Amazon Route 53 时,需要使用域注册商提供的方法来更改与域关联的名称服务器。通常,您需要将注册商提供的名称服务器替换为四个 Route 53 名称服务器,它们与您为域创建的托管区域相关联。

如果您为域创建了一个新的托管区域和记录,并指定了与上一 DNS 服务不同的设置,但 DNS 仍在将流量路由到旧资源,则有可能您没有向域注册商更新名称服务器。要确定注册商是否在使用您的 Route 53 托管区域的名称服务器,并在必要时更新域的名称服务器,请执行以下过程。

获取您的托管区域的名称服务器,并向域注册商更新名称服务器设置

  1. 登录 AWS 管理控制台并通过以下网址打开 Route 53 控制台:https://console.amazonaws.cn/route53/

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

  3. Hosted Zones 页面上,选择托管区域的单选按钮 (不是名称)。

    重要

    如果多个托管区域具有相同名称,请确保选择正确托管区域的名称服务器。

  4. 在右窗格中,记下 Name Servers 下所列的四个服务器。

  5. 使用域注册商提供的方法显示域名服务器的列表。

  6. 如果域名服务器和您在步骤 4 中获得的名称服务器匹配,则表明域配置正确。

    如果域名服务器和您在步骤 4 中获得的名称服务器不匹配,更新域以使用 Route 53 名称服务器。

重要

如果您将域的名称服务器更改为来自 Route 53 托管区域的名称服务器,可能需要多达两天时间更改才会生效,Route 53 才能成为您的 DNS 服务。这是因为分布在 Internet 上的 DNS 解析程序通常每两天请求一次名称服务器,并缓存应答。

DNS 解析程序仍在使用记录的旧设置

如果您更改了记录中的设置,但您的流量仍被路由到旧资源 (如您的网站的 Web 服务器),一个可能的原因是 DNS 仍缓存有以前的设置。每个记录都有一个 TTL (生存时间) 值,用来指定您希望 DNS 解析程序缓存记录中的信息 (如 Web 服务器的 IP 地址) 的时间 (以秒为单位)。直到经过 TTL 所指定的时间后,DNS 解析程序才继续返回旧值以响应 DNS 查询。如果您想知道记录的 TTL 值,请执行以下过程。

注意

对于别名记录,TTL 由记录将流量路由到的 AWS 资源决定。有关更多信息,请参阅在别名记录和非别名记录之间进行选择

查看记录的 TTL

  1. 登录 AWS 管理控制台并通过以下网址打开 Route 53 控制台:https://console.amazonaws.cn/route53/

  2. 托管区域页面上,选择包含该记录的托管区域的名称。

  3. 在记录列表中,找到要了解其 TTL 值的记录,查看 TTL 列的值。

    注意

    现在更改 TTL 不会使更改更快生效。DNS 解析程序已将此值缓存,因此,在经过旧设置所指定的时间之前,它们不会得到新的设置。

您有多个同名的托管区域,并且更新了未与该域关联的一个托管区域

您可以使用同一账户或使用多个账户创建具有相同名称的多个托管区域。要指定 Route 53 用于路由域的 Internet 流量的托管区域,您可以获取该托管区域的四个 Route 53 名称服务器,然后更新域注册以使用这些名称服务器。

如果您在一个托管区域中添加、更改或删除记录,但您的域注册使用的是另一个托管区域的名称服务器,则 Route 53 对 DNS 查询的响应将不会反映您的更改。要确定您的域注册是否正在对您已更新其中记录的托管区域使用名称服务器,请执行以下任务:

  1. 确定哪些名称服务器与您的域注册相关联。请参阅 添加或更改名称服务器或粘附记录

  2. 将您在步骤 1 中获得的名称服务器与 Route 53 分配给您更新其中记录的托管区域的名称服务器进行比较。请参阅 获取公有托管区域的名称服务器

如果域注册的名称服务器与您更新其中记录的托管区域的名称服务器不匹配,则有两个选项:

更改当前与域关联的托管区域中的记录(推荐)

记下您在当前未与域注册关联的托管区域中所做的更改。然后转到与域注册相关联的托管区域,并进行相同的更改。这是首选方法,因为更改几乎立即生效。有关更多信息,请参阅 编辑记录

更新您的域名注册以使用不同的名称服务器

更改域注册以使用您更新的托管区域中的名称服务器。

重要

如果您更改与您的域名注册相关联的域名服务器,您的域名将在 Internet 上长达 2 天不可用。这是因为 DNS 解析程序通常会将名称服务器的名称缓存 2 天。有关 DNS 工作原理的概述,包括有关解析程序缓存的信息,请参阅Amazon Route 53 如何为您的域路由流量

通过更改与域注册关联的名称服务器,您实质上是在更改域的 DNS 服务。您有两个选项,具体取决于域当前是否正在使用中: