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