基于 DNS 实现地理位置或线路分流
在 AxisNow 统一编排第三方 DNS 解析记录。
背景知识
传统的 CDN 提供商需要您将域名指向到其 CNAME 或进行 DNS 托管。AxisNow 不同的是将 DNS 和 Proxy 进行松耦合设计。它们之间的工作流互不干扰。这意味着您可以灵活使用多 CDN 架构,并根据您的业务需要灵活配置流量路由方式。
AxisNow 的 Edge/Proxy 配置是在您的租户内所有边缘同步生效。意味着您将流量路由至任意的 EIP 都可提供服务。如何将您的流量路由至 EIP 取决于您的用例,假设 www.axisnow.io
是您的应用服务域名,常见的方式如下:
本机测试:您可在本机通过修改 Hosts 配置文件将
www.axisnow.io
指向到您的任意 EIP 以测试访问情况。在您的 DNS 提供商处修改
www.axisnow.io
的 A 记录到 EIP。您可以配置单个、多个或基于地理位置、线路等方式。具体取决于您的 DNS 提供商。

创建一个专用于流量路由的域名,例如
gtm.axisnow.app
。这样您可以将多个业务域名通过 CNAME 指向流量路由域名。这是大多数 CDN 提供商的做法。本篇指南将以此为例。

先决条件
已创建 AxisNow 租户
订阅 DNS 路由插件
一个专用的流量路由域。并将权威 DNS 托管在 Cloudflare/阿里云/腾讯云/华为云其中之一
工作原理

步骤指引
创建路由规则,配置流量路由域名
在 DNS 路由插件单击路由规则菜单栏,单击右上角的新增按钮。此图例中已完成了多个规则配置。


和 AxisNow 大多数插件一样,您可以使用一致的范式配置规则。在此示例中:
条件
Zone:
axisnow.app
域名:
gtm.axisnow.app
记录类型:当前仅支持 A 记录
线路:不同 DNS 提供商或不同的套餐版本可配置的线路将有所差异。这取决于您的 DNS 提供商能力。
动作
地址池:地址池定义了该条规则可选取的地址范围。可配置所有 EIP或基于标签的 EIP。您甚至可以配置非 AxisNow 的外部 IP 地址(通过 IP 对象或手动输入 IPs)。
地址过滤:地址过滤(Bypass)定义了需要剔除的 IP 地址。这在需要自动化故障转移时会很有用。在上述图例中,我们已创建了命名为 故障 IP 的 IP 对象在此引用。
同步策略:地址池和地址过滤共同决定了选取的地址范围。而同步策略决定了如何在限定范围内进一步选取最终 IP。
地址选举和数量:当前仅支持随机选举策略,后续我们将视用户反馈开发更多策略,例如基于延迟、基于优先级等。数量定义了该条解析记录的最终数量。图例中:
gtm.axisnow.app
的预期效果将是:默认线路 A 记录解析至 2 个 EIP。地址存活时间:对应 DNS 解析记录的 TTL 值。同样取决于您的 DNS 提供商能力。
完成上述配置后,单击确认规则将立即生效。您可以在列表中查看已生成的解析记录。

预期效果
完成上述配置后,访问 www.axisnow.io
或 api.axisnow.io
将会发生什么:

客户端通过 Local DNS 发起
www.axisnow.io
或api.axisnow.io
DNS 查询请求。权威 DNS 应答为
gtm.axisnow.app
Local DNS 继续查询
gtm.axisnow.app
解析地址权威 DNS 应答为
1.1.1.1, 2.2.2.2
客户端向
1.1.1.1, 2.2.2.2
发起www.axisnow.io
或api.axisnow.io
的 HTTP/S 请求边缘代理转发流量到上游服务
后续步骤
恭喜!现在您已启动并运行,您可以使用洞察查看 DNS 路由事件。或进一步配置 EIP 的健康检查和 DNS 故障转移。
我们非常乐意听取您对产品和体验的反馈。您可以在此向我们反馈任何问题。


最后更新于
这有帮助吗?