Los usuarios de la cuenta de nube de Google Cloud Platform (GCP) de vRealize Automation Cloud pueden configurar equilibradores de carga para dar soporte a soluciones personalizadas, incluida la alta disponibilidad.
Los usuarios de la cuenta de nube de GCP de vRealize Automation Cloud pueden configurar varios aspectos de la configuración del equilibrador de carga para dar soporte a requisitos específicos. Estas funciones pueden dar soporte a la infraestructura de aprovisionamiento para SAP NetWeaver y SAP Hana, por ejemplo.
Establecer una configuración de equilibrador de carga de alta disponibilidad con una cuenta de nube de GCP
Los usuarios de vRealize Automation Cloud con una cuenta de nube de GCP pueden configurar varios aspectos de la configuración del equilibrador de carga para dar soporte a requisitos específicos, como la alta disponibilidad. Estas funciones pueden dar soporte a la infraestructura de aprovisionamiento para SAP NetWeaver y SAP Hana, por ejemplo.
Esta configuración permite implementar diferentes instancias de equilibrador de carga en diferentes zonas de disponibilidad. Para configurar esto, debe configurar los siguientes componentes en GCP:
- Reservar direcciones IP virtuales
- Aprovisionar comprobaciones de estado
- Crear una regla de firewall para dar soporte a las comprobaciones de estado
Después de configurar el lado de GCP, debe configurar los componentes adecuados en vRealize Automation Cloud como se describe a continuación:
- Cree una cuenta de nube de GCP si aún no tiene una.
- Configure la asignación de colores e imágenes según corresponda a su entorno.
- Cree un perfil de red predeterminado y etiquételo para poder invocarlo desde una plantilla de nube.
- Cree zonas de disponibilidad de recursos informáticos y etiquételas correctamente. Esto le permite indicar a vRealize Automation Cloud que aprovisione instancias y grupos de instancias para zonas de disponibilidad específicas en una plantilla de nube.
Cuando haya configurado todos estos componentes, puede desplazarse hasta la pestaña Diseño de Cloud Assembly y crear una plantilla de nube. Esta plantilla debe modelar la configuración del equilibrador de carga adecuado con las especificaciones de comprobación de estado y las instancias y los grupos de instancias según corresponda. Para fines de alta disponibilidad, debe configurar varios equilibradores de carga. La plantilla de nube también debe especificar las máquinas virtuales adecuadas y las zonas de disponibilidad en las que se deben implementar.
El siguiente ejemplo de plantilla de nube demuestra cómo se puede establecer una configuración de equilibrador de carga de alta disponibilidad para 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
Opciones de configuración adicionales del equilibrador de carga
Usando las configuraciones de plantilla de nube, los usuarios de vRealize Automation Cloud pueden configurar los siguientes aspectos adicionales de la configuración del equilibrador de carga.
- Compartir grupos de instancias entre equilibradores de carga
- Configurar grupos de instancias de conmutación por error
- Configurar los equilibradores de carga para que acepten el tráfico en todos los puertos
Compartir grupos de instancias
Para compartir grupos de instancias entre los equilibradores de carga, los usuarios deben declararlo explícitamente en el blueprint. Debido a que no hay acceso directo a los grupos de instancias en el blueprint, los clientes deben utilizar la propiedad useInstanceGroupsFrom
. De esta forma, vRealize Automation Cloud aprovisionará el primer equilibrador de carga y reutilizará los grupos de instancias en los otros equilibradores de carga.
El siguiente ejemplo muestra cómo puede utilizar una plantilla de nube para configurar dos equilibradores de carga en los que el segundo utiliza los grupos de instancias del primero:
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}
Configurar grupos de instancias de conmutación por error
Para configurar grupos de instancias de conmutación por error para cada equilibrador de carga de GCP, debe declararlo explícitamente en la plantilla de nube. Debido a que no hay acceso directo a los grupos de instancias en la plantilla, debe utilizar la propiedad failoverInstanceGroupsByInstanceNames
que indica a vRealize Automation Cloud que busque el grupo de instancias mediante una máquina que se encuentre en ese grupo de instancias.
El siguiente ejemplo muestra la configuración de un equilibrador de carga que tiene un grupo de instancias principal y un grupo de instancias de conmutación por error:
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}
Configurar tráfico en todos los puertos
Para configurar un equilibrador de carga de modo que acepte tráfico en todos los puertos, puede omitir la propiedad de puerto de la configuración de la ruta. Puede ver una plantilla de nube de ejemplo que utiliza las tres funciones recién creadas y aprovisiona la infraestructura para esta configuración en: 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