NetScaler VPX

在不同的 AWS 区域部署具有私有 IP 地址的 VPX 高可用性对

您可以在 INC 模式下,使用私有 IP 地址在两个不同的子网或两个不同的 AWS 可用区中配置两个 NetScaler VPX 实例。此解决方案可以轻松地与现有的多区域 具有弹性 IP 地址的 VPX 高可用性对 集成。因此,您可以同时使用这两种解决方案。

有关高可用性的更多信息,请参阅 高可用性。有关 INC 的更多信息,请参阅 在不同子网中配置高可用性节点

注意:

此部署从 NetScaler 13.0 版本 build 67.39 及更高版本开始支持。此部署与 AWS Transit Gateway 兼容。

使用 AWS 非共享 VPC 的具有私有 IP 地址的高可用性对

先决条件

确保与您的 AWS 账户关联的 IAM 角色具有以下 IAM 权限:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "ec2:DescribeInstances",
                "ec2:DescribeAddresses",
                "ec2:AssociateAddress",
                "ec2:DisassociateAddress",
                "ec2:DescribeRouteTables",
                "ec2:DeleteRoute",
                "ec2:CreateRoute",
                "ec2:ModifyNetworkInterfaceAttribute",
                "iam:SimulatePrincipalPolicy",
                "iam:GetRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

<!--NeedCopy-->

使用 AWS 非共享 VPC 部署具有私有 IP 地址的 VPX HA 对

以下是使用私有 IP 地址在两个不同子网或两个不同 AWS 可用区中部署 VPX 对的步骤摘要。

  1. 创建 Amazon 虚拟私有云。
  2. 在两个不同的可用区中部署两个 VPX 实例。
  3. 配置高可用性功能
    1. 在两个实例中以 INC 模式设置高可用性。
    2. 在 VPC 中添加指向客户端接口的相应路由表。
    3. 在主实例中添加一个虚拟服务器。

对于步骤 1、2 和 3b,请使用 AWS 控制台。对于步骤 3a 和 3c,请使用 NetScaler VPX GUI 或 CLI。

步骤 1. 创建 Amazon 虚拟私有云 (VPC)。

步骤 2. 在两个不同的可用区中部署两个 VPX 实例,并使用相同数量的 ENI(网络接口)。

有关如何在 AWS 上创建 VPC 和部署 VPX 实例的更多信息,请参阅 在 AWS 上部署 NetScaler VPX 独立实例场景:独立实例

步骤 3. 通过选择与 Amazon VPC 子网不重叠的子网来配置 ADC VIP 地址。如果您的 VPC 是 192.168.0.0/16,则要配置 ADC VIP 地址,您可以从以下 IP 地址范围中选择任何子网:

  • 0.0.0.0 - 192.167.0.0
  • 192.169.0.0 - 254.255.255.0

在此示例中,选择了 10.10.10.0/24 子网并在该子网中创建了 VIP。您可以选择除 VPC 子网 (192.168.0.0/16) 之外的任何子网。

步骤 4. 从 VPC 路由表添加指向主节点的客户端接口 (VIP) 的路由。

在 AWS CLI 中,键入以下命令:

aws ec2 create-route --route-table-id rtb-2272532 --destination-cidr-block 10.10.10.0/24 --gateway-id <eni-client-primary>
<!--NeedCopy-->

在 AWS GUI 中,执行以下步骤以添加路由:

  1. 打开 亚马逊 EC2 控制台
  2. 在导航窗格中,选择 路由表,然后选择该路由表。
  3. 选择 操作,然后单击 编辑路由
  4. 要添加路由,请选择 添加路由。对于 目标,输入目标 CIDR 块、单个 IP 地址或前缀列表的 ID。对于网关 ID,选择主节点客户端接口的 ENI。

路由表-编辑路由

注意:

您必须在主实例的客户端 ENI 上禁用 源/目标检查

要使用控制台禁用网络接口的源/目标检查功能,请执行以下步骤:

  1. 打开 亚马逊 EC2 控制台
  2. 在导航窗格中,选择 网络接口
  3. 选择主客户端接口的网络接口,然后选择 操作,并单击 更改源/目标检查
  4. 在对话框中,选择 禁用,单击 保存

