如何解决处于不兼容网络状态的 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 数据库实例进入不兼容网络状态。
- 打开 Amazon RDS 控制台,然后从导航窗格中选择数据库。
- 选择处于不兼容网络状态的 RDS 数据库实例,然后记下连接与安全窗格中的 VPC ID 和子网 ID。
- 打开 Amazon VPC 控制台,然后从导航窗格中选择您的 VPC。
- 选择之前记下的 VPC,依次选择操作和编辑 DNS 主机名。如果 DNS 主机名未启用,请选中启用复选框。
- 从您的 VPC,选择之前记下的 VPC,依次选择操作和编辑 DNS 解析。如果 DNS 解析未启用,请选中启用复选框。
- 从导航窗格中选择子网,然后确认已列出之前从 RDS 数据库实例详细信息部分中记下的所有子网并且具有可用的 IP 地址。
- 打开 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 数据库实例以执行逻辑备份。