如何跨多个 Amazon RDS 只读副本分发读取请求?

上次更新时间:2019 年 7 月 19 日

如何跨多个 Amazon Relational Database Service(Amazon RDS)只读副本分配读取请求?

简短描述

您可以使用 Amazon Route 53 加权记录集跨多个只读副本分配请求。在 Route 53 托管区域内,为与您的只读副本关联的每个 DNS 终端节点创建单独的记录集,并为其提供相同的权重。然后,将请求定向至记录集的终端节点。

解决方法

查找只读副本的 DNS 终端节点 URL

  1. 打开 Amazon RDS 控制台
  2. 从导航窗格中选择 Databases(数据库),然后选择每个只读副本。
  3. 记录(或复制)Endpoint(终端节点)旁的 DNS 终端节点 URL。

创建 Route 53 托管区域
注意:如果您已经有一个托管区域,可以跳过此步骤

  1. 打开 Route 53 控制台,然后从导航窗格中选择 Hosted zones(托管区域)。
  2. 选择 Create Hosted Zone(创建托管区域)。
  3. 域名注释部分,键入名称和注释。要阻止外部资源访问只读副本,对于 Type(类型),为只读副本所在的 VPC 选择 Private Hosted Zone(私有托管区域)。否则,将 Type(类型)设置保留为 Public(公有)。
    注意:如果指定 Public(公有),则您必须拥有您在托管区域指定的域。
  4. 选择 Create(创建)。

创建记录集

创建托管区域后,选择该区域,然后选择创建记录集并使用以下属性:

  • 名称部分输入名称。您将使用此名称作为访问只读副本的终端节点 URL。
  • Type(类型)设置为 CNAME
  • 对于 TTL value(TTL 值),请将其设置为符合您需求的值。这将决定每个只读副本接收请求的频率。
  • Value(值)字段中,粘贴第一个只读副本的 DNS 终端节点。
  • 对于 Routing Policy(路由策略),选择 Weighted(加权)。
  • 您可以在 Weight(权重)字段中输入任意值,但应对每个副本的记录集使用相同的值。
  • 对于 Set ID(集 ID),输入一个名称。
  • 配置 Health Check(运行状况检查)是可选操作,但这是最佳实践。有关更多信息,请参阅创建 Amazon Route 53 运行状况检查和配置 DNS 故障转移

配置记录集后,选择 Create(创建)。

重复以上步骤,为每个额外的只读副本创建记录集。确保记录集使用相同的名称、相同的生存时间 (TTL) 值和相同的权重值。这有助于平均分配请求。

您可以添加更多只读副本,以响应更多连接或高资源使用率,而无需更改应用程序终端节点。您可以纳入 Route 53 运行状况检查,以确保 Route 53 不会将流量定向到不可用的只读副本。


这篇文章对您有帮助吗?


您是否需要账单或技术支持?