我想要了解为什么我的 Amazon Aurora 数据库集群处于停机状态。
概述
您的 Amazon Aurora 数据库实例可能会由于多种原因处于停机状态。影响停机的主要因素包括:
- 引擎版本升级
- 数据库集群失效转移
- 进行维护工作
- 数据库集群或实例重启
- 修改数据库集群或实例的某些设置
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请确保您使用的是最新版本的 AWS CLI。
引擎版本升级
引擎版本升级包括主要版本升级和次要版本升级。主要版本升级和次要版本升级都会导致整个 Aurora 数据库集群停机。在升级实际使用的数据库集群之前,请务必在测试数据库集群上测试升级过程。确认该过程的持续时间,然后验证您所用的时间,再进行升级。
您也可以使用 Amazon Relational Database Service (Amazon RDS) 蓝绿部署来升级您集群的主要版本和次要版本。在使用蓝绿部署时,通常会停机不到一分钟来进行升级。
次要版本自动升级
次要版本自动升级会导致整个 Aurora 数据库集群停机。可在集群维护时段内进行次要版本自动升级。如果您不需要此功能,请针对您的数据库实例关闭次要版本自动升级功能。
有关更多信息,请参阅升级 Aurora MySQL 数据库集群的次要版本或补丁程序级别。
注意: 在修改期间,开启次要版本自动升级功能本身不会导致停机。只有在 Aurora 进行自动升级时才会发生停机。
数据库集群失效转移
如果您的 Aurora 数据库集群有一个或多个 Aurora 副本,则该副本将在发生失效转移期间升级为主实例。会发生短暂停机,并且因出现异常而无法进行读取和写入操作。要恢复使用,一般不到 120 秒,但通常不到 60 秒即可。
要提高数据库集群的可用性,请在两个或两个以上的不同可用区 (AZ) 中创建一个或多个 Aurora 副本。有关更多信息,请参阅 Aurora 数据库集群的容错能力。
您的 Aurora 数据库集群的维护工作
某些维护工作(例如更新操作系统或数据库补丁)会导致数据库集群在短时间内脱机。有关更多信息,请参阅维护 Amazon Aurora 数据库集群。
维护时段
当您修改维护时段时,不一定会发生停机。但是您的数据库集群可能会有一个或多个等待执行的操作,这些操作会导致停机。如果您更改了维护时段,然后立即进行等待执行的操作,则会发生停机。有关修改维护时段的更多信息,请参阅关于 Amazon RDS 维护时段,我需要了解哪些信息?
数据库集群或数据库实例重启
重启数据库集群或数据库实例会导致停机。重启集群中的每个数据库实例所需的时间取决于重启时的数据库活动。停机时间还取决于某些数据库引擎的恢复流程。有关更多信息,请参阅重启 Amazon Aurora 数据库集群或 Amazon Aurora 数据库实例。
修改数据库实例类
当您修改实例的数据库实例类时,指定的数据库实例会发生停机,而不是整个集群。有关实例类的更多信息,请参阅 Aurora 数据库实例类。
附加新的数据库集群或数据库参数组
当您修改附加到您数据库实例的数据库集群或数据库参数组时,不会自动发生停机。但是,要对数据库集群参数组进行更改,您必须重启集群中的主数据库实例。对于数据库参数组,必须重启实例才能进行更改。重启本身就会导致停机。有关更多信息,请参阅关联数据库集群参数组与数据库集群和使用参数组。
修改数据库集群或实例的某些设置
修改数据库集群或数据库参数组中的参数设置
数据库参数有静态的,也有动态的。当您修改数据库集群或数据库参数组中的静态参数设置时,参数更改将会在您手动重启每个关联数据库集群中的数据库实例后生效。在重启时会发生停机。
但是,当您修改数据库集群或数据库参数组中的动态参数设置时,则会立即对您的数据库集群进行更改。当您修改动态参数时,不会重启实例,因此不会发生停机。
有关更多信息,请参阅使用参数组。
修改数据库实例标识符
当您修改数据库实例标识符时,会发生停机,因为要重启数据库实例。
修改数据库端口
当您修改要用于访问数据库集群的数据库端口时,会发生停机。之所以发生这种情况,是因为数据库集群中的所有数据库实例会立即重启。
修改证书颁发机构
您可能想要修改数据库实例使用的服务器证书的证书颁发机构 (CA)。在此用例中,如果数据库引擎不支持在不重新启动的情况下进行切换,则会发生停机。使用 describe-db-engine-versions AWS CLI 命令检查数据库引擎是否支持在不重启的情况下进行切换。
有关 Aurora 的哪些设置会影响停机的更多信息,请参阅 Amazon Aurora 的设置。
相关信息
以最少的停机时间为 Amazon Aurora MySQL 进行主要版本升级