Os usuários do VMware Aria Automation com uma conta de nuvem do Google Cloud Platform (GCP) podem configurar balanceadores de carga para oferecer suporte a soluções personalizadas, incluindo alta disponibilidade.
Os usuários do VMware Aria Automation com uma conta de nuvem do GCP podem definir vários aspectos da configuração de balanceadores de carga para oferecer suporte a requisitos específicos. Esses recursos podem oferecer suporte à infraestrutura de provisionamento para SAP NetWeaver e SAP Hana, por exemplo.
Definindo uma configuração de balanceador de carga de alta disponibilidade com uma conta de nuvem do GCP
Os usuários do VMware Aria Automation com uma conta de nuvem do GCP podem definir vários aspectos da configuração de balanceadores de carga para oferecer suporte a requisitos específicos, como alta disponibilidade. Esses recursos podem oferecer suporte à infraestrutura de provisionamento para SAP NetWeaver e SAP Hana.
Essa configuração permite implantar diferentes instâncias de balanceador de carga em zonas de disponibilidade diferentes. Para configurar isso, você precisa configurar os seguintes componentes no GCP:
- Reservar endereços IP virtuais
- Provisionar verificações de integridade
- Criar uma regra de firewall para oferecer suporte às verificações de integridade
Depois de configurar o lado do GCP, você deverá configurar os componentes apropriados no VMware Aria Automation, conforme descrito abaixo:
- Crie uma conta de nuvem do GCP se ainda não tiver uma.
- Configure o mapeamento de variações e imagens conforme apropriado para o seu ambiente.
- Crie um perfil de rede padrão e marque-o para poder invocá-lo a partir de um modelo de nuvem.
- Crie zonas de disponibilidade de processamento e marque-as apropriadamente. Isso permite que você instrua o VMware Aria Automation a provisionar instâncias e grupos de instâncias para zonas de disponibilidade específicas em um modelo de nuvem.
Quando tiver configurado todos esses componentes, você poderá navegar até a guia Projeto do Automation Assembler e criar um modelo de nuvem. Esse modelo deve modelar a configuração apropriada do balanceador de carga, com especificações para verificação de integridade e instâncias e grupos de instâncias, conforme apropriado. Para fins de alta disponibilidade, você deve configurar vários balanceadores de carga. O modelo de nuvem também deve especificar as máquinas virtuais apropriadas e as zonas de disponibilidade nas quais elas devem ser implantadas.
O exemplo de modelo de nuvem a seguir demonstra como é possível definir uma configuração de balanceador de carga de alta disponibilidade para o 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
Opções adicionais de configuração de balanceadores de carga
Usando configurações de modelo de nuvem, os usuários do VMware Aria Automation podem definir os seguintes aspectos adicionais da configuração de balanceadores de carga.
- Compartilhar grupos de instâncias entre balanceadores de carga
- Configurar grupos de instâncias de failover
- Configurar seus balanceadores de carga para aceitar o tráfego em todas as portas
Compartilhar grupos de instâncias
Para compartilhar grupos de instâncias entre os balanceadores de carga, os usuários devem declará-los explicitamente no blueprint. Como não há acesso direto aos grupos de instâncias no modelo de nuvem, os clientes devem usar a propriedade useInstanceGroupsFrom
. Dessa maneira, o VMware Aria Automation provisionará o primeiro balanceador de carga e reutilizará os grupos de instâncias nos outros balanceadores de carga.
O exemplo a seguir ilustra como você pode usar um modelo de nuvem para configurar dois balanceadores de carga em que o segundo usa os grupos de instâncias do primeiro:
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 instâncias de failover
Para configurar grupos de instâncias de failover para cada balanceador de carga do GCP, você deve declará-los explicitamente no modelo de nuvem. Como não há acesso direto aos grupos de instâncias no modelo, você deve usar a propriedade failoverInstanceGroupsByInstanceNames
, que instrui o VMware Aria Automation a encontrar o grupo de instâncias por meio de uma máquina contida nesse grupo.
O exemplo a seguir ilustra a configuração de um balanceador de carga que tem um grupo primário e um grupo de instâncias de 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}
Configurar o tráfego em todas as portas
Para configurar um balanceador de carga para aceitar o tráfego em todas as portas, você pode omitir a propriedade de portas da configuração de rota. Você pode visualizar um modelo de nuvem de amostra que usa os três recursos recém-criados e provisiona a infraestrutura para essa configuração. Para obter informações relacionadas, consulte Configurar o suporte de failover para Balanceamento de Carga da Nuvem.
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