在 Google Cloud Platform 上部署具有外部静态 IP 地址的 VPX 高可用性对
您可以在 GCP 上使用外部静态 IP 地址部署 VPX 高可用性对。主节点的客户端 IP 地址必须绑定到外部静态 IP 地址。发生故障转移时,外部静态 IP 地址会移动到辅助节点,以便流量恢复。
静态外部 IP 地址是为您的项目保留的外部 IP 地址,直到您决定释放它。如果您使用 IP 地址访问服务,则可以保留该 IP 地址,以便只有您的项目可以使用它。有关更多信息,请参阅 保留静态外部 IP 地址。
有关 HA 的更多信息,请参阅 高可用性。
开始之前
-
阅读 在 Google Cloud Platform 上部署 NetScaler VPX 实例 中提到的限制、硬件要求和注意事项。此信息也适用于 HA 部署。
- 为您的 GCP 项目启用 云资源管理器 API。
-
在创建实例时,允许完全访问所有 Cloud API。

-
确保与您的 GCP 服务帐户关联的 IAM 角色具有以下 IAM 权限:
REQUIRED_INSTANCE_IAM_PERMS = [ "compute.addresses.use", "compute.forwardingRules.list", "compute.forwardingRules.setTarget", "compute.instances.setMetadata" "compute.instances.addAccessConfig", "compute.instances.deleteAccessConfig", "compute.instances.get", "Compute.instances.list", "compute.networks.useExternalIp", "compute.subnetworks.useExternalIp", "compute.targetInstances.list", "compute.targetInstances.use", "compute.targetInstances.create", "compute.zones.list", "compute.zoneOperations.get", ] <!--NeedCopy--> -
如果您在管理接口以外的接口上配置了别名 IP 地址,请确保您的 GCP 服务帐户具有以下额外的 IAM 权限:
"compute.instances.updateNetworkInterface" <!--NeedCopy--> - 如果您在主节点上配置了 GCP 转发规则,请阅读 GCP 上 VPX 高可用性对的转发规则支持 中提到的限制和要求,以便在故障转移时将其更新到新的主节点。
如何在 Google 云平台部署 VPX HA 对
以下是 HA 部署步骤的摘要:
- 在同一区域创建 VPC 网络。例如,亚洲东部。
- 在同一区域创建两个 VPX 实例(主节点和辅助节点)。它们可以位于同一区域或不同区域。例如,亚洲东部-1a 和亚洲东部-Ib。
- 使用 NetScaler GUI 或 ADC CLI 命令在两个实例上配置 HA 设置。
步骤 1. 创建 VPC 网络
根据您的要求创建 VPC 网络。Citrix® 建议您创建三个 VPC 网络,分别用于关联管理 NIC、客户端 NIC 和服务器 NIC。
要创建 VPC 网络,请执行以下步骤:
- 登录 Google 控制台 > 网络 > VPC 网络 > 创建 VPC 网络。
- 填写必填字段,然后点击 创建。
欲了解更多信息,请参阅 部署 Google Cloud Platform 上的 NetScaler VPX 实例 中的“创建 VPC 网络”部分。
步骤 2. 创建两个 VPX 实例
按照 (/zh-cn/vpx/current-release/deploy-vpx-google-cloud.html#scenario-deploy-a-multi-nic-multi-ip-standalone-vpx-instance) 中“场景:部署多 NIC、多 IP 独立 VPX 实例”中给出的步骤创建两个 VPX 实例。
重要提示:
将静态外部 IP 地址分配给主节点的客户端 IP 地址 (VIP)。您可以使用现有的保留 IP 地址,也可以创建一个新的。要创建静态外部 IP 地址,请导航到 网络接口 > 外部 IP,点击 创建 IP 地址。

故障转移后,当旧主节点成为新辅助节点时,静态外部 IP 地址将从旧主节点移动并附加到新主节点。有关更多信息,请参阅 Google Cloud 文档保留静态外部 IP 地址。
配置 VPX 实例后,您可以配置 VIP 和 SNIP 地址。有关更多信息,请参阅 (/zh-cn/citrix-adc/current-release/networking/ip-addressing/configuring-citrix-adc-owned-ip-addresses.html) 中的“配置 NetScaler 拥有的 IP 地址”。
步骤 3. 配置高可用性
在 Google Cloud 平台上创建实例后,您可以使用 NetScaler 图形用户界面或命令行界面配置高可用性。
使用 GUI 配置 HA
步骤 1。在两个实例上以 INC 模式设置高可用性。
在主节点上,执行以下步骤:
- 使用用户名
nsroot和 GCP 控制台中节点的实例 ID 作为密码登录实例。 - 导航到 配置 > 系统 > 高可用性 > 节点,然后单击 添加。
- 在远程节点 IP 地址字段中,输入辅助节点的管理 NIC 的私有 IP 地址。
- 选中在自节点上启用 INC(独立网络配置)模式复选框。
- 单击创建。
在辅助节点上,执行以下步骤:
- 使用用户名
nsroot和 GCP 控制台中节点的实例 ID 作为密码登录实例。 - 导航到 配置 > 系统 > 高可用性 > 节点,然后单击 添加。
- 在远程节点 IP 地址字段中,输入主节点的管理 NIC 的私有 IP 地址。
- 选中在自节点上启用 INC(独立网络配置)模式复选框。
- 单击创建。
在继续之前,请确保辅助节点的同步状态在“节点”页面中显示为“成功”。

注意:
现在,辅助节点具有与主节点相同的登录凭据。
步骤 2。在两个节点上添加虚拟 IP 地址和子网 IP 地址。
在主节点上,执行以下步骤:
- 导航到“系统 > 网络 > IP > IPv4”,然后单击“添加”。
- 按照以下步骤添加主 VIP 地址:
- 输入主实例面向客户端的接口的内部 IP 地址以及在 VM 实例中为客户端子网配置的子网掩码。
- 在“IP 类型”字段中,从下拉菜单中选择“虚拟 IP”。
- 单击“创建”。
- 按照以下步骤添加主 SNIP 地址:
- 输入主实例面向服务器的接口的内部 IP 地址以及在主实例中为服务器子网配置的子网掩码。
- 在“IP 类型”字段中,从下拉菜单中选择“子网 IP”。
- 单击“创建”。
- 通过以下步骤添加辅助 VIP 地址:
- 输入辅助实例面向客户端的接口的内部 IP 地址以及为 VM 实例中的客户端子网配置的子网掩码。
- 在“IP 类型”字段中,从下拉菜单中选择“虚拟 IP”。
- 单击“创建”。
主节点上创建 VIP 和 SNIP(/zh-cn/vpx/media/primary-vip-snip.png)
在辅助节点上,执行以下步骤:
- 导航到“系统 > 网络 > IP > IPv4”,然后单击“添加”。
- 通过以下步骤添加辅助 VIP 地址:
- 输入辅助实例面向客户端的接口的内部 IP 地址以及为 VM 实例中的客户端子网配置的子网掩码。
- 在“IP 类型”字段中,从下拉菜单中选择“虚拟 IP”。
- 通过以下步骤添加辅助 SNIP 地址:
- 输入辅助实例面向服务器的接口的内部 IP 地址以及为辅助实例中的服务器子网配置的子网掩码。
- 在“IP 类型”字段中,从下拉菜单中选择“子网 IP”。
- 单击“创建”。
辅助节点上创建 VIP 和 SNIP(/zh-cn/vpx/media/secondary-vip-snip.png)
步骤 3。添加 IP 集并将 IP 集绑定到两个实例上的辅助 VIP。
在主节点上,执行以下步骤:
- 导航到 系统 > 网络 > IP 集 > 添加。
- 添加 IP 集名称,然后单击插入。
- 在 IPV4s 页面上,选择虚拟 IP(辅助 VIP),然后单击插入。
- 单击创建以创建 IP 集。

在辅助节点上,执行以下步骤:
- 导航到 系统 > 网络 > IP 集 > 添加。
- 添加 IP 集名称,然后单击插入。
- 在 IPV4s 页面上,选择虚拟 IP(辅助 VIP),然后单击插入。
- 单击创建以创建 IP 集。

注意:
IP 集名称在两个实例上必须相同。
步骤 4。在主实例上添加负载均衡虚拟服务器。
- 导航到 配置 > 流量管理 > 负载均衡 > 虚拟服务器 > 添加。
-
添加以下所需值:名称、协议、IP 地址类型 (IP 地址)、IP 地址 (主 VIP) 和端口。

- 单击 更多。导航到 IP 范围 IP 集设置,从下拉菜单中选择 IPset,并提供在 步骤 3 中创建的 IPset。
- 单击 确定 以创建负载均衡虚拟服务器。
步骤 5。在主节点上添加服务或服务组。
- 导航到 配置 > 流量管理 > 负载均衡 > 服务 > 添加。
- 添加以下所需值:服务名称、IP 地址、协议和端口,然后单击 确定。
步骤 6。将服务或服务组绑定到主节点上的负载均衡虚拟服务器。
- 导航到 配置 > 流量管理 > 负载均衡 > 虚拟服务器。
- 选择在 步骤 4 中配置的负载均衡虚拟服务器,然后单击 编辑。
- 在 服务和服务器组 选项卡中,单击 无负载均衡虚拟服务器服务绑定。
- 选择在 步骤 5 中配置的服务,然后单击 绑定。
保存配置。强制故障转移后,辅助节点将成为新的主节点。旧主 VIP 的外部静态 IP 将移动到新的辅助 VIP。
使用 CLI 配置高可用性
步骤 1。在两个实例中以 INC 模式设置高可用性。
在主节点上,键入以下命令。
add ha node 1 <sec_ip> -inc ENABLED
<!--NeedCopy-->
在辅助节点上,键入以下命令。
add ha node 1 <prim_ip> -inc ENABLED
<!--NeedCopy-->
sec_ip 指的是辅助节点管理 NIC 的内部 IP 地址。
prim_ip 指的是主节点管理 NIC 的内部 IP 地址。
步骤 2。在两个节点上添加虚拟 IP 和子网 IP。
在主节点上,键入以下命令。
add ns ip <primary_vip> <subnet> -type VIP
add ns ip <secondary_vip> <subnet> -type VIP
add ns ip <primary_snip> <subnet> -type SNIP
<!--NeedCopy-->
primary_vip 指的是主实例面向客户端接口的内部 IP 地址。
secondary_vip 指的是辅助实例面向客户端接口的内部 IP 地址。
primary_snip 指的是主实例面向服务器接口的内部 IP 地址。
在辅助节点上,键入以下命令。
add ns ip <secondary_vip> <subnet> -type VIP
add ns ip <secondary_snip> <subnet> -type SNIP
<!--NeedCopy-->
secondary_vip 指的是辅助实例面向客户端接口的内部 IP 地址。
secondary_snip 指的是辅助实例面向服务器接口的内部 IP 地址。
步骤 3。在两个实例上添加 IP 集并将 IP 集绑定到辅助 VIP。
在主节点上,输入以下命令:
add ipset <ipsetname>
bind ipset <ipsetname> <secondary VIP>
<!--NeedCopy-->
在辅助节点上,输入以下命令:
add ipset <ipsetname>
bind ipset <ipsetname> <secondary VIP>
<!--NeedCopy-->
注意:
IP 集名称在两个实例上必须相同。
步骤 4。在主实例上添加一个虚拟服务器。
输入以下命令:
add <server_type> vserver <vserver_name> <protocol> <primary_vip> <port> -ipset <ipset_name>
<!--NeedCopy-->
步骤 5。在主实例上添加一个服务或服务组。
输入以下命令:
add service <service_name> <service_ip_address> <protocol> <port>
<!--NeedCopy-->
步骤 6。将服务/服务组绑定到主实例上的负载均衡虚拟服务器。
输入以下命令:
bind <server_type> vserver <vserver_name> <service_name>
<!--NeedCopy-->
注意:
要保存配置,请输入命令
save config。否则,重启实例后配置将丢失。
步骤 7。验证配置。
确保附加到主客户端 NIC 的外部 IP 地址在故障转移时移动到辅助 NIC。
- 向外部 IP 地址发出 cURL 请求,并确保其可访问。
-
在主实例上,执行故障转移:
从 GUI,导航到 配置 > 系统 > 高可用性 > 操作 > 强制故障转移。
从 CLI,键入以下命令:
force ha failover -f <!--NeedCopy-->在 GCP 控制台中,转到辅助实例。故障转移后,外部 IP 地址必须已移动到辅助实例的客户端 NIC。
- 向外部 IP 发出 cURL 请求,并确保它再次可访问。