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