更改源-目标检查

步骤 5. 配置高可用性。您可以使用 NetScaler VPX CLI 或 GUI 设置高可用性。

使用 CLI 配置高可用性

  1. 在两个实例中以 INC 模式设置高可用性。

    在主节点上:

    add ha node 1 \<sec\_ip\> -inc ENABLED
    <!--NeedCopy-->
    

    在辅助节点上:

    add ha node 1 \<prim\_ip\> -inc ENABLED
    <!--NeedCopy-->
    

    <sec_ip> 指辅助节点的管理网卡的私有 IP 地址。

    <prim_ip> 指主节点的管理网卡的私有 IP 地址。

  2. 在主实例上添加一个虚拟服务器。您必须从所选子网添加它,例如 10.10.10.0/24。

    键入以下命令:

    add \<server\_type\> vserver \<vserver\_name\> \<protocol\> \<primary\_vip\> \<port\>
    <!--NeedCopy-->
    

使用 GUI 配置高可用性

  1. 在两个实例上以 INC 模式设置高可用性

  2. 使用用户名 nsroot 和实例 ID 作为密码登录主节点。

  3. 导航到 配置 > 系统 > 高可用性,然后单击 添加

  4. Remote Node IP address 字段中,添加辅助节点的管理网卡的私有 IP 地址。

  5. 在自节点上选择 启用 NIC(独立网络配置) 模式。

  6. 远程系统登录凭据 下,添加辅助节点的用户名和密码,然后单击 创建

  7. 在辅助节点上重复这些步骤。

  8. 在主实例中添加虚拟服务器

    导航到 配置 > 流量管理 > 虚拟服务器 > 添加

    添加虚拟服务器

使用 AWS 共享 VPC 部署具有私有 IP 地址的 VPX HA 对

在 AWS 共享 VPC 模型中,拥有 VPC 的账户(所有者)将一个或多个子网共享给其他账户(参与者)。因此,您将拥有一个 VPC 所有者账户和一个参与者账户。子网共享后,参与者可以在共享给他们的子网中查看、创建、修改和删除其应用程序资源。参与者无法查看、修改或删除属于其他参与者或 VPC 所有者的资源。

有关 AWS 共享 VPC 的信息,请参阅 AWS 文档

注意:

使用 AWS 共享 VPC 部署具有私有 IP 地址的 VPX HA 对的配置步骤与 使用 AWS 非共享 VPC 部署具有私有 IP 地址的 VPX HA 对 相同,但有以下例外情况:

  • 指向客户端接口的 VPC 中的路由表必须从 VPC 所有者账户 添加。

先决条件

  • 确保 AWS 参与者账户中与 NetScaler VPX 实例关联的 IAM 角色具有以下 IAM 权限:

     "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "VisualEditor0",
                 "Effect": "Allow",
                 "Action": [
                     "ec2:DisassociateAddress",
                     "iam:GetRole",
                     "iam:SimulatePrincipalPolicy",
                     "ec2:DescribeInstances",
                     "ec2:DescribeAddresses",
                     "ec2:ModifyNetworkInterfaceAttribute",
                     “ec2:AssociateAddress”,
                     "sts:AssumeRole"
             ],
                 "Resource": "*"
             }
         ]
     }
     <!--NeedCopy-->
    

    注意:

    AssumeRole 允许 NetScaler VPX 实例承担由 VPC 所有者账户创建的跨账户 IAM 角色。

  • 确保 VPC 所有者账户使用跨账户 IAM 角色向参与者账户提供以下 IAM 权限:

     {
         "Version": "2012-10-17",
         "Statement": [
             {
                 "Sid": "VisualEditor0",
                 "Effect": "Allow",
                 "Action": [
                     "ec2:CreateRoute",
                     "ec2:DeleteRoute",
                     "ec2:DescribeRouteTables"
                 ],
                 "Resource": "*"
             }
         ]
     }
     <!--NeedCopy-->
    

创建跨账户 IAM 角色

  1. 登录 AWS Web 控制台。
  2. IAM 选项卡中,导航到 Roles,然后选择 Create Role
  3. 选择 另一个 AWS 账户

    共享 VPC 创建角色

  4. 输入您要授予管理员访问权限的参与者账户的 12 位账户 ID 号。

