← 中文资源

简体中文版本

自动化蓝绿 DNS 切换

通过低 TTL 的 DNS 更新在蓝绿两套环境间切换流量,并在切换前后校验健康状态。

阅读英文原文

目标

手工切换流量既慢又易错,回退全靠记住旧的 DNS 记录。本配方在切换前先把 TTL 降到 60 秒确保快速传播,切换前先验证绿色栈健康,再更新记录并端到端复验公网域名,同时提醒需提前准备回退记录并等待旧连接排空。

步骤要点

  1. 切换前先降低 DNS 记录的 TTL。
  2. 验证绿色栈健康后再切换记录。
  3. 端到端复验公网域名直到健康检查通过。
  4. 等待 TTL 排空并确认旧连接结束后再销毁蓝色栈。
# Set record TTL to 60s at least one TTL window before switching
example-dns update --name app.example.com --ttl 60

排错提示

  • DNS 传播不是即时的。
  • 需提前准备回退记录。
  • 长连接可能排空缓慢。

适用边界

  • 依赖 DNS 传播时间。
  • 需要预先规划回退路径。