ADC

在同一 AWS 可用性区域中部署 VPX 高可用性对

注意:

从 NetScaler 版本 13.1 build 27.x 起,同一 AWS 可用区中的 VPX HA 对支持 IPv6 地址。

您可以将 AWS 上的两个 NetScaler VPX 实例配置为高可用性对,位于同一 AWS 区域中,两个 VPX 实例位于同一子网中。高可用性通过在故障转移后将连接到主高可用性节点的 NIC(客户端和服务器端 NIC)的辅助专用 IP 地址迁移到辅助高可用性节点来实现。还会迁移与二级专用 IP 地址关联的所有弹性 IP 地址。

NetScaler VPX HA 对支持同一 AWS 可用区中的 IPv4 和 IPv6 地址。

下图描述了通过迁移辅助专用 IP 地址而出现的 HA 故障转移方案。

图 1. AWS 上的 NetScaler VPX HA 对,使用私有 IP 迁移

HA-pip-migration

在开始阅读您的文档之前,请阅读以下文档:

如何在同一区域中部署 VPX 高可用性对

下面是在同一区域中部署 VPX 高可用性对的步骤摘要:

  1. 在 AWS 上创建两个 VPX 实例,每个实例都有三个 NIC
  2. 将 AWS 二级专用 IP 地址分配给 VIP 和主节点的 SNIP
  3. 使用 AWS 二级专用 IP 地址在主节点上配置 VIP 和 SNIP
  4. 在两个节点上配置高可用性

步骤 1. 使用同一个 VPC 创建两个 VPX 实例(主节点和辅助节点),每个实例都有三个 NIC(以太网 0、以太网 1、以太网 2)

使用 AWS Web 控制台在 AWS 上部署 NetScaler VPX 实例中给出的步骤进行操作。

步骤 2. 在主节点上,为以太网 1(客户端 IP 或 VIP)和以太网 2(后端服务器 IP 或 SNIP)分配专用 IP 地址

AWS 控制台会自动将主专用 IP 地址分配给配置的 NIC。为 VIP 和 SNIP 分配更多专用 IP 地址,称为二级专用 IP 地址。

要为网络接口分配专用 IP 地址,请执行以下步骤:

  1. 打开 Amazon EC2 控制台,网址为 https://console.aws.amazon.com/ec2/
  2. 在导航窗格中,选择 网络接口 ,然后选择连接到实例的网络接口。
  3. 选择 操作 > 管理 IP 地址
  4. 根据您的要求选择 IPv4 地址或 IPv6 地址
  5. 对于 IPv4 地址:
    1. 选择分配新 IP
    2. 输入实例子网范围内的特定 IPv4 地址,或者将该字段留空以让 Amazon 为您选择 IP 地址。
    3. (可选)如果辅助专用 IP 地址已分配给另一个网络接口,则选择允许重新分配以允许重新分配该地址。
  6. 对于 IPv6 地址:
    1. 选择分配新 IP
    2. 输入实例子网范围内的特定 IPv6 地址,或将该字段留空以让 Amazon 为您选择 IP 地址。
    3. (可选)如果主专用 IP 地址或辅助专用 IP 地址已分配给另一个网络接口,则选择允许重新分配该地址。
  7. 选择“是”>“更新”

实例描述下,将显示分配的专用 IP 地址。

注意:

在 IPv4 HA 对部署中,只能在接口上分配辅助 IPv4 地址,并将其用作 VIP 和 SNIP 地址。但是在 IPv6 HA 对部署中,您可以在接口上分配主 IPv6 或辅助 IPv6 地址,并将其用作 VIP 和 SNIP 地址。

步骤 3. 使用二级专用 IP 地址在主节点上配置 VIP 和 SNIP

使用 SSH 访问主节点。打开 ssh 客户端并键入:

ssh -i <location of your private key> nsroot@<public DNS of the instance>
<!--NeedCopy-->

接下来,配置 VIP 和 SNIP。

对于 VIP,请键入:

add ns ip <IPAddress> <netmask> -type <type>
<!--NeedCopy-->

对于 SNIP,请键入:

add ns ip <IPAddress> <netmask> -type SNIP
<!--NeedCopy-->

键入 save config 以进行保存。

要查看配置的 IP 地址,请键入以下命令:

show ns ip
<!--NeedCopy-->

有关详细信息,请参阅以下主题:

步骤 4:在两个实例上配置高可用性

在主节点上,打开 Shell 客户端并键入以下命令:

add ha node <id> <private IP address of the management NIC of the secondary node>
<!--NeedCopy-->

在辅助节点上,键入以下命令:

add ha node <id> < private IP address of the management NIC of the primary node >
<!--NeedCopy-->

键入 save config 以保存配置。

要查看已配置的高可用性节点,请键入 show ha node

故障转移时,先前主节点上配置为 VIP 和 SNIP 的二级专用 IP 地址将迁移到新的主节点。

要在节点上强制故障转移,请键入 force HAfailover。

部署 VPX 高可用性对的旧方法

