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

Last published : Oct 06, 2026
您可以在 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"
        }
    ]
}

使用 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>
在 AWS GUI 中,执行以下步骤以添加路由:
  1. 在导航窗格中,选择 路由表,然后选择路由表。
  2. 选择 操作,然后单击 编辑路由。
  3. 要添加路由,请选择 添加路由。对于 目标,输入目标 CIDR 块、单个 IP 地址或前缀列表的 ID。对于网关 ID,选择主节点客户端接口的 ENI。
路由表 - 编辑路由
注意:
您必须在主实例的客户端 ENI 上禁用 源/目标检查。
要使用控制台禁用网络接口的源/目标检查,请执行以下步骤:
  1. 在导航窗格中,选择 网络接口。
  2. 选择主客户端接口的网络接口,然后选择 操作,并单击 更改源/目标检查。
  3. 在对话框中,选择 禁用,然后单击 保存。
更改源-目标检查
步骤 5. 配置高可用性。您可以使用 NetScaler VPX CLI 或 GUI 来设置高可用性。

使用 CLI 配置高可用性

  1. 在两个实例中以 INC 模式设置高可用性。
    在主节点上:
    add ha node 1 \<sec\_ip\> -inc ENABLED
    在辅助节点上:
    add ha node 1 \<prim\_ip\> -inc ENABLED
    \&lt;sec\_ip\> 指的是辅助节点的管理网卡的私有 IP 地址。
    \&lt;prim\_ip\> 指的是主节点的管理网卡的私有 IP 地址。
  2. 在主实例上添加一个虚拟服务器。您必须从所选子网中添加它,例如 10.10.10.0/24。
    键入以下命令:
    add \<server\_type\> vserver \<vserver\_name\> \<protocol\> \<primary\_vip\> \<port\>

使用 GUI 配置高可用性

  1. 在两个实例上以 INC 模式设置高可用性
  2. 使用用户名 nsroot 并将实例 ID 作为密码登录到主节点。
  3. 导航到 Configuration > System > High Availability,然后单击 Add。
  4. 在 Remote Node IP address 字段中,添加辅助节点的管理网卡的私有 IP 地址。
  5. 在自节点上选择 Turn on NIC (Independent Network Configuration) 模式。
  6. 在 Remote System Login Credential 下,添加辅助节点的用户名和密码,然后单击 Create。
  7. 在辅助节点中重复这些步骤。
  8. 在主实例中添加一个虚拟服务器
    导航到 配置 > 流量管理 > 虚拟服务器 > 添加。
    添加一个虚拟服务器

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

在 AWS 共享 VPC 模型中,拥有 VPC 的账户(所有者)与其他账户(参与者)共享一个或多个子网。因此,您拥有一个 VPC 所有者账户和一个参与者账户。子网共享后,参与者可以在与其共享的子网中查看、创建、修改和删除其应用程序资源。参与者无法查看、修改或删除属于其他参与者或 VPC 所有者的资源。
有关 AWS 共享 VPC 的信息,请参阅 AWS 文档。
注意:
使用 AWS 共享 VPC 部署具有私有 IP 地址的 VPX 高可用性对的配置步骤与 使用 AWS 非共享 VPC 部署具有私有 IP 地址的 VPX 高可用性对 相同,但有以下例外:
  • 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": "*"
            }
        ]
    }
    注意:
    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": "*"
            }
        ]
    }

创建跨账户 IAM 角色

  1. 登录 AWS Web 控制台。
  2. 在 IAM 选项卡中,导航到 角色,然后选择 创建角色。
  3. 选择 另一个 AWS 账户。
    共享 VPC 创建角色
  4. 输入您要授予管理员访问权限的参与者账户的 12 位账户 ID 号。

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

以下命令使 NetScaler VPX 实例能够承担 VPC 所有者账户中存在的跨账户 IAM 角色。
set cloud awsParam -roleARN <string>

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

  1. 登录 NetScaler 设备并导航到 Configuration > AWS > Change cloud parameters。
    更改云参数
  2. 在 Configure AWS Cloud Parameters 页面中,输入 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
    此处,192.168.4.10 指的是辅助节点的管理 NIC 的私有 IP 地址。
    在辅助节点上:
    add ha node 1 192.168.1.10 -inc enabled
    此处,192.168.1.10 指的是主节点的管理 NIC 的私有 IP 地址。
  2. 在主实例上添加一个虚拟服务器。
    键入以下命令:
    add lbvserver vserver1 http 10.10.10.10 80
  3. 保存配置。
  4. 强制故障转移后:
    • 辅助实例成为新的主实例。
    • 指向主 ENI 的 VPC 路由迁移到辅助客户端 ENI。
    • 客户端流量恢复到新的主实例。

用于 HA 私有 IP 解决方案的 AWS Transit Gateway 配置

您需要 AWS Transit Gateway 才能使私有 VIP 子网在内部网络、AWS VPC、区域和本地网络中可路由。VPC 必须连接到 AWS Transit Gateway。在 AWS Transit Gateway 路由表内为 VIP 子网或 IP 池创建静态路由,并将其指向 VPC。
AWS 传输网关(/en-us/vpx/media/aws-transit-gateway.png)
要配置 AWS Transit Gateway,请按照以下步骤操作:
  1. 在导航窗格中,选择 Transit Gateway 路由表。
  2. 选择 路由 选项卡,然后单击 创建静态路由。
    AWS Transit Gateway 路由表(/en-us/vpx/media/aws-transit-gateway-route-table.png)
  3. 创建静态路由,其中 CIDR 指向您的私有 VIPS 子网,附件指向包含 NetScaler VPX 的 VPC。
    创建静态路由(/en-us/vpx/media/tg-create-static-route.png)
  4. 单击 创建静态路由,然后选择 关闭。

故障排除

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