Пользователи облачной учетной записи VMware Aria Automation Google Cloud Platform (GCP) могут настраивать подсистемы балансировки нагрузки для поддержки настраиваемых решений, в том числе решений высокой доступности.

Для выполнения определенных требований пользователи облачной учетной записи VMware Aria Automation GCP могут настраивать некоторые параметры конфигурации подсистемы балансировки нагрузки. Эти функции позволяют поддерживать инфраструктуру подготовки, например для платформ SAP NetWeaver и SAP Hana.

Примечание: В этом разделе описывается создание классических ресурсов подсистемы балансировки нагрузки. Если необходимо создать подсистемы балансировки нагрузки на основе подключаемого модуля, см. раздел Настройка подсистем балансировки нагрузки на основе подключаемого модуля.

Настройка конфигурации подсистемы балансировки нагрузки высокой доступности с помощью облачной учетной записи GCP

Для поддержки определенных требований, например высокой доступности, пользователи VMware Aria Automation с облачной учетной записью GCP могут настраивать некоторые параметры настройки подсистемы балансировки нагрузки. Эти функции позволяют поддерживать инфраструктуру подготовки для платформ SAP NetWeaver и SAP Hana.

Эта конфигурация позволяет развертывать разные экземпляры подсистемы балансировки нагрузки в разных зонах доступности. Для этого в GCP требуется настроить следующие компоненты.

  • Резервирование виртуальных IP-адресов
  • Подготовка проверок работоспособности
  • Создание правила брандмауэра для поддержки проверок работоспособности
Установка и настройка этих компонентов в GCP описываются на странице https://cloud.google.com/solutions/sap/docs/netweaver-ha-config-rhel#configure_the_failover_support. Подробные сведения о конфигурациях NetWeaver и Hana см. на следующих страницах.

После настройки на стороне GCP необходимо настроить соответствующие компоненты в VMware Aria Automation, как описано ниже.

  • Создайте облачную учетную запись GCP, если она отсутствует.
  • Настройте сопоставления конфигураций ресурсов и образов в соответствии со своей средой.
  • Создайте сетевой профиль по умолчанию и пометьте его тегом, чтобы его можно было вызывать из облачного шаблона.
  • Создайте зоны доступности вычислительных ресурсов и пометьте их соответствующими тегами. Они позволяют потребовать от VMware Aria Automation подготовить экземпляры и группы экземпляров для конкретных зон доступности в облачном шаблоне.

После настройки всех этих компонентов можно перейти на вкладку Проектирование в Automation Assembler и создать облачный шаблон. Этот шаблон должен моделировать соответствующую конфигурацию подсистемы балансировки нагрузки со спецификациями для проверки работоспособности, а также экземпляры и группы экземпляров по мере необходимости. Для обеспечения высокой доступности необходимо настроить несколько подсистем балансировки нагрузки. В облачном шаблоне должны быть определены соответствующие виртуальные машины и зоны доступности, в которых они должны быть развернуты.

В следующем примере облачного шаблона показан вариант настройки конфигурации подсистемы балансировки нагрузки высокой доступности для 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

Дополнительные параметры настройки подсистемы балансировки нагрузки

С помощью конфигураций облачных шаблонов пользователи VMware Aria Automation могут настроить следующие дополнительные параметры конфигурации подсистемы балансировки нагрузки.

  • Общий доступ подсистем балансировки нагрузки к группам экземпляров
  • Настройка групп экземпляров аварийного переключения
  • Настройка подсистем балансировки нагрузки для приема трафика по всем портам

Общий доступ к группам экземпляров

Чтобы предоставить подсистемам балансировки нагрузки общий доступ к группам экземпляров, его нужно явно объявить в схеме элементов. Поскольку в облачном шаблоне нет прямого доступа к группам экземпляров, клиенты должны использовать свойство useInstanceGroupsFrom. Это позволит VMware Aria Automation подготовить первую подсистему балансировки нагрузки и повторно использовать группы экземпляров в других подсистемах балансировки нагрузки.

В следующем примере показано, как с помощью облачного шаблона настроить две подсистемы балансировки нагрузки, где вторая подсистема использует группы экземпляров первой подсистемы.

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}

Настройка групп экземпляров аварийного переключения

Чтобы для каждой подсистемы балансировки нагрузки GCP настроить группы экземпляров аварийного переключения, об этом нужно явно объявить в облачном шаблоне. Поскольку в шаблоне нет прямого доступа к группам экземпляров, необходимо использовать свойство failoverInstanceGroupsByInstanceNames, которое указывает VMware Aria Automation найти группу экземпляров по компьютеру, входящему в эту группу экземпляров.

В следующем примере показана конфигурация подсистемы балансировки нагрузки, в которой имеются одна основная группа экземпляров и одна группа экземпляров для аварийного переключения.

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}

Настройка трафика по всем портам

Чтобы настроить прием трафика подсистемой балансировки нагрузки по всем портам, можно не указывать свойство порта конфигурации маршрута. Пример облачного шаблона, в котором используются три новые функции и предоставляется инфраструктура для их настройки, можно найти по соответствующей ссылке. Дополнительные сведения см. в разделе Настройка поддержки аварийного переключения балансировки нагрузки в облаке.

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