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
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