配置自动故障切换
DNS故障转移是指流量转向配置,在该配置下,平台会自动将DNS流量从故障或不可用的终端转移,选择替代方案,以确保您的应用程序和服务在故障期间的高可用性。 如果多个终端承载同一应用程序或提供相同服务,建议采用此配置。 自动化这一流程可以轻松快速地适应不断变化的网络条件,从而最大限度地减少停机时间,并减少维护这一配置所需的人工。
在 IBM® NS1 Connect® 平台上,自动故障切换配置的关键组件包括
- NS1 Connect 监控器或第三方数据源可跟踪端点的启动/关闭状态。
- 数据源将显示器与相应DNS答案的上下状态连接起来,从而实现自动更新。
- Filter Chain 包含 "向上 "过滤器,可在做出流量转向决策时消除不可用的答案。 通常情况下,上行过滤器会与其他交通转向过滤器结合使用。 例如:
- Up + Priority + Select First N 支持主动-被动故障切换配置。
- 向上 + 随机播放 + 选择 第一个 N 支持主动-主动故障切换,采用循环流量分配。
- 向上 + 地理定位 区域 + 选择 第一个 N 支持基于地理分布的主动-主动故障切换。
工作原理
假设您有一个包含多个答案的A记录 ——每个答案都指定了可访问应用程序或服务的主机的 IPv4 地址。 要配置自动故障转移,需要为每个端点创建一个监控器,将每个监控器连接到相应的 DNS 答案,并在记录中创建一个包含 Up 过滤器的 Filter Chain 。
每个显示器都会频繁地从一个或多个监控区域探测其指定的端点,以确定是否应根据监控设置中定义的启动条件将其视为启动或可用。 如果探测结果不符合这些条件,则终端被视为关闭。 作为回应,连接显示器与其相应答案的数据源会推送更新,自动将答案的向上元数据值更改为false。
当平台接收到有关记录域和类型的查询时,它会参考 Filter Chain ,以确定要返回的最佳答案。 Filter Chain 必须包含 Up 过滤器,以方便自动故障切换,但它通常与其他过滤器一起使用,以应用辅助处理。 如果没有额外的过滤器,只要答案正常运行 ,就有可能将所有流量导向同一个答案。
例如,如果 Filter Chain 包含向上、洗牌和选择前 N 个过滤器(按此顺序),则传入查询将按以下方式处理:
- 向上筛选器在将列表传递给下一个筛选器之前,会从答案池中删除所有标记为向下的答案。 请注意,由于您已配置自动更新,因此每个答案的“上升”/“下降”状态反映了所监控的端点。
- (可选)随机播放(Shuffle)过滤器可随机排列列表中答案的顺序。 请注意,在“向上”过滤器之后可以使用许多过滤器,以实现可用终端之间更均匀的流量分配,或者根据某些条件优先选择特定终端。
- 选择前N个过滤器将列表中除前N个(数字)答案外的所有答案都排除在外。 在大多数情况下,默认情况下,N被设置为1,这意味着列表中仅保留第一个答案。 该过滤器位于大多数 Filter Chain 配置的末尾,以确保只向请求客户端返回一个答案。
Filter Chain 至少必须包括 "向上 "过滤器,以支持自动故障切换,但大多数 Filter Chain 都会根据所需的结果利用其他过滤器。 例如,"选择前 N 个 "过滤器通常放在 Filter Chain 的末尾,以便只向请求客户端返回一个答案。 此外,还可以使用其他过滤器,例如随机或基于地理位置的过滤器,以在可用终端之间实现更均匀的流量分配,或者根据某些条件优先选择特定终端。
第一步:创建或连接监控任务
创建 NS1 Connect 监控任务 ,或从支持的监控集成中连接外部监控任务 ,以收集应用程序端点或服务的运行/停止状态。
第二步:将监控作业信息与相应的答案联系起来
通过将每个作业源连接到DNS记录中每个答案的Up/down元数据字段,配置从监控作业到相应答案的自动更新。 有关说明,请参阅将作业或进料连接到 DNS 答案。
第 3 步:创建包含 Up 过滤器的 Filter Chain
请参考以下步骤配置支持主动-主动或主动-被动故障切换配置的 Filter Chain 。
- 在记录详细信息页面,单击创建 Filter Chain。
- 点击向上筛选器旁的 + )。
- (建议)在 Filter Chain 中间添加一个或多个过滤器,以应用二级进程。 当有多个或全部答案可用时,这样做有助于防止一个端点过载。
- 如果配置一个主终端和一个或多个备用终端的主动-被动配置,请使用优先级过滤器,并为每个应答输入优先级元数据值。 请注意,数字越小表示优先级越高——例如,1为最高优先级。注意: 除非在答案元数据中定义了优先级,否则“记录详情”页面上的答案顺序表示优先级顺序。 如果您不覆盖优先级,或者在此链中的向上过滤器之后使用第二个过滤器,则平台将始终返回此页面上显示的第一个答案(如果有)。
- 如果配置主动-主动配置,其中所有端点应共享 DNS 流量,请使用另一个过滤器进行二次过滤。 例如,使用“随机”过滤器将流量平均分配到各个终端,使用“加权随机”过滤器将流量更频繁地分配到特定终端,使用地理过滤器优先考虑与请求者地理位置相近的终端,或者使用其他过滤器达到预期效果。注意: 如果您应用了引用答案元数据的过滤器,则必须手动编辑答案元数据或连接数据源以自动更新该字段。
- 如果配置一个主终端和一个或多个备用终端的主动-被动配置,请使用优先级过滤器,并为每个应答输入优先级元数据值。 请注意,数字越小表示优先级越高——例如,1为最高优先级。
- (建议)在 Filter Chain 末尾添加 Select First N 过滤器,以控制返回给请求客户端的响应次数。
- 单击保存 Filter Chain。
至此,自动配置过程完成。 当客户查询 DNS 记录时,任何标记为关闭的终端将从答案池中删除,以确保请求者能够连接到您的应用程序或服务。