跳至内容

为什么我的 Amazon RDS 数据库实例发生重启、恢复或失效转移?

2 分钟阅读
0

我想知道我的 Amazon Relational Database Service (Amazon RDS) 数据库实例发生重启、恢复或失效转移的根本原因。

简短描述

在以下条件下,Amazon RDS 数据库实例会自动执行重启:

当数据库实例显示潜在问题且无法响应 Amazon RDS 运行状况检查时,Amazon RDS 会自动执行以下操作之一:

  • 对于单可用区部署,Amazon RDS 会启动单可用区恢复。
  • 对于多可用区部署,Amazon RDS 会为多可用区部署启动多可用区失效转移。

然后,Amazon RDS 会重启数据库实例,这样您就可以在没有管理干预的情况下尽快恢复数据库操作。

解决方法

要确定中断的原因,请检查数据库实例的以下日志和指标。另外,请务必遵循最佳实践。

Amazon RDS 事件消息

要确定实例意外中断的根本原因,请查看过去 24 小时内的所有 Amazon RDS 事件。默认情况下,Amazon RDS 以 UTC/GMT 时间注册所有事件。要将事件存储更长时间,请将 Amazon RDS 事件发送到 Amazon CloudWatch Events。当您的实例重启时,您会在 Amazon RDS 事件通知中看到以下消息之一。

客户修改了 RDS 实例

此 RDS 事件消息表示 RDS 实例修改启动了失效转移。

对数据库实例类应用修改

此 RDS 事件消息表示数据库实例类类型根据部署类型发生变化:

  • 在此扩缩操作期间,单可用区部署在几分钟内不可用。
  • 在实例进行失效转移所需的时间内,多可用区部署不可用。此持续时间通常约为 60 秒。之所以出现这种延迟,是因为备用数据库在新调整大小后的数据库发生失效转移之前进行了升级。然后,您的数据库重启,引擎执行恢复操作以确保您的数据库保持一致状态。

用户请求对数据库实例进行失效转移

此消息表示用户使用了 Reboot(重启)或 Reboot with failover(通过失效转移重启)选项对数据库实例发起手动重启。

RDS 多可用区实例的主主机运行状况不佳
这个原因表明,短暂的底层硬件问题导致与主实例的通信中断。此问题可能会导致实例运行状况不佳,因为 RDS 监控系统无法与 RDS 实例通信以执行运行状况检查。

由于网络连接中断,RDS 多可用区实例的主主机无法访问

此原因表明,影响多可用区部署的主主机的短暂网络问题导致了多可用区失效转移和数据库实例重启。内部监控系统检测到此问题并启动了失效转移。

RDS 多可用区主实例繁忙且无响应、多可用区实例激活已开始或多可用区实例激活已完成

事件日志在以下情况下显示这些消息:

  • 主数据库实例无响应。
  • 过多内存消耗导致数据库中的内存资源紧张,导致 RDS 监控系统无法联系底层主机。作为一项主动措施,监控系统会重启数据库。
  • 数据库实例在底层主机上遇到了间歇性的网络问题。
  • 该实例经历了数据库负载。在这种情况下,您可能会注意到 CloudWatch 指标达到峰值:CPUUtilization、DatabaseConnections、IOPS 指标和吞吐量详细信息。您可能还会注意到 Freeablememory 耗尽。

数据库实例已修补

此消息表示数据库实例在维护时段内进行了次要版本升级。之所以出现此消息,是因为实例的次要版本自动升级设置已启用。

CloudWatch 指标

要检查数据库负载问题是否导致了中断,请查看 Amazon RDS 实例的 CloudWatch 指标。以下关键指标达到峰值可能表明 RDS 实例的可用性和运行状况存在问题:

  • DatabaseConnections
  • CPUUtilization
  • FreeableMemory
  • WriteIOPS
  • ReadIOPS
  • ReadThroughput
  • WriteThroughput
  • DiskQueueDepth

增强监控

Amazon RDS 将增强监控中的指标传送到您的 Amazon CloudWatch Logs 账户中。此功能为运行数据库实例的操作系统提供实时指标。您可以在控制台上查看数据库实例的所有系统指标和进程信息。

数据库洞察

CloudWatch Database Insights 控制面板包含与您的数据库性能相关的信息,您可以使用这些信息来分析和排查性能问题。使用 Database Insights 控制面板分析查询的统计信息。最佳做法是使用此控制面板上的信息来调整查询性能并优化工作负载。有关详细信息,请参阅查看数据库实例控制面板以获取 CloudWatch Database Insights。

**注意:**为了减少问题,最佳做法是与数据库管理员合作进行这些更改。

RDS 数据库日志

要对数据库实例的中断原因进行故障排除,您可以使用 Amazon Aurora 和 RDS 控制台或 Amazon RDS API 操作查看、下载或监控数据库日志文件。您还可以查询加载到数据库表中的数据库日志文件。有关详细信息,请参阅监控 Amazon RDS 日志文件。

处理 RDS 实例中断时,请记住以下最佳实践:

相关信息

哪些因素会影响 Amazon RDS 中的停机时间或数据库性能?

为什么 Amazon RDS 数据库实例进行了失效转移?

如何在必要的 Amazon RDS 维护期间最大限度减少停机时间?

如何检查我的 Amazon RDS for PostgreSQL 或 Aurora PostgreSQL 数据库实例正在运行的查询并诊断资源消耗问题?

AWS 官方已更新 9 个月前