如何解决 Amazon RDS 数据库处于不兼容网络状态的问题?
上次更新日期:2022 年 11 月 9 日
我的 Amazon Relational Database Service (Amazon RDS) 数据库实例处于不兼容网络状态。这意味着什么,我该如何解决?
简短描述
不兼容网络状态表示以下一种或多种情况适用于 Amazon RDS 数据库实例:
- 启动 Amazon 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 事件。
解决方法
不兼容网络状态意味着 Amazon RDS 数据库实例可能仍可在数据库级别访问,但您无法修改或重新引导该实例。最佳做法是备份备份(快照或逻辑),以防您的 RDS 数据库实例进入不兼容的网络状态。备份允许您将数据还原到另一个 RDS 数据库实例。
- 打开 Amazon RDS 控制台,然后从导航窗格中选择 Databases(数据库)。
- 选择处于不兼容网络状态的 RDS 数据库实例,然后记下连接与安全窗格中的 VPC ID 和子网 ID。
- 打开 Amazon VPC 控制台,然后从导航窗格中选择您的 VPC。
- 选择之前记下的 VPC,依次选择操作和编辑 DNS 主机名。如果未开启 DNS 主机名,则选中启用复选框。
- 从您的 VPC,选择之前记下的 VPC,依次选择操作和编辑 DNS 解析。如果未开启 DNS 解析,则选中 enable(启用)复选框。
- 在导航窗格中,选择 Subnets(子网)。确认已列出之前在 RDS 数据库实例详细信息部分中注明的所有子网并具有可用的 IP 地址。
- 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台,然后确认您没有达到弹性网络接口的配额。如果需要,请求提高服务配额。
注意:有关每个 AWS 区域的网络接口配额的更多信息,请参阅网络接口。
注意:如果 RDS 在以下情况下无法分配您的 IP 地址,则您的实例将处于不兼容网络状态:
- 您将在 AWS Outposts 上使用 Amazon RDS。
- 您激活客户拥有的 IP (CoIP) 地址设置。
要修复处于不兼容网络状态的 RDS 数据库实例,请验证您是否已开启了 RDS 数据库实例的自动备份。如果您确实开启了自动备份,请暂时停止对数据库的任何写入并执行时间点故障恢复(PITR)。
如果您没有开启自动备份,请创建一个新的 RDS 数据库实例。然后,使用 AWS Database Migration Service (AWS DMS) 或使用备份和恢复工具迁移数据。例如,mysqldump、pg_dump、expdp /impdp。
重要提示:实例进入不兼容网络状态后,可能无法在数据库级别访问 RDS 数据库实例以执行逻辑备份。