高级概念

面向 Azure DNS 专用区域的 Citrix ADC 部署指南

简介

Citrix ADC 以前称为 NetScaler,是应用程序交付控制器 (ADC) 空间中的世界级产品,具有负载平衡、管理全局流量、压缩和安全应用程序的能力。

Azure DNS 是 Microsoft 基础结构上的服务,用于托管 DNS 域和提供名称解析。

Azure DNS 私有区域是一项专注于解析私有网络中的域名的服务。借助私有区域,客户可以使用自己的自定义域名,而不是现在可用的 Azure 提供的域名。

Azure DNS 概述

域名系统(DNS)负责将服务名称转换(或解析)为其 IP 地址。Azure DNS 是一款面向 DNS 域的托管服务,它使用 Microsoft Azure 基础结构提供名称解析。除了支持面向Internet的 DNS 域外,Azure DNS 现在还支持私有 DNS 域。

Azure DNS 提供可靠、安全的 DNS 服务来管理和解析虚拟网络中的域名,而无需自定义 DNS 解决方案。通过使用私有 DNS 区域,您可以使用自己的自定义域名,而不是目前可用的 Azure 提供的域名。使用自定义域名可帮助您定制虚拟网络体系结构,以最适合您组织的需求。它为虚拟网络内和虚拟网络之间的虚拟机 (VM) 提供名称解析。此外,客户还可以使用水平分割视图配置区域名称,该视图允许私有 DNS 区域和公有 DNS 区域共享名称。

适用于 Azure DNS 专用区域的 Citrix GSLB?

在当今世界,企业希望将其工作负载从本地迁移到 Azure 云。向云的过渡使他们能够利用上市时间、资本支出/价格、易于部署和安全性。Azure DNS 私有区域服务为将部分工作负载转移到 Azure 云的企业提供了一个独特的主张。这些企业在使用私有区域服务时可以创建自己的私有 DNS 名称,这是他们在本地部署中使用多年的私有 DNS 名称。由于内部网应用程序服务器位于本地,Azure 云通过安全 VPN 隧道连接,因此面临的一个挑战是用户如何能够无缝访问这些内联网应用程序。Citrix ADC 通过其全局负载平衡功能解决了这一独特的使用案例,该功能可将应用程序流量路由到本地或 Azure 云上的最佳分布式工作负载/服务器,并提供应用程序服务器运行状况。

用例

本地网络和不同的 Azure VNET 中的用户应能够连接到内部网络中最佳服务器以访问所需内容。这确保了应用程序始终可用,优化了成本和良好的用户体验。Azure 私有流量管理 (PTM) 是这里的主要要求。Azure PTM 可确保用户的 DNS 查询解析为应用程序服务器的相应私有 IP 地址。

用例解决方案

Citrix ADC 包括全局服务器负载平衡 (GSLB) 功能,可帮助满足 Azure PTM 要求。GSLB 就像一个 DNS 服务器,它获取 DNS 请求并将该 DNS 请求解析为适当的 IP 地址,以提供:

  • 基于 DNS 的无缝故障
  • 从本地到云的分阶段迁移
  • A/B 测试一项新功能

在支持的众多负载均衡方法中,以下方法在此解决方案中可能很有用:

  1. 轮询
  2. 静态接近(基于位置的服务器选择):可以通过两种方式部署

    1. Citrix ADC 上基于 EDNS 客户端子网 (ECS) 的 GSLB
    2. 为每个虚拟网络部署 DNS 转发器

拓扑

  • 适用于 Azure 私有 DNS 区域的 Citrix ADC GSLB 部署在逻辑上如图 1 所示。

