概述

本文向您介绍HTTPDNS的自定义解析功能的原理和使用流程。

自定义解析功能简介

在业务场景中如果您需要为域名自定义解析结果,可以使用 HTTPDNS 提供的自定义解析功能。该功能允许您为某一个域名配置规则来获得自定义解析结果或者配置一个函数计算服务来返回自定义解析结果。

应用场景

  • 灰度测试:假设您的域名是 www.example.com,因为业务增长发布了新的服务,新的服务IP1.1.X.X,在服务全量发布前,您希望对电信_上海访问域名的流量进行特定APP版本号的灰度测试。对于这些流量访问www.example.com时发起的域名解析请求返回1.1.X.X

  • 流量调度:假设某个汽车企业服务域名是 www.example.com希望DNS解析过程中可以根据特定的业务逻辑返回位于不同区域的服务器的 IP 地址。例如根据汽车常驻地返回不同的服务IP,某辆汽车的常驻地区在广州,对于该汽车访问 www.example.com 时发起的 DNS 查询请求返回位于广州的服务器的 IP 地址。

规则策略

规则策略是指可以通过某种规则来达到自定义解析的目的。您可以对网络线路进行更精细的配置,并通过配置不同的解析参数,使来自不同运营商和地域的用户流量精准路由至不同的服务地址。

规则策略解析流程如下:

image

您在 HTTPDNS 控制台为要解析的域名添加一条自定义解析规则策略,并在客户端通过 SDK 或 HTTP API 发送带有自定义解析参数( 如何添加自定义解析参数)的 DNS 查询请求。收到查询请求后,HTTPDNS 服务端就会根据匹配规则返回符合业务需求的解析结果。

使用流程

  • 登录EMAS控制台

  • 选择域名列表,添加一个需要解析的域名

  • 从左侧导航栏选择自定义解析,点击添加自定义解析按钮

  • 在弹出的抽屉中选择刚添加的域名,并配置对应的线路和规则,保存

  • 在规则策略列表中启用规则后生效

如何添加一条规则策略,查看 添加规则策略详细了解。

函数计算策略

函数计算策略通过链接阿里云的函数计算服务来实现域名访问流量的策略调度,相对于规则策略更灵活。可以将您的业务策略写入函数计算服务中,在解析的钩子函数中配置对应的函数计算服务,以实现更为复杂的业务诉求。

函数计算原理图如下:

image

HTTPDNS服务端的解析生命周期中,在不同阶段开放了对应的钩子,在钩子中可以关联对应的函数计算服务。

在使用函数计算策略前,需要先获得函数计算相关角色权限,以下是具体的使用流程:

使用流程

33步骤一、配置函数计算服务

您需要开通函数计算服务,并开发自定义解析函数,完成开发后发布您的服务及函数,生成版本或别名。具体请参见 新建函数计算服务

说明

自定义解析函数在函数计算控制台进行开发、调试, 为确保HTTPDNS函数计算策略安全运行,配置函数计算策略时不推荐选取默认的Latest版本选项,请指定正式发布函数计算的服务和函数版本。

步骤二、授权服务关联角色

HTTPDNS调用函数计算实现自定义解析功能时,需要在HTTPDNS控制台授权服务关联角色以允许HTTPDNS使用函数计算,服务角色介绍请参见授权服务关联角色

步骤三、为域名添加函数计算策略

每个需要自定义解析的域名只能配置一个函数计算策略,多个自定义解析域名的函数计算策略可以配置相同的函数计算服务。

添加函数计算策略,具体请查看 添加函数计算策略

步骤四、开启函数计算策略

添加配置完成函数计算策略后,默认函数计算策略处于关闭状态,请在对应列表中开启。

如何启用策略,具体请查看 管理自定义解析策略

规则策略和函数计算策略的关系

image