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 扩展