我想知道将我的 Amazon Relational Database Service (Amazon RDS) 数据库实例由单可用区部署更改为多可用区部署时会发生什么。或者,我想知道将我的实例由多可用区部署更改为单可用区部署时会发生什么。
解决方法
为您的用例选择部署类型
在更改部署类型之前,请查看多可用区和单可用区部署之间的以下区别:
- 单可用区配置在一个可用区中部署 RDS 数据库实例和 Amazon Elastic Block Store (Amazon EBS) 存储卷。
- 多可用区配置在两个可用区部署实例和 EBS 存储卷。
- 当您使用多可用区部署时,Amazon RDS 会维护您的数据的备用副本。Amazon RDS 会检测基础设施故障,然后自动从中恢复,以便您可以快速恢复数据库操作。
- 使用单可用区部署时,可能必须在计划内或计划外停机期间启动时间点恢复 (PITR) 操作。PITR 操作可能需要几个小时才能完成。在最新的可恢复时间之后发生的数据更新不可用,因此您可能会遇到额外的停机时间。
- 对于多可用区部署,Amazon RDS 会在自动备份窗口内从辅助实例创建数据库快照和自动备份。备份过程不会暂停主实例上的 I/O 活动,因为 Amazon RDS 会从 Amazon RDS for MariaDB、Amazon RDS for MySQL、Amazon RDS for Oracle 和 Amazon RDS for PostgreSQL 数据库引擎的辅助实例进行备份。对于 Amazon RDS for SQL Server,备份过程会短暂暂停 I/O 活动。
- 在单可用区部署中,备份过程会导致短暂的 I/O 暂停,可能持续几秒钟到几分钟。时间长短取决于您的实例的大小和类。
- 对于多可用区部署,Amazon RDS 首先将操作系统 (OS) 维护和扩展操作应用于辅助实例。Amazon RDS 将辅助实例升级为主实例,然后对旧的主实例执行维护或修改。旧的主实例成为新的备用实例。因此,在某些操作系统补丁或扩展操作期间,停机时间最短。
- 单可用区实例在扩展操作期间不可用。
**注意:**当您从一种部署类型更改为另一种部署类型时,您不会遇到实例停机时间。
将您的部署类型由多可用区修改为单可用区
修改您的部署类型。
当您将实例由多可用区部署更改为单可用区部署时,Amazon RDS 仅删除辅助实例和卷。修改不影响主实例。
将您的部署类型由单可用区修改为多可用区
修改您的部署类型。
当您将实例由单可用区部署更改为多可用区部署时,Amazon RDS 会创建实例卷的快照。Amazon RDS 使用快照在另一个可用区创建新卷。新卷立即可供使用。
但是,由于延迟加载,在修改过程中和修改之后,您可能会遇到更长的写入延迟。发生这种情况是因为该实例正在后台从 Amazon Simple Storage Service (Amazon S3) 加载新卷的数据。有关详细信息,请参阅恢复到数据库实例。
您遇到的延迟量取决于您的卷类型、工作负载、实例和卷大小。因此,最佳做法是在修改生产实例之前修改测试实例。在维护或低吞吐量时段内修改实例也是一种最佳做法。
要缩短加载持续时间和写入延迟,请完成以下步骤:
- 将实例的存储类型更改为预调配每秒进行读写操作的次数 (IOPS)。预调配远高于工作负载要求的 IOPS 量。
**注意:**如果实例使用自定义参数组,则更改存储类型时可能会出现停机。
- 如果您未更改部署类型,请将实例修改为多可用区部署。
- 在您的实例上启动失效转移,以确保新的可用区为主可用区。
- 对您的实例上的数据进行完整转储。或者,对最活跃的表运行全表扫描查询,以快速将数据加载到卷中。
- 查看 Amazon CloudWatch 中的 WriteLatency 指标,以确认写入延迟恢复到正常水平。
- 将实例的存储类型或 IOPS 改回之前的配置。
**注意:**当您改回存储类型时,不会出现停机时间。
当您将实例由单可用区部署更改为多可用区部署时,Amazon RDS 会在另一个可用区中创建具有相同配置的备用实例。备用实例可能会产生额外费用。此外,由于多可用区部署使用同步复制,因此写入速度略慢于单可用区部署中的写入速度。
相关信息
Amazon RDS Multi-AZ