Gli utenti di account cloud di Google Cloud Platform (GCP) di vRealize Automation Cloud possono configurare i bilanciamenti del carico per il servizio di soluzioni personalizzate, inclusa l'alta disponibilità.

Gli utenti di account cloud GCP di vRealize Automation Cloud possono configurare diversi aspetti della configurazione del bilanciamento del carico per supportare requisiti specifici. Queste funzionalità possono supportare, ad esempio, l'infrastruttura di provisioning di SAP NetWeaver e SAP Hana.

Impostazione di una configurazione del bilanciamento del carico ad alta disponibilità con un account cloud di GCP

Gli utenti di vRealize Automation Cloud con un account cloud GCP possono configurare diversi aspetti della configurazione del bilanciamento del carico per supportare requisiti specifici. come l'alta disponibilità. Queste funzionalità possono supportare, ad esempio, l'infrastruttura di provisioning di SAP NetWeaver e SAP Hana.

Questa configurazione consente di distribuire varie istanze del bilanciamento del carico in diverse zone di disponibilità. A tale scopo, è necessario configurare i seguenti componenti in GCP:

  • Riservare gli indirizzi IP virtuali
  • Provisioning dei controlli dello stato
  • Creazione di una regola del firewall per supportare i controlli dello stato
La pagina seguente descrive come impostare e configurare questi componenti in GCP: https://cloud.google.com/solutions/sap/docs/netweaver-ha-config-rhel#configure_the_failover_support Vedere inoltre le pagine seguenti per informazioni sulle configurazioni di NetWeaver e Hana:

Dopo aver configurato il lato GCP, è necessario configurare i componenti appropriati in vRealize Automation Cloud come descritto di seguito:

  • Creare un account cloud GCP se non ne è già disponibile uno.
  • Impostare la mappatura delle caratteristiche modo appropriato per il proprio ambiente.
  • Creare un profilo di rete predefinito e contrassegnarlo in modo da poterlo richiamare da un modello cloud.
  • Creare zone di disponibilità di elaborazione e contrassegnarle in modo appropriato. Consentono di indicare a vRealize Automation Cloud di eseguire il provisioning di istanze e gruppi di istanze in zone di disponibilità specifiche in un modello cloud.

Una volta configurati tutti questi componenti, è possibile passare alla scheda Progettazione di Cloud Assembly e creare un modello cloud. Questo modello deve modellare la configurazione del bilanciamento del carico appropriata con le specifiche per il controllo dello stato e le istanze e i gruppi di istanze appropriati. Per scopi di alta disponibilità, è necessario configurare più bilanciamenti del carico. Il modello cloud deve inoltre specificare le macchine virtuali appropriate e le zone di disponibilità in cui devono essere distribuite.

Il seguente esempio di modello cloud illustra come configurare una configurazione del bilanciamento del carico ad alta disponibilità per 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

Opzioni di configurazione del bilanciamento del carico aggiuntive

Utilizzando le configurazioni dei modelli cloud, gli utenti di vRealize Automation Cloud possono configurare i seguenti aspetti aggiuntivi della configurazione del bilanciamento del carico.

  • Condivisione di gruppi di istanze tra bilanciamenti del carico
  • Configurazione di gruppi di istanze di failover
  • Configurazione dei bilanciamenti del carico in modo che accettino il traffico in tutte le porte

Condivisione dei gruppi di istanze

Per condividere i gruppi di istanze tra i bilanciamenti del carico, gli utenti devono dichiararli esplicitamente nel blueprint. Poiché non è possibile accedere direttamente ai gruppi di istanze nel blueprint, i clienti devono utilizzare la proprietà useInstanceGroupsFrom. In questo modo, vRealize Automation Cloud eseguirà il provisioning del primo bilanciamento del carico e riutilizzerà i gruppi di istanze negli altri bilanciamenti del carico.

L'esempio seguente illustra come è possibile utilizzare un modello cloud per configurare due bilanciamenti del carico in cui il secondo utilizza i gruppi di istanze del primo:

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}

Configurazione di gruppi di istanze di failover

Per configurare gruppi di istanze di failover per ogni bilanciamento del carico di GCP, è necessario dichiararlo esplicitamente nel modello cloud. Poiché nel modello non è possibile accedere direttamente ai gruppi di istanze, è necessario utilizzare la proprietà failoverInstanceGroupsByInstanceNames che indica a vRealize Automation Cloud di trovare il gruppo di istanze in una macchina contenuta in tale gruppo di istanze.

L'esempio seguente illustra la configurazione di un bilanciamento del carico con un gruppo di istanze primario e un gruppo di istanze di failover:

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}

Configurazione del traffico in tutte le porte

Per configurare un bilanciamento del carico in modo che accetti il traffico in tutte le porte, è possibile omettere la proprietà della porta della configurazione della route. È possibile visualizzare un modello cloud di esempio che utilizza le tre funzionalità appena create ed esegue il provisioning dell'infrastruttura per questa configurazione: 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