Benutzer von vRealize Automation Cloud Google Cloud Platform-Cloud-Konten (GCP) können Lastausgleichsdienste konfigurieren, um benutzerdefinierte Lösungen, einschließlich Hochverfügbarkeit, zu unterstützen.

Benutzer von vRealize Automation Cloud GCP-Cloud-Konten können verschiedene Aspekte der Lastausgleichskonfiguration konfigurieren, um bestimmte Anforderungen zu unterstützen. Diese Funktionen können beispielsweise die Bereitstellungsinfrastruktur für SAP NetWeaver und SAP Hana unterstützen.

Einrichten einer HA-Lastausgleichskonfiguration mit einem GCP-Cloud-Konto

vRealize Automation Cloud-Benutzer mit einem GCP-Cloud-Konto können verschiedene Aspekte der Lastausgleichskonfiguration konfigurieren, um bestimmte Anforderungen zu unterstützen, wie z. B. Hochverfügbarkeit. Diese Funktionen können beispielsweise die Bereitstellungsinfrastruktur für SAP NetWeaver und SAP Hana unterstützen.

Mit dieser Konfiguration können Sie verschiedene Lastausgleichsinstanzen in unterschiedlichen Verfügbarkeitsbereichen bereitstellen. Zu Einrichtungszwecken müssen Sie die folgenden Komponenten in GCP konfigurieren:

  • Reservieren virtueller IP-Adressen
  • Bereitstellen von Integritätsprüfungen
  • Erstellen einer Firewallregel zur Unterstützung der Integritätsprüfungen
Auf der folgenden Seite wird die Einrichtung und Konfiguration dieser Komponenten in GCP beschrieben: https://cloud.google.com/solutions/sap/docs/netweaver-ha-config-rhel#configure_the_failover_support. Darüber hinaus finden Sie auf den folgenden Seiten Informationen zu NetWeaver- und Hana-Konfigurationen:

Nach der Einrichtung von GCP müssen Sie die entsprechenden Komponenten in vRealize Automation Cloud festlegen (siehe folgende Beschreibung):

  • Erstellen Sie im Bedarfsfall ein GCP-Cloud-Konto.
  • Richten Sie die Typ- und Image-Zuordnung entsprechend Ihrer Umgebung ein.
  • Erstellen Sie ein Standardnetzwerkprofil und kennzeichnen Sie es so, dass Sie es über eine Cloud-Vorlage aufrufen können.
  • Erstellen Sie Computing-Verfügbarkeitsbereiche und kennzeichnen Sie sie entsprechend. Mit diesen können Sie vRealize Automation Cloud anweisen, bestimmten Verfügbarkeitsbereichen in einer Cloud-Vorlage Instanzen und Instanzgruppen bereitzustellen.

Wenn Sie alle diese Komponenten konfiguriert haben, können Sie zur Registerkarte „Cloud Assembly-Design“ navigieren und eine Cloud-Vorlage erstellen. Diese Vorlage sollte als Modell für die entsprechende Lastausgleichskonfiguration mit Spezifikationen für die Integritätsprüfung sowie für Instanzen und Instanzgruppen dienen. Zu Hochverfügbarkeitszwecken müssen Sie mehrere Lastausgleichsdienste konfigurieren. In der Cloud-Vorlage sollten auch die entsprechenden virtuellen Maschinen und Verfügbarkeitsbereiche angegeben werden, in denen sie bereitgestellt werden sollen.

Das folgende Beispiel einer Cloud-Vorlage zeigt, wie eine HA-Lastausgleichskonfiguration für NetWeaver eingerichtet werden kann.

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

Zusätzliche Konfigurationsoptionen für den Lastausgleichsdienst

Mithilfe von Cloud-Vorlagenkonfigurationen können vRealize Automation Cloud-Benutzer die folgenden zusätzlichen Aspekte der Lastausgleichskonfiguration konfigurieren.

  • Freigeben von Instanzgruppen zwischen Lastausgleichsdiensten
  • Konfigurieren von Failover-Instanzgruppen
  • Konfigurieren von Lastausgleichsdiensten zum Akzeptieren von Datenverkehr auf allen Ports

Freigeben von Instanzgruppen

Die Freigabe von Instanzgruppen zwischen den Lastausgleichsdiensten muss von den Benutzern explizit im Blueprint deklariert werden. Da ein direkter Zugriff auf die Instanzgruppen im Blueprint nicht möglich ist, müssen die Kunden die Eigenschaft useInstanceGroupsFrom verwenden. Auf diese Weise wird in vRealize Automation Cloud der erste Lastausgleichsdienst bereitgestellt, und die Instanzgruppen in den anderen Lastausgleichsdiensten werden wiederverwendet.

Das folgende Beispiel veranschaulicht die Verwendung einer Cloud-Vorlage zum Konfigurieren von zwei Lastausgleichsdiensten, wobei der zweite die Instanzgruppen aus dem ersten verwendet:

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}

Konfigurieren von Failover-Instanzgruppen

Zum Konfigurieren von Failover-Instanzgruppen für jeden GCP-Lastausgleichsdienst müssen Sie diesen explizit in der Cloud-Vorlage deklarieren. Da kein direkter Zugriff auf die Instanzgruppen in der Vorlage möglich ist, müssen Sie die Eigenschaft failoverInstanceGroupsByInstanceNames verwenden, die vRealize Automation Cloud anweist, die Instanzgruppe anhand einer Maschine zu finden, die in dieser Instanzgruppe enthalten ist.

Das folgende Beispiel veranschaulicht die Konfiguration eines Lastausgleichsdiensts mit einer primären und einer Failover-Instanzgruppe:

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}

Konfigurieren des Datenverkehrs auf allen Ports

Um einen Lastausgleichsdienst so zu konfigurieren, dass er Datenverkehr auf allen Ports akzeptiert, können Sie die Porteigenschaft der Routenkonfiguration weglassen. Sie können eine Cloud-Beispielvorlage, die die drei neu erstellten Funktionen verwendet und die Infrastruktur für diese Einrichtung bereitstellt, unter „https://cloud.google.com/solutions/sap/docs/netweaver-ha-config-rhel#configure_the_failover_support“ anzeigen.

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