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

2 分钟阅读
0

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

简短描述

如果您的 Amazon RDS 数据库实例处于不兼容网络状态,则会出现下列情况之一:

  • 启动数据库实例的子网中没有可用的 IP 地址。
  • Amazon RDS 数据库子网组中提到的子网在 Amazon Virtual Private Cloud (Amazon VPC) 中不再存在。
  • RDS 数据库实例可公开访问,但 DNS 主机名和 DNS 解析选项已关闭。必须同时开启这两个选项才能使 RDS 数据库实例可公开访问。
  • 您已达到您的 AWS 区域中弹性网络接口的服务限额,因而必须请求提高服务限额

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

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

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

解决方法

注意:****不兼容网络状态意味着数据库实例可能仍可在数据库级别访问,但您无法修改或重启该实例。最佳做法是进行备份(例如,快照或逻辑),以便您可以将数据还原到另一个数据库实例。

要解决 Amazon RDS 数据库处于不兼容网络状态的问题,请使用 AWSSupport-ValidateRdsNetworkConfiguration 运行手册或 AWS 管理控制台。

使用 AWSSupport-ValidateRdsNetworkConfiguration 运行手册

要确定您的 Amazon RDS 实例处于不兼容网络状态的原因,请使用 AWSSupport-ValidateRdsNetworkConfiguration 运行手册。为了避免不兼容网络状态,请在执行任何修改或者启动已停止的实例时使用此运行手册。

**注意:**在开始使用 AWSSupport-ValidateRdsNetworkConfiguration 运行手册之前,请确保您的 AWS Identity and Access Management(IAM)用户或角色具有所需的权限。有关更多信息,请参阅 AWSSupport-ValidateRdsNetworkConfigurationRequired IAM permissions 部分。

完成以下步骤:

  1. 登录 AWS Systems Manager 控制台并访问 AWSSupport-ValidateRdsNetworkConfiguration 运行手册。
  2. 选择执行自动化
  3. 输入以下值:
    对于 AutomationAssumeRole,输入允许自动化代表您执行操作的 IAM 角色的 ARN。如果未指定角色,则自动化将使用启动运行手册的用户的权限。
    对于 DBInstanceIdentifier,输入您的 Amazon RDS 实例的 Amazon RDS 实例标识符。
  4. 选择执行
  5. 自动化完成后,在输出部分查看详细结果。参数 generateReport.Report 显示作为此运行手册的一部分执行的所有检查的整合报告。
  6. (可选)有关其他操作,请查看输出报告的 ### [后续步骤] 部分,以进一步进行故障排除。

使用 AWS 管理控制台

  1. 打开 Amazon RDS 控制台
  2. 在导航窗格中,选择数据库
  3. 选择处于不兼容网络状态的数据库实例,然后记下连接和安全性窗格中的 VPC ID 和子网 ID。
  4. 打开 Amazon VPC 控制台,然后从导航窗格中选择您的 VPC
  5. 选择 VPC,然后选择操作
  6. 选择编辑 DNS 主机名。如果未启用 DNS 主机名,请选择启用
  7. 对于您的 VPC,请选择 VPC,然后选择操作
  8. 选择编辑 DNS 解析。如果未启用 DNS 解析,请选择启用
  9. 在导航窗格中,请选择子网。确认所有子网均已列出并具有可用的 IP 地址。
  10. 打开 Amazon Elastic Compute Cloud (Amazon EC2) 控制台,然后检查您是否已达到弹性网络接口的配额。必要时请求提高服务配额
    **注意:**有关每个区域的网络接口配额的更多信息,请参阅网络接口

注意:当 RDS 在以下情况下无法分配您的 IP 地址时,您的实例可能处于不兼容网络状态:

  • 您在 AWS Outposts 上使用了 Amazon RDS。
  • 您激活了客户拥有的 IP(CoIP)地址设置。

要解析处于不兼容网络状态的 RDS 数据库实例,请验证您是否开启了数据库实例的自动备份。如果开启了自动备份,请暂时停止对数据库的任何写入,并执行时间点故障恢复(PITR)
如果未开启自动备份,请创建新的数据库实例。然后,使用 AWS Database Migration Service (AWS DMS) 或者使用备份和恢复工具来迁移数据。您可以使用诸如 mysqldump、pg_dump 或 expdp / impdp 之类的工具。

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

相关信息

查看 Amazon RDS 数据库实例状态

在 VPC 中使用 Amazon RDS 数据库实例

如何修复卡在不兼容参数状态的 Amazon RDS 数据库实例?

AWS Support 自动化工作流(SAW)

运行自动化

设置自动化