将我的单可用区 Amazon RDS 实例转换为多可用区实例会产生什么影响,反过来呢?

上次更新日期:2021 年 9 月 30 日

我想知道将单可用区 Amazon Relational Database Service (Amazon RDS) 数据库实例转换为多可用区实例会产生什么影响。

-或者-

我想知道将多可用区 Amazon RDS 数据库实例转换为单可用区实例会产生什么影响。

简短描述

在单可用区设置中,一个数据库实例和一个或多个 Amazon Elastic Block Store (Amazon EBS) 存储卷部署在跨数据中心的一个可用区中。在多可用区配置中,Amazon RDS 数据库实例和 EBS 存储卷跨多个可用区部署。

在实例上启用多可用区时,Amazon RDS 会使用同步存储复制来维护冗余且一致的备用数据副本。Amazon RDS 可检测多可用区部署中最常见的故障并自动恢复,这样您便可以尽快恢复数据库操作。有关更多信息,请参阅 Amazon RDS 的高可用性(多可用区)

要将数据库实例从单可用区部署转换为多可用区部署(或反过来),请参阅修改 Amazon RDS 实例

将单可用区实例转换为多可用区实例时,您可以在 Amazon RDS 控制台Logs & Events(日志和事件)部分看到以下事件:

2021 年 9 月 21 日晚上 8:45:04 (UTC) 应用修改以转换为多可用区数据库实例

解决方法

将单可用区实例修改为多可用区实例的影响

将单可用区实例修改为多可用区实例时,不会出现任何实例停机的情况。在转换过程中,Amazon RDS 会创建实例的快照,并使用此快照将数据还原到在另一个可用区中创建的新卷中。这些新卷立即可供使用,但您可能会遇到一些性能问题。这是因为,数据库实例继续在后台加载数据。此过程称为延迟加载,可能会导致写入延迟增加,并在转换期间和转换后对性能产生影响。性能影响取决于卷类型、工作负载、实例和卷大小。对于操作高峰时段的大型写入密集型数据库实例,这种影响可能很大。

要在修改实例后减少延迟,最佳做法是执行以下操作:

  1. 转换为多可用区后,为您的实例启动故障转移。
  2. 在实例上运行完整的转储数据,以获取来自快照的所有数据。

将实例从单可用区转换为多可用区时,将在另一个可用区中使用相同的配置创建一个新实例。这会带来额外费用。另外,多可用区部署使用同步复制,因此,写入速度相比单可用区要慢。

将多可用区实例修改为单可用区实例的影响

将多可用区实例修改为单可用区实例时,不会出现任何实例停机的情况。在转换过程中,Amazon RDS 仅删除辅助实例和卷,主实例在此期间不受影响。

在将实例从多可用区部署修改为单可用区部署之前,需要考虑以下几点:

  • 如果是多可用区部署,在数据库实例发生计划内或计划外中断时,Amazon RDS 会自动切换到另一个可用区中的备用副本。但是,在单可用区实例中,您可能必须启动时间点还原操作。此操作可能需要几个小时才能完成,并且在最近的可恢复时间之后发生的任何数据更新都不可用。因此,如果发生故障,单可用区实例可能会出现额外的停机。
  • 在多可用区实例中,自动备份是在自动备份时段从辅助实例创建的。对于 Amazon RDS for MariaDB、Amazon RDS for MySQL、Amazon RDS for Oracle 和 Amazon RDS for PostgreSQL,在备份多可用区部署期间,主实例上的 I/O 活动不会暂停,因为备份是从辅助实例中获取的。对于 Amazon RDS for SQL Server,在备份多可用区部署的过程中,I/O 活动会暂停。单可用区数据库实例上的备份过程会导致 I/O 暂停,暂停时间从几秒到几分钟不等,具体取决于数据库实例的大小和类别。
  • 在多可用区部署中,操作系统维护应用于辅助实例。第二个实例被提升为主实例,然后在旧的主实例上执行维护,旧的主实例将成为新的备用实例。因此,在多可用区实例中执行某些操作系统补丁期间,停机时间最短。
  • 如果您正在扩展多可用区实例,则停机时间最短。这是因为,首先将会升级辅助实例。辅助实例将被提升为主实例,然后主实例将被升级。单可用区实例在扩展操作期间变得不可用。

这篇文章对您有帮助吗?


您是否需要账单或技术支持?