【问题标题】:How to change AWS-RDS instance type without downtime?如何在不停机的情况下更改 AWS-RDS 实例类型?
【发布时间】:2019-07-09 12:44:39
【问题描述】:

我正在使用 AWS-RDS(Aurora MySQL5.6),它是一个集群,它有一个写入器实例和一个读取器实例。我发现每个实例在更改其类型时都会停机近 10 分钟,这是不可接受的,我应该怎么做才能避免停机?

这里有更多详细信息:

  • 将类型从 db.t2.small 更改为 db.t2.medium
  • 引擎版本:5.6.10a
  • 可用内存:300M
  • 数据库连接数(计数):~400
  • CPU 利用率(百分比):~20%

【问题讨论】:

    标签: amazon-rds amazon-aurora


    【解决方案1】:

    不要更改当前 writer 实例的类型,而是添加一个具有所需实例类型的新 writer:

    1. 将具有所需新实例类型(例如 db.t2.medium)的 Aurora 读取器添加到集群。确保为读取器分配最佳优先级,以便在故障转移期间将其提升为写入器(有关更深入的信息,请参阅Aurora Documentation)。
    2. 等到新实例启动并运行。
    3. 然后对集群进行故障转移,以便将新读取器提升为写入器。
    4. 最后删除之前旧实例类型的Aurora实例。

    这样您将几乎没有停机时间。

    如果你想改变 reader 实例的类型:

    1. 添加具有所需新实例类型的 Aurora 阅读器。
    2. 等到它启动并运行。
    3. 删除之前的阅读器实例。

    【讨论】:

    • 作家实例怎么样?
    • 为了澄清,我在答案中添加了作者和读者之间的区别。
    • @troy 答案对您的问题有帮助吗?如果是的话,如果你接受答案就好了。
    • 为什么需要添加新的reader?始终建议添加操作,但如果我直接更改现有阅读器的类型会出现什么问题?此时仍可访问 Writer。
    • 4) 是的,故障转移期间由于读/写重启而停机时间很短。如果您还没有这样做,我建议您查看RDS Proxy。由于 DNS 传播缓慢,它可以减少客户端应用程序的停机时间。关于它有一个很好的introduction article,它显示使用 RDS 代理时,平均故障转移恢复时间从 24 秒加快到 3 秒。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多