NetScaler VPX 14.1

部署一个 NetScaler® 设备用于 Azure DNS 私有区域

Azure DNS 是 Microsoft Azure 基础设施上的一项服务,用于托管 DNS 域并提供名称解析。

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

NetScaler 作为领先的应用程序交付解决方案,最适合为 Azure DNS 私有区域提供负载均衡和 GSLB 功能。通过订阅 Azure DNS 私有区域,企业可以依靠 NetScaler 全局服务器负载均衡 (GSLB) 的强大功能和智能,将内部网络流量分发到通过安全 VPN 隧道连接的多个地理区域和数据中心的工作负载。这种协作保证了企业能够无缝访问他们希望迁移到 Azure 公有云的部分工作负载。

Azure 域名系统概述

域名系统 (DNS) 负责将服务名称转换为或解析为 IP 地址。作为 DNS 域的托管服务,Azure DNS 通过使用 Microsoft Azure 基础设施提供名称解析。除了支持面向互联网的 DNS 域外,Azure DNS 现在还支持私有 DNS 域。

Azure DNS 提供可靠、安全的 DNS 服务,用于在虚拟网络中管理和解析域名,而无需自定义 DNS 解决方案。通过使用私有 DNS 区域,您可以使用自己的自定义域名,而不是 Azure 提供的名称。使用自定义域名有助于您根据组织的需要量身定制虚拟网络架构。它为虚拟网络内部和虚拟网络之间的虚拟机 (VM) 提供名称解析。此外,客户可以配置具有分界视图的区域名称,这允许私有和公共 DNS 区域共享一个名称。

为什么选择 NetScaler 全局服务器负载均衡用于 Azure 域名系统私有区域

在当今世界,企业希望将其工作负载从本地环境迁移到 Azure 云。向云的过渡使他们能够实现更快的上市时间、更低的资本支出/价格、更便捷的部署和更高的安全性。Azure DNS 私有区域服务为那些正在将其部分工作负载迁移到 Azure 云的企业提供了一个独特的方案。当这些企业使用私有区域服务时,他们可以创建他们在本地部署中使用了多年的私有 DNS 名称。在这种内部网应用程序服务器位于本地和 Azure 云并通过安全 VPN 隧道连接的混合模式下,一个挑战是如何无缝访问这些内部网应用程序。NetScaler 通过其全局负载均衡功能解决了这一独特的用例,该功能将应用程序流量路由到本地或 Azure 云上最优化的分布式工作负载/服务器,并提供应用程序服务器健康状态。

用例

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

用例解决方案

NetScaler 包含全局服务器负载均衡 (GSLB) 功能,以满足 Azure PTM 要求。GSLB 充当 DNS 服务器,接收 DNS 请求并将其解析为适当的 IP 地址,以提供:

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

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

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

    1. 基于 EDNS 客户端子网 (ECS) 的 NetScaler 全局服务器负载均衡。
    2. 为每个虚拟网络部署一个 DNS 转发器。

拓扑

下图展示了 NetScaler GSLB 在 Azure 私有 DNS 区域中的部署方案。

图 1:Azure DNS 私有区域的 NetScaler 全局服务器负载均衡(/zh-cn/vpx/media/image-01.png)

用户可以根据 Azure 私有 DNS 区域中的 NetScaler GSLB 方法访问 Azure 或本地的任何应用程序服务器。本地与 Azure 虚拟网络之间的所有流量仅通过安全的 VPN 隧道传输。应用程序流量、DNS 流量和监控流量显示在上述拓扑中。根据所需的冗余,NetScaler 和 DNS 转发器可以部署在虚拟网络和数据中心中。为简单起见,此处仅显示一个 NetScaler,但我们建议为 Azure 区域至少部署一套 NetScaler 和 DNS 转发器。所有用户 DNS 查询首先发送到 DNS 转发器,该转发器定义了将查询转发到适当 DNS 服务器的规则。

为 Azure 域名系统私有区域配置 NetScaler

已测试的产品和版本:

产品 版本
艾萨云 云服务订阅
网思乐 VPX BYOL(自带许可证)

注意:

此部署已通过测试,并且在 NetScaler 12.0 及更高版本中保持不变。

先决条件

以下是常规先决条件。

解决方案说明

如果您想托管一个在 HTTPs 上运行的 Azure DNS 私有区域 (rr.ptm.mysite.net) 应用程序,该应用程序部署在 Azure 和本地,并基于轮询 GSLB 负载平衡方法提供内网访问。要实现此部署,请使用 NetScaler 为 Azure 私有 DNS 区域启用 GSLB,其中包含以下配置:

  1. 配置 Azure 和本地设置。
  2. Azure 虚拟网络上的网思乐设备。

