VMware Aria Automation Google Cloud Platform (GCP) 云帐户用户可以配置负载均衡器以支持自定义解决方案,包括高可用性。

VMware Aria Automation GCP 云帐户用户可以对负载均衡器配置的多个方面进行配置以支持特定要求。例如,这些功能可以支持 SAP NetWeaver 和 SAP Hana 的置备基础架构。

使用 GCP 云帐户设置高可用性负载均衡器配置

具有 GCP 云帐户的 VMware Aria Automation 用户可以对负载均衡器配置的多个方面进行配置以支持特定要求,例如高可用性。这些功能可以支持 SAP NetWeaver 和 SAP Hana 的置备基础架构。

通过此配置,可以在不同的可用区中部署不同的负载均衡器实例。要进行此设置,您需要在 GCP 中配置以下组件:

  • 预留虚拟 IP 地址
  • 置备运行状况检查
  • 创建防火墙规则以支持运行状况检查

设置 GCP 端后,必须在 VMware Aria Automation 中设置适当的组件,如下所述:

  • 如果还没有 GCP 云帐户,请创建一个。
  • 根据您的环境设置特定实例和映像映射。
  • 创建默认网络配置文件并对其进行标记,以便可以从云模板调用该配置文件。
  • 创建计算可用区并进行相应标记。通过这些设置,可以告知 VMware Aria Automation 将实例和实例组置备到云模板中的特定可用区。

配置了所有这些组件后,可以导航到 Automation Assembler 设计选项卡并创建云模板。此模板应根据需要使用运行状况检查规范以及实例和实例组对适当的负载均衡器配置进行建模。为了实现高可用性,必须配置多个负载均衡器。云模板还应指定适当的虚拟机以及应在其中部署这些虚拟机的可用区。

以下云模板示例展示了如何为 NetWeaver 设置高可用性负载均衡器配置。

formatVersion: 1
inputs: {}
resources:
  Cloud_LoadBalancer_1:
    type: Cloud.LoadBalancer
    properties:
      routes:
        - healthCheckConfiguration:
            healthyThreshold: 2
            unhealthyThreshold: 2
            timeoutSeconds: 10
            intervalSeconds: 10
            port: 65000
            protocol: TCP
          protocol: TCP
          port: 1000
          instancePort: 1000
      network: ${resource.Cloud_Network_1.id}
      instances:
        - ${resource.Cloud_GCP_Machine_1.id}
        - ${resource.Cloud_GCP_Machine_2.id}
      internetFacing: false
      fallbackInstanceGroupsByInstanceNames:
        - ${resource.Cloud_GCP_Machine_2.resourceName}
  Cloud_LoadBalancer_2:
    type: Cloud.LoadBalancer
    properties:
      routes:
        - healthCheckConfiguration:
            healthyThreshold: 2
            unhealthyThreshold: 2
            timeoutSeconds: 10
            intervalSeconds: 10
            port: 65000
            protocol: TCP
          protocol: TCP
          port: 1000
          instancePort: 1000
      network: ${resource.Cloud_Network_1.id}
      instances:
        - ${resource.Cloud_GCP_Machine_1.id}
        - ${resource.Cloud_GCP_Machine_2.id}
      internetFacing: false
      useInstanceGroupsFrom: ${resource.Cloud_LoadBalancer_1.resourceName}
      fallbackInstanceGroupsByInstanceNames:
        - ${resource.Cloud_GCP_Machine_1.resourceName}
  Cloud_GCP_Machine_2:
    type: Cloud.GCP.Machine
    properties:
      image: image
      flavor: flavor
      networks:
        - network: ${resource.Cloud_Network_1.id}
      constraints:
        - tag: zone-b
  Cloud_Network_1:
    type: Cloud.Network
    properties:
      networkType: existing
      constraints:
        - tag: default
  Cloud_GCP_Machine_1:
    type: Cloud.GCP.Machine
    properties:
      image: image
      flavor: flavor
      networks:
        - network: ${resource.Cloud_Network_1.id}
      constraints:
        - tag: zone-a

其他负载均衡器配置选项

使用云模板配置,VMware Aria Automation 用户可以对负载均衡器配置的以下其他方面进行配置。

  • 在负载均衡器之间共享实例组
  • 配置故障切换实例组
  • 将负载均衡器配置为接受所有端口上的流量

共享实例组

要在负载均衡器之间共享实例组,用户必须在蓝图中明确声明该实例组。由于无法直接在云模板中访问实例组,因此客户必须使用 useInstanceGroupsFrom 属性。这样,VMware Aria Automation 将置备第一个负载均衡器,并在其他负载均衡器中重用实例组。

以下示例说明了如何使用云模板配置两个负载均衡器,其中第二个负载均衡器使用第一个负载均衡器中的实例组:

