Los usuarios de la cuenta de nube de Google Cloud Platform (GCP) de VMware Aria Automation 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 VMware Aria Automation pueden configurar varios aspectos de la configuración del equilibrador de carga para dar soporte a requisitos específicos. Estas funciones pueden admitir infraestructura de aprovisionamiento para SAP NetWeaver y SAP Hana, por ejemplo.

Nota: En este tema se describe cómo crear recursos de equilibradores de carga clásicos. Si desea crear equilibradores de carga basados en complementos, consulte Configurar equilibradores de carga basados en complementos.

Establecer una configuración de equilibrador de carga de alta disponibilidad con una cuenta de nube de GCP

Los usuarios de VMware Aria Automation 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 admitir infraestructura de aprovisionamiento para SAP NetWeaver y SAP Hana.

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
En la siguiente página se describe cómo configurar estos componentes en GCP: https://cloud.google.com/solutions/sap/docs/netweaver-ha-config-rhel#configure_the_failover_support Además, consulte las siguientes páginas para obtener información sobre las configuraciones de NetWeaver y Hana:

Después de configurar el lado de GCP, debe configurar los componentes adecuados en VMware Aria Automation 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 VMware Aria Automation 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 Automation Assembler 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 VMware Aria Automation 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 la plantilla de nube, los clientes deben utilizar la propiedad useInstanceGroupsFrom. De esta forma, VMware Aria Automation 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 VMware Aria Automation 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. Para obtener información relacionada, consulte Configurar el soporte de conmutación por error del equilibrio de carga en la nube.

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