在不同的 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 对的步骤摘要。
- 创建 Amazon 虚拟私有云。
- 在两个不同的可用区中部署两个 VPX 实例。
- 配置高可用性功能
- 在两个实例中以 INC 模式设置高可用性。
- 在 VPC 中添加指向客户端接口的相应路由表。
- 在主实例中添加一个虚拟服务器。
对于步骤 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 中,执行以下步骤以添加路由:
- 打开 亚马逊 EC2 控制台。
- 在导航窗格中,选择 路由表,然后选择该路由表。
- 选择 操作,然后单击 编辑路由。
- 要添加路由,请选择 添加路由。对于 目标,输入目标 CIDR 块、单个 IP 地址或前缀列表的 ID。对于网关 ID,选择主节点客户端接口的 ENI。

注意:
您必须在主实例的客户端 ENI 上禁用 源/目标检查。
要使用控制台禁用网络接口的源/目标检查功能,请执行以下步骤:
- 打开 亚马逊 EC2 控制台。
- 在导航窗格中,选择 网络接口。
- 选择主客户端接口的网络接口,然后选择 操作,并单击 更改源/目标检查。
- 在对话框中,选择 禁用,单击 保存。

步骤 5. 配置高可用性。您可以使用 NetScaler VPX CLI 或 GUI 设置高可用性。
使用 CLI 配置高可用性
-
在两个实例中以 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 地址。
-
在主实例上添加一个虚拟服务器。您必须从所选子网添加它,例如 10.10.10.0/24。
键入以下命令:
add \<server\_type\> vserver \<vserver\_name\> \<protocol\> \<primary\_vip\> \<port\> <!--NeedCopy-->
使用 GUI 配置高可用性
-
在两个实例上以 INC 模式设置高可用性
-
使用用户名
nsroot和实例 ID 作为密码登录主节点。 -
导航到 配置 > 系统 > 高可用性,然后单击 添加。
-
在 Remote Node IP address 字段中,添加辅助节点的管理网卡的私有 IP 地址。
-
在自节点上选择 启用 NIC(独立网络配置) 模式。
-
在 远程系统登录凭据 下,添加辅助节点的用户名和密码,然后单击 创建。
-
在辅助节点上重复这些步骤。
-
在主实例中添加虚拟服务器
导航到 配置 > 流量管理 > 虚拟服务器 > 添加。

使用 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 角色
- 登录 AWS Web 控制台。
- 在 IAM 选项卡中,导航到 Roles,然后选择 Create Role。
-
选择 另一个 AWS 账户。

- 输入您要授予管理员访问权限的参与者账户的 12 位账户 ID 号。
通过使用 NetScaler CLI 设置跨账户 IAM 角色
以下命令使 NetScaler VPX 实例能够承担 VPC 所有者账户中存在的跨账户 IAM 角色。
set cloud awsParam -roleARN <string>
<!--NeedCopy-->
通过使用 NetScaler GUI 设置跨账户 IAM 角色
-
登录 NetScaler 设备并导航到 配置 > AWS > 更改云参数。

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

场景
在此场景中,将创建一个 VPC。在该 VPC 中,将在两个可用区中创建两个 VPX 实例。每个实例有三个子网——一个用于管理,一个用于客户端,一个用于后端服务器。
以下图表说明了 AWS 上 INC 模式下的 NetScaler VPX 高可用性设置。自定义子网 10.10.10.10 不属于 VPC,用作 VIP。因此,10.10.10.10 子网可以在可用区之间使用。


对于此场景,请使用 CLI 配置高可用性。
-
在两个实例上以 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 地址。
-
在主实例上添加一个虚拟服务器。
键入以下命令:
add lbvserver vserver1 http 10.10.10.10 80 <!--NeedCopy--> -
将配置保存下来。
-
强制故障转移后:
- 辅助实例将接管并成为新的主实例。
- 指向主 ENI 的 VPC 路由迁移到辅助客户端 ENI。
- 客户端流量恢复到新的主实例。
适用于高可用性私有 IP 解决方案的 AWS 中转网关配置
您需要 AWS Transit Gateway 以使私有 VIP 子网在内部网络、AWS VPC、区域和本地网络之间可路由。VPC 必须连接到 AWS Transit Gateway。在 AWS Transit Gateway 路由表中为 VIP 子网或 IP 池创建静态路由,并将其指向 VPC。

要配置 AWS 传输网关,请按照以下步骤操作:
- 打开 亚马逊 VPC 控制台。
- 在导航窗格中,选择 传输网关路由表。
-
选择“路由”选项卡,然后单击“创建静态路由”。

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

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