Les utilisateurs de compte de cloud Google Cloud Platform (GCP) dans VMware Aria Automation peuvent configurer des équilibreurs de charge pour prendre en charge des solutions personnalisées, notamment la haute disponibilité.

Les utilisateurs de compte de cloud GCP dans VMware Aria Automation peuvent paramétrer plusieurs aspects de la configuration de l'équilibreur de charge pour prendre en charge des exigences spécifiques. Ces fonctionnalités peuvent prendre en charge l’infrastructure de provisionnement pour SAP NetWeaver et SAP Hana, par exemple.

Note : Cette rubrique décrit comment créer des ressources d'équilibrage de charge classiques. Si vous souhaitez créer des équilibreurs de charge basés sur un plug-in, reportez-vous à la section Configuration des équilibreurs de charge basés sur un plug-in.

Paramétrage d'une configuration d'équilibreur de charge haute disponibilité avec un compte de cloud GCP

Les utilisateurs de VMware Aria Automation disposant d'un compte de cloud GCP peuvent paramétrer plusieurs aspects de la configuration de l'équilibreur de charge pour prendre en charge des exigences spécifiques, telles que la haute disponibilité. Ces fonctionnalités peuvent prendre en charge l’infrastructure de provisionnement pour SAP NetWeaver et SAP Hana.

Cette configuration vous permet de déployer différentes instances d'équilibreur de charge dans différentes zones de disponibilité. Pour paramétrer cela, vous devez configurer les composants suivants dans GCP :

  • Réserver des adresses IP virtuelles
  • Provisionner des contrôles de santé
  • Créer une règle de pare-feu pour prendre en charge les contrôles de santé
La page suivante décrit comment configurer ces composants dans GCP : https://cloud.google.com/solutions/sap/docs/netweaver-ha-config-rhel#configure_the_failover_support Pour plus d'informations sur les configurations de NetWeaver et d'Hana, reportez-vous aux pages suivantes :

Après avoir configuré le côté GCP, vous devez configurer les composants appropriés dans VMware Aria Automation, comme décrit ci-dessous :

  • Créez un compte de cloud GCP si vous n'en avez pas déjà un.
  • Configurez le type et le mappage d'image en fonction de votre environnement.
  • Créez un profil réseau par défaut et balisez-le afin de pouvoir l'appeler à partir d'un modèle de cloud.
  • Créez des zones de disponibilité de calcul et balisez-les de manière appropriée. Cela vous permet d'indiquer à VMware Aria Automation de provisionner des instances et des groupes d'instances à des zones de disponibilité spécifiques dans un modèle de cloud.

Une fois que vous avez configuré tous ces composants, vous pouvez accéder à l'onglet Automation Assembler Conception de et créer un modèle de cloud. Ce modèle doit modéliser la configuration d'équilibreur de charge appropriée avec les spécifications pour le contrôle de santé ainsi que les instances et les groupes d'instances le cas échéant. À des fins de haute disponibilité, vous devez configurer plusieurs équilibreurs de charge. Le modèle de cloud doit également spécifier les machines virtuelles appropriées et les zones de disponibilité dans lesquelles elles doivent être déployées.

L'exemple de modèle de cloud suivant montre comment paramétrer une configuration d'équilibreur de charge haute disponibilité pour 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

Options de configuration d'équilibreur de charge supplémentaires

Les utilisateurs de VMware Aria Automation peuvent, au moyen de configurations de modèle de cloud, configurer les aspects supplémentaires suivants de la configuration de l'équilibreur de charge.

  • Partager les groupes d'instances entre les équilibreurs de charge
  • Configurer les groupes d'instances de basculement
  • Configurer les équilibreurs de charge pour accepter le trafic sur tous les ports

Partager des groupes d'instances

Pour partager des groupes d'instances entre les équilibreurs de charge, les utilisateurs doivent le déclarer explicitement dans le Blueprint. Étant donné qu'il n'y a pas d'accès direct aux groupes d'instances dans le modèle de cloud, les clients doivent utiliser la propriété useInstanceGroupsFrom. VMware Aria Automation provisionnera ainsi le premier équilibreur de charge et réutilisera les groupes d'instances dans les autres équilibreurs de charge.

L'exemple suivant illustre la manière dont vous pouvez utiliser un modèle de cloud pour configurer deux équilibreurs de charge, le second utilisant les groupes d'instances du premier :

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}

Configurer les groupes d'instances de basculement

Pour configurer des groupes d'instances de basculement pour chaque équilibrage de charge GCP, vous devez le déclarer explicitement dans le modèle de cloud. Du fait qu'il n'existe pas d'accès direct aux groupes d'instances dans le modèle, vous devez utiliser la propriété failoverInstanceGroupsByInstanceNames qui indique à VMware Aria Automation de rechercher le groupe d'instances par machine qui est contenue dans ce groupe d'instances.

L'exemple suivant illustre la configuration d'un équilibreur de charge qui dispose d'un groupe principal et d'un groupe d'instances de basculement :

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}

Configurer pour le trafic sur tous les ports

Pour configurer un équilibreur de charge afin qu'il accepte le trafic sur tous les ports, vous pouvez omettre la propriété de port de la configuration de route. Vous pouvez afficher un exemple de modèle de cloud qui utilise les trois fonctionnalités récemment créées et qui provisionne l'infrastructure pour cette configuration. Pour plus d'informations, reportez-vous à la section Configurer la prise en charge du basculement de l'équilibrage de charge de cloud.

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