首页 > 解决方案 > 迁移 - 以零停机时间更改 DNS 中记录的 IP

问题描述

我正在将我的 API 从提供商迁移到 AWS。

我的 A 记录的 TTL 为 30 秒,所以我知道浏览器等会在 30 秒内获取旧 IP。

我想在这 30 秒 TTL 开始时收到通知,以便停止提供新的 api 请求并使迁移成为零错误。

我如何才能知道从以前的提供商 ip 切换到 AWS ip 的确切时间?

标签: apiamazon-web-servicesdnsmigrationmigrate

解决方案


你不能在任何实际意义上。

您误解了 DNS 的工作原理。DNS 由一个全球复制的系统组成,该系统将 DNS 名称解析为 IP 地址(在其基本级别)。这种复制需要多长时间,因人而异。我可以指望复制,最终。我可以管理或控制此复制吗,不可以。

TTL 是生存时间值。这是建议而非要求。许多 DNS 解析器不尊重此值。典型的 TTL 以小时、天或周为单位。不是秒。许多客户端会忽略一个短 TTL。

如果您想要接近零停机时间,最佳实践方法是什么?您复制您的服务,以便旧的 DNS 条目和新的 DNS 条目都可以工作。预计这需要几天而不是几秒钟。

如果您还将您的记录(注册)移动到 AWS,请额外增加一两天。所有注册商都会告诉您,该过程可能需要几天时间才能完成。还有转移请求在以后被撤销的风险(我曾多次从 Network Solutions 转移到 Route 53)。即使在向 AWS 付款并更新记录之后,该域在数周后仍因某些“未知”原因跳回 Network Solutions。

在我的最佳实践中,我通知我的客户为关键任务系统计划 30 天。


推荐阅读