我正在使用 Amazon Relational Database Service(Amazon RDS)多可用区部署。为什么我无法在故障转移后与我的 RDS 数据库实例通信? 如何避免出现此情况?
简短描述
使用多可用区部署时,Amazon RDS 会在与子网关联的一个可用区中创建主数据库实例。然后,Amazon RDS 在与不同子网关联的不同可用区中创建备用数据库实例。
如果主实例的子网具有与备用数据库实例的子网不同的流量路由规则,则在故障转移后,可能会遇到连接问题。要避免这些连接问题,请确保数据库子网组中的子网具有一致的路由规则(如路由表中所定义)。
要确保数据库子网组中的子网具有一致的路由规则,请将各子网与同一个路由表相关联。要创建具有与同一路由表关联的子网的数据库子网组,请按照下列步骤操作:
- 创建 Amazon Virtual Private Cloud (Amazon VPC)。
- 创建 Internet 网关并将其附加到 VPC。
- 在每个可用区中创建子网。
- 创建指向 Internet 网关的路由。
- 将子网与路由表相关联。
- 创建与 VPC 关联的数据库子网组。
**注意:**还有其他问题可能还会导致数据库实例出现连接问题。有关排查 Amazon RDS 连接问题的其他方法,请参阅如何解决连接至 Amazon RDS 数据库实例时遇到的问题?
解决方法
创建 VPC
- 打开 Amazon VPC 控制台。
- 从导航窗格中选择 Your VPCs(您的 VPC)。
- 选择创建 VPC。
- 对于名称标签,输入 VPC 的名称。
- 对于 IPv4 CIDR 块,输入 CIDR 块。
- 对于 IPv6 CIDR 块,选择无 IPv6 CIDR 块。
- 对于租赁,选择默认。
- 选择是,创建。
创建互联网网关并将其附加到 VPC
按照创建并附上互联网网关中的步骤操作。
在每个可用区中创建一个子网
- 打开 Amazon VPC 控制台。
- 在导航窗格中,选择 Subnets(子网)。
- 选择 Create Subnet(创建子网)。
- 对于名称标签,输入子网的名称。
- 对于 VPC,选择创建的 VPC。
- 对于可用区,在 VPC 中选择一个可用区。
- 对于 IPv4 CIDR 块,输入 VPC CIDR 的 CIDR 块子网。
- 选择是,创建。
- 对 VPC 中的每个可用区重复步骤 2 到 8。
创建指向互联网网关的路由
- 打开 Amazon VPC 控制台。
- 在导航窗格中,选择 Route Tables(路由表)。
- 从资源列表中,选择与您创建的 VPC 关联的路由表。
- 选择 Routes(路由)选项卡。然后选择 Edit(编辑)。
- 选择添加其他路由。
- 对于描述,输入 0.0.0.0/0。
- 对于 Target(目标),选择所创建的互联网网关。
- 选择 Save(保存)。
将子网与路由表相关联
- 选择路由表,然后选择子网关联选项卡。
- 选择编辑。
- 为 VPC 中的所有子网选择关联。
- 选择 Save(保存)。
创建与 VPC 关联的数据库子网组
- 打开 Amazon RDS 控制台。
- 从导航窗格中,选择子网组。
- 选择 Create DB Subnet Group。
- 对于名称,输入数据库子网组的名称。
- 对于描述,输入数据库子网组的描述。
- 对于 VPC,选择创建的 VPC。
- 对于可用区,选择一个可用区。
- 对于子网 ID ,选择与先前选择的可用区对应的子网。
- 选择添加。
- 为各子网重复步骤 7 到 9。
**注意:**如果要将 VPC 的所有子网添加到子网组,则可以跳过步骤 7 到 9。选择 Add all subnets related to this VPC(添加与此 VPC 相关的所有子网),以将此 VPC 的所有子网添加到子网组。
- 选择 Create(创建)。
创建数据库子网组后,可以在关联的 VPC 中启动多可用区数据库实例。这些实例现在具有一致的路由规则,因为数据库子网组中的子网与相同的路由表相关联。
相关信息
Amazon RDS 的高可用性(多可用区)