ADC

GCP 上的 NetScaler VPX 实例支持 VIP 扩展

NetScaler 设备的位置介于客户端与服务器之间,以便客户端请求和服务器响应都能经过该设备。在典型安装中,在设备上配置的虚拟服务器提供连接点,客户端使用这些连接点来访问位于设备后面的应用程序。部署所需的公用虚拟 IP (VIP) 地址数量因具体情况而异。

GCP 体系结构限制实例上的每个接口连接到不同的 VPC。GCP 上的 VPC 是子网的集合,每个子网可以跨地理区域的区域。此外,GCP 还规定了以下限制:

  • 存在公用 IP 地址数量与 NIC 数量的 1:1 映射。一个 NIC 只能分配一个公用 IP 地址。
  • 在容量较高的实例类型上最多只能附加 8 个 NIC。

例如,n1-standard-2 实例只能有 2 个 NIC,可以添加的公用 VIP 限制为 2 个。有关更多信息,请参阅 VPC 资源配额

要在 NetScaler VPX 实例上实现更高的公共虚拟 IP 地址规模,您可以将 VIP 地址配置为实例元数据的一部分。NetScaler VPX 实例在内部使用 GCP 提供的转发规则来实现 VIP 扩展。NetScaler VPX 实例还为配置的 VIP 提供高可用性。 将 VIP 地址配置为元数据的一部分后,可以使用创建转发规则所用的相同 IP 配置 LB 虚拟服务器。因此,我们可以使用转发规则来缓解在 GCP 上的 NetScaler VPX 实例上使用公有 VIP 地址时 w.r.t scale 的限制。

有关转发规则的详细信息,请参阅 转发规则概述

有关 HA 的更多信息,请参阅 高可用性

注意事项

  • Google 会对每个虚拟 IP 转发规则收取一些额外的费用。实际成本取决于创建的条目数量。相关费用可以从 Google 定价文档中找到。
  • 转发规则仅适用于公用 VIP。当部署需要专用 IP 地址作为 VIP 时,可以使用别名 IP 地址。
  • 只能为需要 LB 虚拟服务器的协议创建转发规则。VIP 可以即时创建、更新或删除。还可以添加具有相同 VIP 地址但使用不同协议的新负载平衡虚拟服务器。

开始之前的准备工作

  • NetScaler VPX 实例必须部署在 GCP 上。
  • 必须保留外部 IP 地址。有关详细信息,请参阅 保留静态外部 IP 地址

  • 确保您的 GCP 服务帐户具有以下 IAM 权限:

     REQUIRED_IAM_PERMS = [
     "compute.addresses.list",
     "compute.addresses.get",
     "compute.addresses.use",
     "compute.forwardingRules.create",
     "compute.forwardingRules.delete",
     "compute.forwardingRules.get",
     "compute.forwardingRules.list",
     "compute.instances.use",
     "compute.subnetworks.use",
     "compute.targetInstances.create"
     "compute.targetInstances.get"
     "compute.targetInstances.use",
     ]
    
     <!--NeedCopy-->
    
  • 为您的 GCP 项目启用 Cloud Resource Manager API

  • 如果您在独立 VPX 实例上使用 VIP 扩展,请确保您的 GCP 服务帐户具有以下 IAM 权限:

     REQUIRED_IAM_PERMS = [
     "compute.addresses.list",
     "compute.addresses.get",
     "compute.addresses.use",
     "compute.forwardingRules.create",
     "compute.forwardingRules.delete",
     "compute.forwardingRules.get",
     "compute.forwardingRules.list",
     "compute.instances.use",
     "compute.subnetworks.use",
     "compute.targetInstances.create",
     "compute.targetInstances.list",
     "compute.targetInstances.use",
     ]
     <!--NeedCopy-->
    
  • 如果您在高可用性模式下使用 VIP 扩展,请确保您的 GCP 服务帐户具有以下 IAM 权限:

     REQUIRED_IAM_PERMS = [
     "compute.addresses.get",
     "compute.addresses.list",
     "compute.addresses.use",
     "compute.forwardingRules.create",
     "compute.forwardingRules.delete",
     "compute.forwardingRules.get",
     "compute.forwardingRules.list",
     "compute.forwardingRules.setTarget",
     "compute.instances.use",
     "compute.instances.get",
     "compute.instances.list",
     "compute.instances.setMetadata",
     "compute.subnetworks.use",
     "compute.targetInstances.create",
     "compute.targetInstances.list",
     "compute.targetInstances.use",
     "compute.zones.list",
     ]
     <!--NeedCopy-->
    

    注意:

    在高可用性模式下,如果您的服务帐号没有所有者或编辑者角色,则必须将 服务帐户用户角 色添加到服务帐号中。