配置 Azure 和本地设置

如拓扑所示,设置 Azure 虚拟网络(本例中为 VNet A、VNet B)和本地设置。

  1. 创建具有域名 (mysite.net) 的 Azure 私有域名系统区域。
  2. 在 Azure 区域中,以中心辐射模型创建两个虚拟网络(VNet A、VNet B)。
  3. 在 VNet A 中部署应用服务器、DNS 转发器、Windows 10 专业版客户端和 NetScaler。
  4. 如果 VNet B 中有任何客户端,则部署应用服务器和 DNS 转发器。
  5. 在本地部署应用服务器、DNS 转发器和 Windows 10 专业版客户端。

Azure 私有域名系统区域

创建具有域名的 Azure 私有 DNS 区域。

  1. 登录 Azure 门户并选择或创建仪表板。
  2. 单击 创建资源 并搜索 DNS 区域以创建(本例中为 mysite.net)具有域名 (mysite.net) 的 Azure 私有 DNS 区域。

Azure 门户 DNS 区域示例(/zh-cn/vpx/media/image-02.png)

中心辐射模型中的 Azure 虚拟网络(VNet A、VNet B)

在 Azure 区域中,以中心辐射模型创建两个虚拟网络(VNet A、VNet B)。

  1. 创建两个虚拟网络。
  2. 选择相同的仪表板,然后单击 创建资源 并搜索虚拟网络,以在同一区域中创建两个虚拟网络,即 VNet A 和 VNet B,并将其对等互连以形成中心辐射模型,如以下图像所示。 有关如何设置中心辐射拓扑的更多信息,请参阅 在 Azure 中实施中心辐射网络拓扑

    虚拟网络 A (虚拟网络 A)

    虚拟网络 B (虚拟网络 B)

虚拟网络 A 到 虚拟网络 B 对等互连

要对等互连虚拟网络 A 和 虚拟网络 B:

  1. 从 VNet A 的设置菜单中单击对等互连,并对等互连 VNet B。

  2. 启用允许转发流量允许网关传输,如下图所示。

    虚拟网络 A 到 虚拟网络 B

下图显示了 VNet A 到 VNet B 的成功对等互连。

虚拟网络 A 对等互连

VNet B 与 VNet A 之间的对等互连

为了将 VNet B 和 VNet A 进行对等互连:

  1. 从 VNet B 的设置菜单中单击对等互连,并对等互连 VNet A。
  2. 启用允许转发流量并使用远程网关,如下图所示。
![VNet B to A](/en-us/vpx/media/image-07.png)

下图显示了 VNet B 到 VNet A 的成功对等互连。 虚拟网络 B 对等互连

在 VNet A 中部署应用程序服务器、DNS 转发器、Windows 10 专业版客户端和 NetScaler

我们简要讨论 VNet A 上的应用程序服务器、DNS 转发器、Windows 10 专业版客户端和 NetScaler。

  1. 选择相同的仪表板,点击 创建资源
  2. 搜索相应的实例,并从 VNet A 子网分配一个 IP。

应用服务器

应用服务器就是 Web 服务器 (HTTP 服务器),其中 Ubuntu Server 16.04 作为实例部署在 Azure 或本地 VM 上。要将其设置为 Web 服务器,请在命令提示符下键入:

sudo apt install apache2

Windows 10 专业版客户端

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

奈思开勒

NetScaler compliments the Azure DNA private zone by health check and Analytics from NetScaler MAS. Launch a NetScaler from Azure Marketplace based on your requirement, here we have used NetScaler (BYOL) for this deployment.

For the detailed steps on how to deploy NetScaler on Microsoft Azure. See Deploy a NetScaler VPX Instance on Microsoft Azure.

在部署完成后,您需要使用 NetScaler 的 IP 地址来完成 NetScaler GSLB 的配置。

DNS 转发器

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

注意:

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

  1. 部署转发器后,将虚拟网络 A 的 DNS 服务器设置从默认更改为自定义,使用 VNet A DNS 转发器 IP,如下图所示。
  2. Modify the named.conf.options file in VNet A DNS forwarder to add forwarding rules for domain (mysite.net) and subdomain (ptm.mysite.net) to the ADNS IP of NetScaler GSLB.
  3. 重启 DNS 转发器以反映在文件 named.conf.options 中所做的更改。