在 13.0 41.x 版本之前,同一区域内的高可用性是通过 AWS 弹性网络接口 (ENI) 迁移实现的。但是,这种方法慢慢被弃用。

下图显示了 AWS 上 NetScaler VPX 实例的 HA 部署架构示例。

图 1. AWS 上的 NetScaler VPX HA 对,使用 ENI 迁移

使用 ENI 迁移实现高可用性

可以使用以下选项之一将两个 VPX 实例作为高可用性对在 AWS 上部署:

  • 使用 AWS 管理控制台手动创建使用 IAM 角色的实例,然后在其上配置高可用性。
  • 或者使用 Citrix CloudFormation 模板自动执行高可用性部署。

CloudFormation 模板显著减少了创建高可用性对所涉及的步骤数,并自动创建 IAM 角色。本节介绍如何使用 Citrix CloudFormation 模板部署 NetScaler VPX HA(主动-被动)对。

将两个 NetScaler VPX 实例作为 HA 对部署时,请记住以下几点。

注意事项

  • AWS 上的高可用性要求主节点至少有两个 ENI(一个用于管理,另一个用于数据流量),辅助节点必须具有一个管理 ENI。但是,出于安全考虑,请在主节点上创建三个 ENIS,因为此设置允许您将专用网络和公共网络隔离开来(推荐)。
  • 辅助节点始终只有一个 ENI 接口(用于管理),而主节点最多可有四个 ENI。
  • 必须在实例的默认 ENI 上配置高可用性对中每个 VPX 实例的 NSIP 地址。
  • Amazon 不允许在 AWS 中使用任何广播/组播数据包。因此,在高可用性设置中,当主 VPX 实例失败时,数据平面 ENI 将从主 VPX 实例迁移到辅助 VPX 实例。
  • 由于默认(管理)ENI 无法移动到另一个 VPX 实例,因此请勿将默认 ENI 用于客户端和服务器流量(数据平面流量)。
  • /var/log/ns.log 中的消息“AWSCONFIG IOCTL NSAPI_HOTPLUG_INTF 成功输出 0”表示两个数据 ENI 已经成功连接到辅助实例(新的主实例)。
  • 由于 AWS 具有分离/连接 ENI 机制,故障转移可能最多需要 20 秒时间。
  • 实现故障转移后,失败的实例始终会重新启动。
  • 只能在管理界面上收到检测信号数据包。
  • 主 VPX 实例和辅助 VPX 实例的配置文件(包括 nsroot 密码)将进行同步。辅助节点的 nsroot 密码设置为高可用性配置同步后的主节点的 nsroot 密码。
  • 要访问 AWS API 服务器,VPX 实例必须分配公用 IP 地址,或者必须在指向 VPC 的 Internet 网关的 VPC 子网级别正确设置路由。
  • 名称服务器/DNS 服务器使用 DHCP 选项在 VPC 级别进行配置。
  • Citrix CloudFormation 模板不会在不同的可用性区域之间创建高可用性设置。
  • Citrix CloudFormation 模板不会创建 INC 模式。
  • AWS 调试消息在 VPX 实例的日志文件 /var/log/ns.log 中提供。

使用 Citrix CloudFormation 模板部署高可用性对

在启动 CloudFormation 模板之前,请确保您完成以下要求:

  • 一个 VPC
  • VPC 内的三个子网
  • 打开了 UDP 3003、TCP 3009—3010、HTTP、SSH 端口的安全组
  • 一对钥匙
  • 创建 Internet 网关
  • 编辑客户端和管理网络的路由表以指向 Internet 网关

注意

Citrix CloudFormation 模板会自动创建 IAM 角色。现有 IAM 角色不会显示在模板中。