图 1:适用于 Azure DNS 专用区域的 Citrix ADC GSLB

  • 用户可以在 Azure 私有 DNS 区域中基于 Citrix ADC GSLB 负载平衡方法访问任何应用程序服务器
  • 本地和 Azure 虚拟网络之间的所有流量仅通过安全 VPN 隧道
  • 应用程序流量、DNS 流量和监视流量显示在前面的拓扑中。
  • 根据所需的冗余,可以在虚拟网络和数据中心部署 Citrix ADC 和 DNS 转发器。为简单起见,此处仅显示一个 Citrix ADC,但我们建议至少为 Azure 区域使用一组 Citrix ADC 和 DNS 转发器。
  • 所有用户 DNS 查询首先转到 DNS 转发器,该转发器定义了将查询转发到相应 DNS 服务器的规则。

为 Azure DNS 专用区域配置 Citrix ADC

经过测试的产品和版本

产品 版本
Azure 云端订阅
Citrix ADC VPX BYOL(自带许可证)

注意: 部署已经过测试,并且与 Citrix ADC 版本 12.0 及更高版本保持不变。

必备条件和配置说明

以下是本指南的一般必备条件和经过测试的配置,请在配置 Citrix ADC 之前进行交叉检查:

解决方案描述

假设客户希望托管一个应用程序 Azure DNS 专用区域(rrr.ptm.mysite.net),该应用程序在 HTTPS 上运行,并且基于轮询 GSLB 负载平衡方法在 Azure 和本地部署,具有内联网访问权限。要通过使用 Citrix ADC 启用适用于 Azure 私有 DNS 区域的 GSLB 来实现此部署,包括两部分:配置 Azure、内部部署和 Citrix ADC 设备。

第 1 部分:配置 Azure,本地安装程序

如拓扑中所示,设置 Azure 虚拟网络(在本例中为 VNet A,VNet B)和本地设置。 步骤 1:创建具有域名 (mysite.net) 的 Azure 私有 DNS 区域 步骤 2:在 Azure 区域的集线器和辐条模型中创建两个虚拟网络(VNet A、VNet B)
步骤 3:在 VNet 中部署应用程序服务器、DNS 转发器、Windows 10 专业客户端和 Citrix ADC 步骤 4: 部署应用程序服务器并部署 DNS 转发器(如果任何客户端位于 VNet B中) 步骤 5:在本地部署应用程序服务器、DNS 转发器和 Windows 10 专业客户端

Azure 私有 DNS 区域

登录 Azure 门户并选择或创建控制板。现在,单击创建资源并搜索 DNS 区域以创建一个资源(本例中为 mysite.net),如下图所示。

Azure 门户 DNS 区域示例

在集线器和辐条模型中的 Azure 虚拟网络(VNet A,VNet B)

选择同一控制板,然后单击 创建资源并搜索虚拟网络 以创建两个虚拟网络,即同一区域中的 VNet A、VNet B,然后对等它们形成集线器和辐条模型,如下图所示。有关如何设置中心和分 支拓扑的信息,请参阅在 Azure 中实施中心辐射型网络 拓扑。

虚拟网络 A (VNet A)

虚拟网络 B (VNet B)

VNet A 到 VNet B 对等网络

要对等 VNet A 和 VNet B,请从 VNet A 和对等 VNet B 的设置菜单中单击对等,启用“允许转发流量”和“允许网关传输”,如下图所示。

VNet A 到 B

成功对等互连后,您会看到如下图所示:

虚拟网络 A 对等

VNet B 到 VNet A 对等网络

要将 VNet B 和 VNet A 对等,请在 VNet B 和 VNet A 的设置菜单中单击对等,启用“允许转发通信”并使用远程网关,如下图所示。

VNet B 到 VNet A

成功对等互连后,您会看到如下图所示:

虚拟网络 B 对等

在 VNet A 中部署应用程序服务器、DNS 转发器、Windows 10 Pro 客户端、Citrix ADC

我们简要讨论有关 VNet A 上的应用服务器、DNS 转发器、Windows 10 专业客户端和 Citrix ADC 的信息。选择相同的控制板,单击创建资源,搜索相应的实例并从 VNet A 子网分配 IP