Cloud_LoadBalancer_1:
    type: Cloud.LoadBalancer
    properties:
      routes:
        - healthCheckConfiguration:
            healthyThreshold: 2
            unhealthyThreshold: 2
            timeoutSeconds: 10
            intervalSeconds: 10
            port: 65000
            protocol: TCP
          protocol: TCP
      network: ${resource.Cloud_Network_1.id}
      instances:
        - ${resource.Cloud_GCP_Machine_1.id}
        - ${resource.Cloud_GCP_Machine_2.id}
      internetFacing: false
  Cloud_LoadBalancer_2:
    type: Cloud.LoadBalancer
    properties:
      routes:
        - healthCheckConfiguration:
            healthyThreshold: 2
            unhealthyThreshold: 2
            timeoutSeconds: 10
            intervalSeconds: 10
            port: 65000
            protocol: TCP
          protocol: TCP
      network: ${resource.Cloud_Network_1.id}
      instances:
        - ${resource.Cloud_GCP_Machine_1.id}
        - ${resource.Cloud_GCP_Machine_2.id}
      internetFacing: false
      useInstanceGroupsFrom: ${resource.Cloud_LoadBalancer_1.resourceName}

配置故障切换实例组

要为每个 GCP 负载均衡器配置故障切换实例组,必须在云模板中明确声明。由于无法直接在模板中访问实例组,因此必须使用 failoverInstanceGroupsByInstanceNames 属性,告知 VMware Aria Automation 按实例组中包含的计算机查找该实例组。

以下示例说明了如何配置具有一个主实例组和一个故障切换实例组的负载均衡器:

Cloud_LoadBalancer_1:
  type: Cloud.LoadBalancer
  properties:
    routes:
      - healthCheckConfiguration:
          healthyThreshold: 2
          unhealthyThreshold: 2
          timeoutSeconds: 10
          intervalSeconds: 10
          port: 65000
          protocol: TCP
        protocol: TCP
    network: ${resource.Cloud_Network_1.id}
    instances:
      - ${resource.Cloud_GCP_Machine_1.id}
      - ${resource.Cloud_GCP_Machine_2.id}
    internetFacing: false
    failoverInstanceGroupsByInstanceNames:
      - ${resource.Cloud_GCP_Machine_2.resourceName}

配置为接受所有端口上的流量

要将负载均衡器配置为接受所有端口上的流量,可以省略路由配置的端口属性。可以查看云模板示例,其中,使用三个新创建的功能,并为此设置置备基础架构。有关相关信息,请参见配置云负载均衡故障切换支持

formatVersion: 1
inputs: {}
resources:
  Cloud_LoadBalancer_1:
    type: Cloud.LoadBalancer
    properties:
      routes:
        - healthCheckConfiguration:
            healthyThreshold: 2
            unhealthyThreshold: 2
            timeoutSeconds: 10
            intervalSeconds: 10
            port: 65000
            protocol: TCP
          protocol: TCP
      network: ${resource.Cloud_Network_1.id}
      instances:
        - ${resource.Cloud_GCP_Machine_1.id}
        - ${resource.Cloud_GCP_Machine_2.id}
      internetFacing: false
      failoverInstanceGroupsByInstanceNames:
        - ${resource.Cloud_GCP_Machine_2.resourceName}
      address: 10.132.0.72
  Cloud_LoadBalancer_2:
    type: Cloud.LoadBalancer
    properties:
      routes:
        - healthCheckConfiguration:
            healthyThreshold: 2
            unhealthyThreshold: 2
            timeoutSeconds: 10
            intervalSeconds: 10
            port: 65000
            protocol: TCP
          protocol: TCP
      network: ${resource.Cloud_Network_1.id}
      instances:
        - ${resource.Cloud_GCP_Machine_1.id}
        - ${resource.Cloud_GCP_Machine_2.id}
      internetFacing: false
      useInstanceGroupsFrom: ${resource.Cloud_LoadBalancer_1.resourceName}
      failoverInstanceGroupsByInstanceNames:
        - ${resource.Cloud_GCP_Machine_1.resourceName}
      address: 10.132.0.64
  Cloud_GCP_Machine_2:
    type: Cloud.GCP.Machine
    properties:
      image: image
      flavor: flavor
      networks:
        - network: ${resource.Cloud_Network_1.id}
      constraints:
        - tag: zone-c
  Cloud_Network_1:
    type: Cloud.Network
    properties:
      networkType: existing
      constraints:
        - tag: default
  Cloud_GCP_Machine_1:
    type: Cloud.GCP.Machine
    properties:
      image: image
      flavor: flavor
      networks:
        - network: ${resource.Cloud_Network_1.id}
      constraints:
        - tag: zone-b