虚拟网络 A DNS 转发器设置

    zone "mysite.net" {
               type forward;
    forwarders { 168.63.129.16; };
    };
    zone "ptm.mysite.net" {
        type forward;
        forwarders { 10.8.0.5; };
    };
 <!--NeedCopy-->

注意:

对于域 (“mysite.net”) 区域 IP 地址,请使用您的 Azure 区域的 DNS IP 地址。对于子域 (“ptm.mysite.net”) 区域 IP 地址,请使用您的 GSLB 实例的所有 ADNS IP 地址。

如果任何客户端位于 VNet B 中,则部署应用服务器和 DNS 转发器

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

    虚拟网络 B DNS 转发器设置:

    zone "ptm.mysite.net" {
        type forward;
        forwarders { 10.8.0.5; };
    };
<!--NeedCopy-->

下图描绘了 VNet B DNS 转发器设置: 虚拟网络 A DNS 服务器

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

  1. 对于本地环境,在裸机上启动虚拟机,并部署应用服务器、DNS 转发器和 Windows 10 专业版客户端,类似于 VNet A。

  2. 编辑 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; };
    };
<!--NeedCopy-->

对于 mysite.net,我们提供了 VNet A 的 DNS 转发器 IP,而不是 Azure 私有 DNS 区域服务器 IP,因为这是一个无法从本地访问的特殊 IP 地址。因此,本地的 DNS 转发器设置中需要进行此更改。

Configure the NetScaler on Azure virtual network

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

配置 NetScaler 全局服务器负载均衡

  1. 创建 ADNS 服务。
  2. 创建本地和远程站点。
  3. 为本地虚拟服务器创建服务。
  4. 为 GSLB 服务创建虚拟服务器。

添加 ADNS 服务

  1. 登录到 NetScaler 图形用户界面。
  2. 在“配置”选项卡中,导航到“流量管理 > 负载平衡 > 服务”。
  3. 添加服务。 建议您同时在 TCP 和 UDP 中配置 ADNS 服务,如以下图像所示:

负载平衡服务现有服务器

负载均衡服务新服务器

流量管理服务

添加 GSLB 站点

  1. 添加将在其间配置 GSLB 的本地和远程站点。
  2. 配置选项卡上,导航到流量管理 > GSLB > GSLB 站点。 按照以下示例添加站点,并对其他站点重复相同的过程。

    创建 GSLB 站点

    集群 IP 全局服务器负载均衡站点

    GSLB 站点列表

添加 GSLB 服务

  1. 为对应用程序服务器进行负载均衡的本地和远程虚拟服务器添加 GSLB 服务。
  2. 配置选项卡上,导航到流量管理 > GSLB > GSLB 服务
  3. 请按照以下示例所示添加服务。
  4. 绑定 HTTP 监视器以检查服务器状态。

    GSLB 服务设置 1

    GSLB 服务设置 2

  5. 创建服务后,进入 GSLB 服务内部的高级设置选项卡。
  6. 点击添加监视器,将 GSLB 服务与 HTTP 监视器绑定,以使服务状态变为 UP。 GSLB 服务负载均衡监视器

  7. 绑定 HTTP 监视器后,服务状态将标记为 UP,如下图所示: GSLB 服务

添加 GSLB 虚拟服务器

添加 GSLB 虚拟服务器,通过它可访问应用服务器的别名 GSLB 服务。

  1. 配置选项卡上,导航到流量管理 > GSLB > GSLB 虚拟服务器
  2. 请按照以下示例所示添加虚拟服务器。
  3. 将 GSLB 服务和域名绑定到它。

    GSLB 虚拟服务器

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

    GSLB 虚拟服务器域绑定

  5. 进入虚拟服务器内部的高级设置选项卡,然后点击添加域选项卡以绑定域。

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

    GSLB 服务和服务组绑定

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

    GSLB 虚拟服务器设置

检查 GSLB 虚拟服务器是否正常运行且 100% 健康。当监视器显示服务器正常运行且健康时,表示站点已同步且后端服务可用。

GSLB 虚拟服务器负载均衡

要测试部署,请从云客户端计算机或本地客户端计算机访问域 URL rr.ptm.mysite.net。如果您从云 Windows 客户端计算机访问它,请确保在私有 DNS 区域中访问本地应用程序服务器,而无需任何第三方或自定义 DNS 解决方案。

部署一个 NetScaler® 设备用于 Azure DNS 私有区域