在 NetScaler VPX 实例上配置外部 IP 地址以进行 VIP 扩展

  1. 在 Google 云控制台中,导航至 VM Instances(VM 实例)页面。
  2. 创建新的虚拟机实例或使用现有实例。
  3. 单击实例名称。在 虚拟机实例详细信息 页面上,单击 编辑
  4. 通过输入以下内容来更新 Custom metadata(自定义元数据):
    • 键 = VIPs
    • 值 = 提供以下 JSON 格式的值:

      { “Name of external reserved IP”: [list of protocols], }

    GCP 支持以下协议:

    • AH
    • ESP
    • ICMP
    • SCT
    • TCP
    • UDP

    自定义元数据

    有关详细信息,请参阅 自定义元数据

    自定义元数据示例:

    { “external-ip1-name”:[“TCP”, “UDP”], “external-ip2-name”:[“ICMP”, “AH”] }

    在此示例中,NetScaler VPX 实例在内部为每个 IP 协议对创建了一个转发规则。元数据条目将映射到转发规则。此示例可帮助您了解为元数据条目创建了多少条转发规则。

    请按如下方式创建四条转发规则:

    1. 外部 ip1 名称和 TCP
    2. 外部 ip1 名称和 UDP
    3. 外部 ip2 名称和 ICMP
    4. 外部 ip2-name 和 AH

    注意:

    在高可用模式下,您只能在主实例上添加自定义元数据。在故障转移时,自定义元数据将同步到新的主节点。

  5. 单击保存

在 NetScaler VPX 实例上使用外部 IP 地址设置负载平衡虚拟服务器

第 1 步。添加负载平衡虚拟服务器。

  1. 导航到 Configuration(配置)> Traffic Management(流量管理)> Load Balancing(负载平衡)> Virtual Servers(虚拟服务器)> Add(添加)

    虚拟服务器

  2. 添加“Name”(名称)、“Protocol”(协议)、IP Address Type (IP Address)(IP 地址类型(IP 地址))、“IP Address”(IP 地址)(在 ADC 上作为 VIP 添加的转发规则的外部 IP 地址)和“Port”(端口)所需的值,然后单击 OK(确定)。

    LB 虚拟服务器

第 2 步。添加服务或服务组。

  1. 导航到 Configuration(配置)> Traffic Management(流量管理)> Load Balancing(负载平衡)> Services(服务)> Add(添加)
  2. 添加“Service Name”(服务名称)、“IP Address”(IP 地址)、“Protocol”(协议)和“Port”(端口)所需的值,然后单击 OK(确定)。

    LB 服务

第 3 步。将服务或服务组绑定到负载平衡虚拟服务器。

  1. 导航到 Configuration(配置)> Traffic Management(流量管理)> Load Balancing(负载平衡)> Virtual Servers(虚拟服务器)
  2. 选择在 Step 1(步骤 1)中配置的负载平衡虚拟服务器,然后单击 Edit(编辑)。
  3. Service and Service Groups(服务和服务组)页面中,单击 No Load Balancing Virtual Server Service Binding(无负载平衡虚拟服务器服务绑定)。

    无负载平衡虚拟服务器服务绑定

  4. 选择在 Step 3(步骤 3)中配置的服务,然后单击 Bind(绑定)。

    服务绑定

  5. 保存配置。
GCP 上的 NetScaler VPX 实例支持 VIP 扩展