应用程序服务器

应用程序服务器不过是 Web 服务器(HTTP 服务器),其中 Ubuntu 服务器 16.04 作为实例部署在 Azure 或本地 VM 上并运行 CLI 命令:sudo apt install apache2 使其成为 Web 服务器

Windows 10 Pro 客户端

在 VNet A 和本地启动 Windows 10 专业版实例作为客户端计算机。

Citrix ADC

Citrix ADC 通过运行状况检查和来自 Citrix MAS 的分析对 Azure DNA 专用区域进行补充。根据您的要求从 Azure 应用商店启动 Citrix ADC,在本文中,我们已使用 Citrix ADC (BYOL) 进行此部署。有关如何在 Microsoft Azure 上部署 Citrix ADC 的详细步骤,请参阅下面的 URL。部署后,使用 Citrix ADC IP 配置 Citrix ADC GSLB。请参阅 在 Microsoft Azure 上部署 NetScaler VPX 实例

DNS 转发器

它用于转发绑定到 Citrix ADC GSLB (ADNS IP) 的托管域的客户端请求。启动 Ubuntu 服务器 16.04 作为 Linux 实例(Ubuntu 服务器 16.04),并参考下文 URL 了解如何将其设置为 DNS 转发器。

注意: 对于轮询 GSLB 负载平衡方法,Azure 区域一个 DNS 转发器就足够了,但对于静态邻近,我们需要每个虚拟网络一个 DNS 转发器。

部署转发器后,将虚拟网络 A 的 DNS 服务器设置从默认值更改为使用 VNet A DNS 转发器 IP 进行自定义,如下图所示,然后修改 VNet A DNS 转发器中的 named.conf.options 文件以将域 (mysite.net) 和子域 (ptm.mysite.net) 的转发规则添加到 Citrix ADC GSLB 的 ADNS IP。现在,重新启动 DNS 转发器以反映在文件 named.conf.options 中所做的更改。

VNet A DNS 转发器设置

zone "mysite.net" {
           type forward;
forwarders { 168.63.129.16; };
};
zone "ptm.mysite.net" {
    type forward;
    forwarders { 10.8.0.5; };
}; > **注意:** 对于域(“mysite.net”)区域 IP 地址,请使用您的 Azure 区域的 DNS IP。对于子域(“ptm.mysite.net”)区域 IP 地址,请使用您的 GSLB 实例的所有 ADNS IP 地址。

如果任何客户端在 VNet B 中,则部署应用程序服务器并部署 DNS 转发器

现在,对于虚拟网络 B,选择相同的控制板,单击 创建资源,然后搜索相应的实例,然后从 VNet B 子网分配一个 IP。如果存在类似于 VNet A 的静态邻近 GSLB 负载平衡,则启动应用程序服务器和 DNS 转发器。 编辑 named.conf.options 中的 VNet B DNS 转发器设置 ,如下所示:

VNet B DNS Forwarder Settings:  
zone "ptm.mysite.net" {
    type forward;
    forwarders { 10.8.0.5; };
};

虚拟网络 A DNS 服务器

在本地部署应用服务器、DNS 转发器和 Windows 10 专业版客户端

现在,对于本地,在裸机上启动虚拟机,并带来类似于 VNet A 的应用程序服务器、DNS 转发器和 Windows 10 专业客户端。 编辑 named.conf.options 中的本地 DNS 转发器设置 ,如下例所示。

本地 DNS 转发器设置

zone "mysite.net" {
           type forward;
           forwarders { 10.8.0.6; };
};
zone "ptm.mysite.net" {
    type forward;
    forwarders { 10.8.0.5; };
};

在本文中,mysite.net 我们已经给予 VNet A 的 DNS 转发器 IP 而不是 Azure 私有 DNS 区域服务器 IP,因为它是一个特殊的 IP 无法从内部部署. 因此,在本地的 DNS 转发器设置中需要进行此更改。