通过使用 NetScaler CLI 设置跨账户 IAM 角色

以下命令使 NetScaler VPX 实例能够承担 VPC 所有者账户中存在的跨账户 IAM 角色。

set cloud awsParam -roleARN <string>
<!--NeedCopy-->

通过使用 NetScaler GUI 设置跨账户 IAM 角色

  1. 登录 NetScaler 设备并导航到 配置 > AWS > 更改云参数

    更改云参数

  2. 在“配置 AWS 云参数”页面中,输入“RoleARN”字段的值。

    配置 AWS 云参数

场景

在此场景中,将创建一个 VPC。在该 VPC 中,将在两个可用区中创建两个 VPX 实例。每个实例有三个子网——一个用于管理,一个用于客户端,一个用于后端服务器。

以下图表说明了 AWS 上 INC 模式下的 NetScaler VPX 高可用性设置。自定义子网 10.10.10.10 不属于 VPC,用作 VIP。因此,10.10.10.10 子网可以在可用区之间使用。

INC 模式下故障转移前的高可用性设置

INC 模式下故障转移后的高可用性设置

对于此场景,请使用 CLI 配置高可用性。

  1. 在两个实例上以 INC 模式设置高可用性。

    在主节点和辅助节点上键入以下命令。

    在主节点上:

    add ha node 1 192.168.4.10 -inc enabled
    <!--NeedCopy-->
    

    此处,192.168.4.10 指的是辅助节点的管理 NIC 的私有 IP 地址。

    在辅助节点上:

    add ha node 1 192.168.1.10 -inc enabled
    <!--NeedCopy-->
    

    此处,192.168.1.10 指的是主节点的管理 NIC 的私有 IP 地址。

  2. 在主实例上添加一个虚拟服务器。

    键入以下命令:

    add lbvserver vserver1 http 10.10.10.10 80
    <!--NeedCopy-->
    
  3. 将配置保存下来。

  4. 强制故障转移后:

    • 辅助实例将接管并成为新的主实例。
    • 指向主 ENI 的 VPC 路由迁移到辅助客户端 ENI。
    • 客户端流量恢复到新的主实例。

适用于高可用性私有 IP 解决方案的 AWS 中转网关配置

您需要 AWS Transit Gateway 以使私有 VIP 子网在内部网络、AWS VPC、区域和本地网络之间可路由。VPC 必须连接到 AWS Transit Gateway。在 AWS Transit Gateway 路由表中为 VIP 子网或 IP 池创建静态路由,并将其指向 VPC。

AWS 传输网关

要配置 AWS 传输网关,请按照以下步骤操作:

  1. 打开 亚马逊 VPC 控制台
  2. 在导航窗格中,选择 传输网关路由表
  3. 选择“路由”选项卡,然后单击“创建静态路由”。

    AWS 传输网关路由表

  4. 创建静态路由,其中 CIDR 指向您的私有 VIPS 子网,并且附件指向具有 NetScaler VPX 的 VPC。

    创建静态路由

  5. 单击“创建静态路由”,然后选择“关闭”。

故障排除

如果在配置跨多区域 HA 的 HA 私有 IP 解决方案时遇到任何问题,请检查以下关键点进行故障排除:

  • 主节点和辅助节点具有相同的 IAM 权限集。
  • 主节点和辅助节点上均已启用 INC 模式。
  • 主节点和辅助节点具有相同数量的接口。
  • 创建实例时,请在两个节点上遵循相同的接口连接顺序。在主节点上,如果客户端接口首先连接,服务器接口其次连接。那么,在辅助节点上也请遵循相同的顺序。如果存在任何不匹配,请按正确的顺序分离并重新连接接口。
  • 如果流量不通,请确保首次在主节点的客户端接口上禁用“源/目标检查”。
  • 请确保 cloudhadaemon 命令 (ps -aux | grep cloudha) 正在命令行中运行。
  • 确保 NetScaler 固件版本为 13.0 build 70.x 或更高版本。
  • 对于故障转移过程中的问题,请检查以下位置的日志文件:/var/log/cloud-ha-daemon.log
在不同的 AWS 区域部署具有私有 IP 地址的 VPX 高可用性对