vRealize Automation Google Cloud Platform (GCP) 雲端帳戶使用者可以設定負載平衡器以支援自訂解決方案,包括高可用性。

vRealize Automation GCP 雲端帳戶使用者可以對負載平衡器組態的多個方面進行設定以支援特定需求。例如,這些功能可以支援為 SAP NetWeaver 和 SAP Hana 佈建基礎結構。

使用 GCP 雲端帳戶設定高可用性負載平衡器組態

具有 GCP 雲端帳戶的 vRealize Automation 使用者可以對負載平衡器組態的多個方面進行設定以支援特定需求,例如高可用性。例如,這些功能可以支援為 SAP NetWeaver 和 SAP Hana 佈建基礎結構。

透過此組態,可以在不同的可用性區域中部署不同的負載平衡器執行個體。若要進行此設定,需要在 GCP 中設定以下元件:

  • 保留虛擬 IP 位址
  • 佈建健全狀況檢查
  • 建立防火牆規則以支援健全狀況檢查

設定 GCP 端後,必須在 vRealize Automation 中設定適當的元件,如下所述:

  • 如果還沒有 GCP 雲端帳戶,請建立一個。
  • 根據您的環境設定類型模板和映像對應。
  • 建立預設網路設定檔並對其進行標記,以便可以從雲端範本叫用該設定檔。
  • 建立計算可用性區域並進行相應標記。透過這些設定,可以告知 vRealize Automation 將執行個體和執行個體群組佈建到雲端範本中的特定可用性區域。

設定了所有這些元件後,可以導覽到 Cloud Assembly [設計] 索引標籤並建立雲端範本。此範本應根據需要使用健全狀況檢查規格以及執行個體和執行個體群組對適當的負載平衡器組態進行建模。為了實現高可用性,必須設定多個負載平衡器。雲端範本還應指定適當的虛擬機器以及應在其中部署這些虛擬機器的可用性區域。

以下雲端範本範例示範了如何為 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

其他負載平衡器組態選項

透過使用雲端範本組態,vRealize Automation 使用者可以對負載平衡器組態的以下其他方面進行設定。

  • 在負載平衡器之間共用執行個體群組
  • 設定容錯移轉執行個體群組
  • 將負載平衡器設定為接受所有連接埠上的流量

共用執行個體群組

若要在負載平衡器之間共用執行個體群組,使用者必須在藍圖中明確宣告該執行個體群組。由於無法直接在藍圖中存取執行個體群組,因此客戶必須使用 useInstanceGroupsFrom 內容。這樣一來,vRealize 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 內容,告知 vRealize 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}

設定為接受所有連接埠上的流量

若要將負載平衡器設定為接受所有連接埠上的流量,可以略過路由組態的連接埠內容。可以在以下位置檢視雲端範本範例,其中,使用三個新建立的功能,並為此設定佈建基礎結構:https://cloud.google.com/solutions/sap/docs/netweaver-ha-config-rhel#configure_the_failover_support

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