第 2 部分:配置 Citrix ADC

如拓扑中所示,在 Azure 虚拟网络(本例中为 VNet A)上部署 Citrix ADC,并通过 Citrix ADC GUI 访问它。

配置 Citrix ADC GSLB

步骤 1:创建 ADNS 服务 步骤 2:创建站点 — 本地和远程 步骤 3:为本地虚拟服务器创建服务 步骤 4:为 GSLB服务创建虚拟服务器

添加 ADNS 服务

登录到 Citrix ADC GUI。在“配置”选项卡上,导航到“流量管理”>“负载平衡”>“服务”。添加服务。建议在 TCP 和 UDP 中同时配置 ADNS 服务,如下所示:

负载平衡服务现有服务器

负载平衡服务新服务器

交通管理服务

添加 GSLB 站点

添加将在其中配置 GSLB 的本地和远程站点。在配置选项卡上,导航到流量管理 > GSLB > GSLB 站点 。按此处所示添加站点,并对其他站点重复相同的过程。

创建 GSLB 网站

群集 IP GSLB 站点

GSLB 网站

添加 GSLB 服务

为本地和远程虚拟服务器添加 GSLB 服务,以平衡应用服务器。在配置选项卡上,导航到流量管理 > GSLB > GSLB 服务。添加服务,如以下示例所示。绑定 HTTP 监视器以检查服务器状态。

GSLB 服务设置 1

GSLB 服务设置 2

创建服务后,转到 GSLB 服务中的“高级设置”选项卡,然后添加“监视器”选项卡,将 GSLB 服务与 HTTP 监视器绑定以调出服务状态 GSLB 服务负载平衡监视器

与 HTTP 监视器绑定后,服务的状态为 UP,如下所示: GSLB 服务

添加 GSLB 虚拟服务器

添加 GSLB 虚拟服务器,通过该服务器可访问应用程序服务器的别名 GSLB 服务。在配置选项卡上,导航到流量管理 > GSLB > GSLB 虚拟服务器。添加虚拟服务器,如以下示例所示。将 GSLB 服务和域名绑定到它。 GSLB 虚拟服务器

创建 GSLB 虚拟服务器并选择适当的负载平衡方法(在本例中为轮询)后,绑定 GSLB 服务和域以完成步骤

GSLB 虚拟服务器域绑定

转到虚拟服务器内的高级设置选项卡并添加选项卡以绑定域

转到 高级 > 服务 ,然后单击箭头以绑定 GSLB服务并将所有三个服务(VNet A、VNet B、本地)绑定到虚拟服务器

GSLB 服务和服务组绑定

将 GSLB 服务和域绑定到虚拟服务器后,如下所示:

GSLB 虚拟服务器设置

检查 GSLB 虚拟服务器是否启动且 100% 正常运行。当监视器显示服务器已启动且运行正常时,表示站点处于同步状态,并且后端服务可用。

GSLB 虚拟服务器负载均衡

现在要测试部署,请从云客户端计算机或本地客户端计算机访问域 URL rr.ptm.mysite.net。假设从云Windows客户端计算机访问它,请参阅即使是本地应用程序服务器也可以在私有DNS区域中访问,而无需任何第三方或自定义DNS解决方案。

结论

Citrix ADC 是领先的应用程序交付解决方案,最适合为 Azure DNS 专用区域提供负载平衡和 GSLB 功能。通过订阅 Azure DNS 专用区域,企业可以依赖 Citrix ADC 全球服务器负载平衡 (GSLB) 的功能和智能,在位于多个地理位置的工作负载之间以及通过安全 VPN 隧道连接的数据中心之间分配 Intranet 流量。这种协作可确保企业无缝访问他们想要迁移到 Azure 公有云的部分工作负载。

面向 Azure DNS 专用区域的 Citrix ADC 部署指南