Citrix ADC

在 AWS 上部署高可用性对

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

下图是通过迁移二级专用 IP 地址来使用高可用性故障转移方案。

图 1. AWS 上使用专用 IP 迁移的 Citrix ADC VPX 高可用性对

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 上部署 Citrix ADC VPX 实例中给出的步骤进行操作。

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

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

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

  1. 打开 Amazon EC2 控制台,网址为 https://console.aws.amazon.com/ec2/
  2. 在导航窗格中,选择网络接口,然后选择连接到实例的网络接口。
  3. 选择“Actions”(操作)、“Manage IP Addresses”(管理 IP 地址)。
  4. 在“IPv4 Addresses”(IPv4 地址)下,选择“Assign new IP”(分配新 IP)。
  5. 输入实例子网范围内的特定 IPv4 地址,或者将该字段留空以让 Amazon 为您选择 IP 地址。
  6. (可选)选择“Allow reassignment”(允许重新分配)以允许将二级专用 IP 地址重新分配给其他网络接口(如果该地址已分配给另一个网络接口)。
  7. 选择“Yes, Update”(是,更新)。

在实例说明下,将显示分配的二级专用 IP 地址。

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

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

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

接下来,配置 VIP 和 SNIP。

对于 VIP,请键入:

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

对于 SNIP,请键入:

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

键入 save config 以进行保存。

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

show ns ip

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

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

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

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

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

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

键入 save config 以保存配置。

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

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

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

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

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

下图显示了 AWS 上 Citrix ADC VPX 实例的高可用性部署体系结构示例。

图 1. 使用 ENI 迁移 AWS 上的 Citrix ADC VPX 高可用性对

高可用性示意图

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

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

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

将两个 Citrix ADC VPX 实例作为高可用性对部署时,请记住以下几点。

注意事项

  • 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 Marketplace
  2. 在搜索字段中,键入 NetScaler ADC VPX 搜索 Citrix ADC AMI,然后单击 Go(前往)。
  3. 在搜索结果页面中,单击所需的 Citrix ADC VPX 产品/服务。
  4. 单击 Pricing(定价)选项卡,转至 Pricing Information(定价信息)。
  5. 选择区域和 Fulfillment Option(履行选项)作为 Netscaler AWS-VPX Cluster(Netscaler AWS-VPX 群集)。
  6. 单击 Continue to Subscribe(继续订阅)。
  7. 检查 Subscribe(订阅)页面中的详细信息,然后单击 Continue to Subscribe(继续订阅)。
  8. 选择 Fulfillment Option(履行选项)作为 CloudFormation Template(CloudFormation 模板)。

    AWS HA CloudFormation 模板

  9. 选择 Software Version(软件版本),然后单击 Continue to Launch(继续启动)。

  10. Choose Action(选择操作)下,选择 Launch CloudFormation(启动 CloudFormation),然后单击 Launch(启动)。

  11. 此时将显示选择模板页面。单击下一步

  12. 此时将显示 Specify Details(指定详细信息)。输入以下详细信息。

    • 键入 Stack name(堆栈名称)。名称必须在 25 个字符以内。

    • High Availability Configuration(高可用性配置)下,从 Create HA pair?.(创建高可用性对?)菜单中选择 Yes(是)。

    • Virtual Private Network Configuration(虚拟专用网络配置)下,执行以下操作:

      • 选择您已为 VPC ID 创建的 VPC。

      • 键入 Remote SSH CIDR IP(远程 SSH CIDR IP)。

      • 键入 Remote HTTP CIDR IP(远程 HTTP CIDR IP)。

      • 键入 Remote HTTPS CIDR IP(远程 HTTPS CIDR IP)。

      • Key Pair(密钥对)的菜单中选择已创建的密钥对。

    • Network Interface 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 地址。

    • Other Parameters(其他参数)下,执行以下操作:

      • Instant Type(即时类型)选择 m4.large

      • Tenancy Type(租户类型)选择 default

      • 默认情况下,AWS CloudWatch 指标选项设置为“Yes”(是)。如果要禁用此选项,请选择“No”(否)。

      CloudFormation 参数

      有关 CloudWatch 衡量指标的详细信息,请参阅 使用 Amazon CloudWatch 监视您的实例

    • 单击下一步

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

  14. 此时将显示 Review(检查)页面。请花点时间检查设置并在必要时进行必要的更改。

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

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

    创建完整状态

  17. 创建 IAM 资源后,转到 EC2 Management Console(管理控制台)> Instances(实例)。您会找到两个使用 IAM 角色创建的 VPX 实例。创建主节点时有三个专用 IP 地址和三个网络接口。

    AWS 高可用性

    辅助节点是使用一个专用 IP 地址和一个网络接口创建的。

    注意

    默认情况下,在 AWS 中使用一个接口创建辅助节点。在故障转移期间,来自主节点的接口将连接到辅助节点(新的主节点),然后从原始主节点(新的辅助节点)中分离。

  18. 使用用户名 nsroot 和实例 ID 作为密码登录主节点。出现提示时,请更改默认密码并保存配置。在 GUI 中,转到 System(系统)> High Availability(高可用性)。此时将显示 Citrix ADC VPX 高可用性对。

    接下来,请在两个实例上配置高可用性配对。请先配置具有三个 ENI 的实例,然后在具有一个 ENI 的实例上配置高可用性)。在 VPX CLI 中或从 GUI 中使用添加高可用性节点命令。

    add HA node <private IP of the first instance>

    add HA node <private IP of the second instance>

    运行 add HA node 命令后,两个节点形成一个高可用性对,并会在两个 VPX 实例之间同步配置信息。

使用 Amazon CloudWatch 监视您的实例

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

注意事项

  • 如果使用 AWS Web 控制台在 AWS 上部署 Citrix ADC VPX 实例,则默认情况下会启用 CloudWatch 服务。
  • 如果使用 Citrix CloudFormation 模板部署 Citrix ADC VPX 实例,则默认选项为“Yes”(是)。如果要禁用 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

Citrix ADC 版本 12.0 57.19 及更高版本提供对高可用性设置中的 SR-IOV 接口的支持。有关如何配置 SR-IOV 的详细信息,请参阅将 Citrix ADC VPX 实例配置为使用 SR-IOV 网络接口

相关资源

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