如何解决处于不兼容网络状态的 Amazon RDS 数据库的问题?

上次更新时间:2020 年 5 月 13 日

我的 Amazon Relational Database Service (Amazon RDS) 数据库实例处于不兼容网络状态。这意味着什么,我该如何解决?

简短描述

不兼容网络状态表示以下一种或多种情况适用于 Amazon RDS 数据库实例:

  • 启动 RDS 数据库数据库实例的子网中没有可用的 IP 地址。
  • Amazon RDS 数据库子网组中提到的子网在 Amazon Virtual Private Cloud (Amazon VPC) 中不再存在。
  • RDS 数据库实例可公开访问,但 DNS 主机名和 DNS 解析选项已禁用。必须同时启用这两个选项才能使 RDS 数据库实例可公开访问。
  • 您已达到正在使用的 AWS 区域中的弹性网络接口的服务配额,需要请求提高服务配额
  • 在实例停止时删除了 RDS 数据库实例的原始弹性网络接口。RDS 数据库实例重新启动后,未找到弹性网络接口。

RDS 数据库实例的不兼容网络状态可能是执行以下操作之一的结果:

  • 修改 RDS 数据库实例的类。
  • 修改 RDS 数据库实例以使用多可用区部署。
  • 由于维护事件而更换主机。
  • 启动替换 RDS 数据库实例。
    在达到弹性网络接口配额后创建新的 RDS 数据库实例。
  • 从快照备份还原。
  • 启动已停止的 RDS 数据库实例。

有关 RDS 数据库实例处于不兼容网络状态的原因的更多详细信息,请参阅查看 Amazon RDS Events

解决方法

不兼容网络状态意味着 RDS 数据库实例可能仍可在数据库级别访问,但您无法修改或重新引导该实例。因此,最佳做法是始终备份(快照或逻辑)以确保您可以将数据还原到另一个 RDS 数据库实例,以防您的 RDS 数据库实例进入不兼容网络状态。

  1. 打开 Amazon RDS 控制台,然后从导航窗格中选择数据库
  2. 选择处于不兼容网络状态的 RDS 数据库实例,然后记下连接与安全窗格中的 VPC ID 和子网 ID。
  3. 打开 Amazon VPC 控制台,然后从导航窗格中选择您的 VPC
  4. 选择之前记下的 VPC,依次选择操作编辑 DNS 主机名。如果 DNS 主机名未启用,请选中启用复选框。
  5. 您的 VPC,选择之前记下的 VPC,依次选择操作编辑 DNS 解析。如果 DNS 解析未启用,请选中启用复选框。
  6. 从导航窗格中选择子网,然后确认已列出之前从 RDS 数据库实例详细信息部分中记下的所有子网并且具有可用的 IP 地址。
  7. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台,然后确认您没有达到弹性网络接口的配额。如果需要,请求提高服务配额
    注意:默认情况下,每个 AWS 区域的网络接口配额为 350,或者配额是按需 RDS 数据库实例配额乘以 5,以较大者为准。有关更多信息,请参阅网络接口

要修复已处于不兼容网络状态的 RDS 数据库实例,并且之前已为 RDS 数据库实例启用自动备份,请暂时停止对数据库的任何写入,然后执行时间点恢复 (PITR)

如果您尚未启用自动备份,请创建一个新的 RDS 数据库实例。然后,使用您的首选备份和还原数据工具(例如,mysqldump、pg_dump、expdp/impdp)或使用 AWS Database Migration Service (AWS DMS) 迁移数据。

重要提示:实例进入不兼容网络状态后,可能无法在数据库级别访问 RDS 数据库实例以执行逻辑备份。