要启动 Citrix CloudFormation 模板,请执行以下操作

  1. 使用 AWS 凭证登录 AWS 市场
  2. 在搜索字段中,键入 NetScaler VPX 搜索 NetScaler AMI,然后单击 Go(前往)。
  3. 在搜索结果页面上,单击所需的 NetScaler VPX 产品。
  4. 单击 Pricing(定价)选项卡,转至 Pricing Information(定价信息)。
  5. 选择区域和 配送选项NetScaler VPX —客户许可。
  6. 单击 Continue to Subscribe(继续订阅)。
  7. 检查 Subscribe(订阅)页面中的详细信息,然后单击 Continue to Configuration(继续配置)。
  8. 选择 CloudFormation Template(CloudFormation 模板)作为 Delivery Method(交付方法)。
  9. 选择所需的 CloudFormation 模板。
  10. 选择 Software Version(软件版本)和 Region(区域),然后单击 Continue to Launch(继续启动)。

    AWS CloudFormation 模板

  11. Choose Action(选择操作)下,选择 Launch CloudFormation(启动 CloudFormation),然后单击 Launch(启动)。 此时将显示 创建堆栈 页面。
  12. 单击下一步

    Create stack(创建堆栈)

  13. 此时将显示 Specify stack details(指定堆栈详细信息)。输入以下详细信息。

    • 键入堆 栈名称。名称必须在 25 个字符以内。
    • Network Configuration(网络配置)下,执行以下操作:
      • 选择 Management Subnetwork(管理子网)、Client Subnetwork(客户端子网)和 Server Subnetwork(服务器子网)。确保选择在 VPC ID 下选择的 VPC 中创建的正确子网。
      • 添加 Primary Management IP(主管理 IP)、Secondary Management IP(辅助管理 IP)、Client IP(客户端 IP)和 Server IP(服务器 IP)。IP 地址必须属于相应子网的同一子网。或者,您可以让模板自动分配 IP 地址。
      • 对于 VPCTenancy,请选择 default(默认)。
    • NetScaler 配置下,执行以下操作:
      • 对于 Instance type(实例类型),请选择 m5.xlarge
      • Key Pair(密钥对)的菜单中选择已创建的密钥对。
      • 默认情况下,Publish custom metrics to CloudWatch?(发布自定义指标到 CloudWatch?)选项设置为 Yes(是)。如果要禁用此选项,请选择 No(否)。

        有关 CloudWatch 指标的更多信息,请参阅 使用 Amazon CloudWatch 监视您的实例

    • 在“可选配置”下,执行以下操作:
      • 默认情况下,Should publicIP(EIP) be assigned to management interfaces?(是否应将 publicIP(EIP) 分配给管理接口?)选项设置为 No(否)。
      • 默认情况下,Should publicIP(EIP) be assigned to client interface?(是否应将 publicIP(EIP) 分配给客户端接口?)选项设置为 No(否)。

    指定堆栈详细信息

  14. 单击下一步
  15. 此时将显示 Configure stack options(配置堆栈选项)页面。这是可选页面。

    配置堆栈选项

  16. 单击下一步

  17. 此时将显示 Options(选项)页面。(这是可选页面。)单击下一步

  18. 此时将显示 Review(检查)页面。请花点时间检查设置并根据需要做出任何更改。

  19. 选择 I acknowledge that AWS CloudFormation might create IAM resources(我确认 AWS CloudFormation 可能会创建 IAM 资源)。 复选框,然后单击 Create stack(创建堆栈)。

  20. 此时将显示 CREATE-IN-PROGRESS(正在创建中)状态。等到状态为 CREATE-COMPLETE(创建完成)。如果状态未更改为 COMPLETE(完成),请检查 Events(事件)选项卡以了解失败的原因,然后使用正确的配置重新创建实例。

    CloudFormation 堆栈已完成

  21. 创建 IAM 资源后,导航到 EC2 Management Console(管理控制台)> Instances(实例)。您会找到两个使用 IAM 角色创建的 VPX 实例。创建主节点和辅助节点各有三个专用 IP 地址和三个网络接口。
  22. 使用用户名 nsroot 和实例 ID 作为密码登录主节点。在 GUI 中,导航到 System(系统)> High Availability(高可用性)> Nodes(节点)。CloudFormation 模板已经在 HA 对中配置了 NetScaler VPX。

  23. NetScaler VPX HA 对出现了。

    已配置 CloudFormation VPX HA

使用 Amazon CloudWatch 监视您的实例

您可以使用亚马逊 CloudWatch 服务来监视一组 NetScaler VPX 指标,例如 CPU 和内存利用率以及吞吐量。CloudWatch 实时监视在 AWS 上运行的资源和应用程序。可以使用 AWS 管理控制台访问 Amazon CloudWatch 控制面板。有关更多信息,请参阅 Amazon CloudWatch

注意事项

  • 如果您使用 AWS Web 控制台在 AWS 上部署 NetScaler VPX 实例,则默认情况下,CloudWatch 服务处于启用状态。
  • 如果您使用 Citrix CloudFormation 模板部署 NetScaler VPX 实例,则默认选项为“是”。“ 如果要禁用 CloudWatch 服务,请选择“No”(否)。
  • 可用于 CPU(管理和数据包 CPU 使用率)、内存和吞吐量(入站和出站)的指标。

如何查看 CloudWatch 指标

要查看实例的 CloudWatch 指标,请执行以下步骤:

  1. 登录 AWS Management console(AWS 管理控制台)> EC2 > Instances(实例)
  2. 选择实例。
  3. 单击 Monitoring(监视)。
  4. 单击 View all CloudWatch metrics(查看所有 CloudWatch 指标)。

    CloudWatch 指标

  5. 在所有指标下,单击您的实例 ID。

    实例的 CloudWatch 指标

  6. 单击要查看的指标,设置持续时间(按分钟、小时、天、周、月)。
  7. 单击 Graphed metrics(图表指标)以查看使用情况的统计信息。使用 Graph options(图表选项)自定义您的图表。

图. CPU 使用率的图表指标

CloudWatch 图表指标

在高可用性设置中配置 SR-IOV

从 NetScaler 版本 12.0 57.19 起,即可在高可用性设置中支持 SR-IOV 接口。有关如何配置 SR-IOV 的更多信息,请参阅 配置 NetScaler VPX 实例以使用 SR-IOV 网络接口

相关资源

AWS 上的高可用性的工作原理

在同一 AWS 可用性区域中部署 VPX 高可用性对