本文档介绍如何在火山引擎私网解析(PrivateZone)中实现基于 DNS 的负载均衡。
如果一个记录集包含多个记录值,而且每个记录值都有一个权重,那么私网解析 PrivateZone 会统计记录集中所有记录值的权重的和,并计算出每个记录值所占的权重比例。根据每个记录值所占的权重比例,私网解析 PrivateZone 会在响应相同比例的 DNS 查询请求时返回该记录值。
例如,www.example.com
下有一个记录集,包含两个记录值 10.0.0.1
和 10.0.0.2
,其权重分别为 1 和 3。如果私网解析 PrivateZone 收到 100 条匹配该记录集的 DNS 查询请求,25 条 DNS 查询请求的响应中的记录值是 10.0.0.1
,75 条 DNS 查询请求的响应中的记录值是 10.0.0.2
。
私网解析 PrivateZone 对负载均衡有以下限制:
参见 功能版本规格 了解私网解析 PrivateZone 对记录集中的解析记录数量和权重值范围的限制。
注意
在您启用负载均衡之后,私网解析 PrivateZone 的解析缓存会失效。因此,权威 DNS 服务器收到的 DNS 查询请求数量会增加,这也会造成计费增加。
例如:
一个常见的场景是新服务的灰度发布。新服务有独立的 IP 地址。您可以先为新服务设置较小的权重,使少量的流量被路由到新服务的 IP 地址。经过监控和测试,您通过增加权重来逐渐增加路由到新服务的 IP 地址的流量,并最终实现新服务的全量发布。
假设您的业务域名是 ecs.example.com
。该域名指向的 IP 地址是 10.0.0.128
。您需要灰度发布一个新服务。新服务的 IP 地址是 10.0.0.1
。您希望 22% 的用户请求被路由到 10.0.0.1
,78% 的用户请求被路由到 10.0.0.128
。
添加域名 example.com
。参见 添加域名。您需要在添加域名时开启负载均衡。
参见以下步骤实现示例场景中的用户请求分配比例。
说明
如果您在创建域名时,没有开启负载均衡,您为该域名创建解析记录时,控制台就不会显示权重相关的设置。
打开 ecs.example.com
解析记录的 编辑记录 页面。参见 更新解析记录。
在 编辑记录 页面,设置以下参数。
基本信息
参数 | 描述 |
---|---|
域名 | 设置为 |
记录类型 | 设置为 A。 |
TTL | 设置为 10分钟。 |
线路 | 设置为 默认线路。 |
负载均衡 | 设置为 开启。 |
记录值
记录值 | 权重 | 是否启用 |
---|---|---|
10.0.0.1 | 22 | 启用 |
10.0.0.128 | 78 | 启用 |
参数配置完成后,点击 提交。