Ao criar ou editar seus modelos de nuvem do vRealize Automation, use os recursos de balanceador de carga mais apropriados para os seus objetivos.
Você pode usar recursos do balanceador de carga do NSX e independentes de nuvem em um modelo de nuvem para controlar o balanceamento de carga em uma implantação.
O balanceador de carga independente de nuvem pode ser implantado em várias nuvens. Um balanceador de carga específico da nuvem pode especificar configurações e recursos avançados, que estão disponíveis somente para uma nuvem ou topologia específica. As propriedades específicas da nuvem estão disponíveis no tipo de recurso do balanceador de carga do NSX (Cloud.NSX.LoadBalancer). Se você adicionar essas propriedades em um balanceador de carga independente de nuvem (Cloud.LoadBalancer), elas serão ignoradas se, por exemplo, um balanceador de carga do Amazon Web Services ou Microsoft Azure é provisionado, mas serão respeitadas se um balanceador de carga NSX-V ou NSX-T for provisionado. Escolha um dos tipos de recursos de balanceador de carga disponíveis com base nas condições do seu modelo de nuvem do vRealize Automation.
Não é possível conectar um recurso de balanceador de carga diretamente a um recurso de grupo de segurança na tela de design.
Recurso de balanceador de carga independente de nuvem
Use um balanceador de carga independente de nuvem quando quiser especificar características de rede para qualquer tipo de máquina de destino.
Cloud.LoadBalancer
. O recurso padrão é exibido como:
Cloud_LoadBalancer_1:
type: Cloud.LoadBalancer
properties:
routes: []
network: ''
instances: []
internetFacing: false
Recurso de balanceador de carga do NSX
Use um balanceador de carga do NSX quando o modelo de nuvem contiver características específicas do NSX-V ou NSX-T (métodos de API de Política ou API de Gerente). Você pode anexar um ou mais balanceadores de carga a uma rede NSX-V ou NSX-T ou a máquinas que estão associadas a uma rede NSX-V ou NSX-T.
Cloud.NSX.LoadBalancer
. O recurso padrão é exibido como:
Cloud_NSX_LoadBalancer_1:
type: Cloud.NSX.LoadBalancer
properties:
routes: []
network: ''
instances: []
Opções de balanceador de carga no código do modelo de nuvem
Adicionar um ou mais recursos de balanceador de carga ao seu modelo de nuvem permite especificar as seguintes configurações. Alguns exemplos estão disponíveis em Redes, recursos de segurança e balanceadores de carga no vRealize Automation.
O protocolo HTTP tem suporte para todos os balanceadores de carga sob demanda.
O protocolo HTTPS tem suporte apenas para balanceadores de carga sob demanda que estão associados a uma conta de nuvem do NSX-T cujo modo NSX está definido como Política. Contas de nuvem do NSX-T cujo modo NSX está definido como Manager não podem usar o protocolo HTTPS.
- Especificação da máquina
Você pode especificar recursos de máquina nomeados para participar de um pool de balanceamento de carga. Como alternativa, você pode especificar que um NIC de máquina específico participe do pool do balanceador de carga.
Essa opção está disponível somente para o recurso do balanceador de carga NSX (
Cloud.NSX.LoadBalancer
).- recurso.Cloud_Machine_1.id
Especifica que o balanceador de carga inclui a máquina identificada no código do modelo de nuvem como Cloud_Machine_1.
- recurso.Cloud_Machine_2.networks[2].id
Especifica que o balanceador de carga inclui apenas a máquina identificada no código do modelo de nuvem como Cloud_Machine_2 quando ela é implantada no NIC de máquina Cloud_Machine_2.networks[2].
- recurso.Cloud_Machine_1.id
- Nível de registro em log
O valor de nível de log especifica um nível de gravidade para o log de erros. As opções são NONE, EMERGENCY, ALERT, CRITICAL, ERROR, WARNING, INFO, DEBUG e NOTICE. O valor do nível de registro em log aplica-se a todos os balanceadores de carga no modelo de nuvem. Essa opção é específica para o NSX. Para balanceadores de carga que têm um pai, a configuração do nível de registro em log do pai substitui qualquer configuração de nível de registro em log em seus herdeiros.
Para obter informações relacionadas, consulte os tópicos como Adicionar balanceadores de carga na documentação do produto NSX.
- Tipo
Use um tipo de balanceador de carga para especificar um tamanho de dimensionamento. O padrão é pequeno. Essa opção é específica para o NSX. Para balanceadores de carga que têm um pai, a configuração de tipo do pai substitui qualquer configuração de tipo em seus herdeiros.
- Pequeno
Correlaciona para compacto no NSX-V e pequeno no NSX-T.
- Médio
Correlaciona para grande no NSX-V e médio no NSX-T.
- Grande
Correlaciona com o quad-grande no NSX-V e grande no NSX-T.
- Extragrande
Correlaciona com o extragrande no NSX-V e grande no NSX-T.
Para obter informações relacionadas, consulte os tópicos como Dimensionamento dos recursos do balanceador de carga na documentação do produto NSX.
Essa opção está disponível para o recurso de balanceador de carga do NSX (
Cloud.NSX.LoadBalancer
). - Pequeno
- Algoritmo (pool de servidores)
Use um método de balanceamento de algoritmo para controlar como as conexões de entrada são distribuídas entre os membros do pool de servidores. O algoritmo pode ser usado em um pool de servidores ou diretamente em um servidor. Todos os algoritmos de balanceamento de carga ignoram os servidores que atendem a qualquer uma das seguintes condições:
- O estado do administrador é definido como DESATIVADO.
- O estado do administrador é definido como GRACEFUL_DISABLED e não há nenhuma entrada de persistência correspondente.
- O estado de verificação de integridade ativo ou passivo está INATIVO.
- O limite de conexão para o máximo de conexões simultâneas do pool de servidores foi atingido.
Essa opção é específica para o NSX.
- IP_HASH
Seleciona um servidor com base em um hash do endereço IP de origem e do peso total de todos os servidores em execução.
Correlaciona com IP-HASH no NSX-V e NSX-T.
- LEAST_CONNECTION
Distribui solicitações de clientes para vários servidores com base no número de conexões já existentes no servidor. Novas conexões são enviadas para o servidor com o menor número de conexões. Ignora o peso dos membros do pool de servidores, mesmo se eles estão configurados.
Correlaciona com LEASTCONN no NSX-V e LEAST_CONNECTION no NSX-T.
- ROUND_ROBIN
As solicitações de clientes que entram são percorridas por uma lista de servidores disponíveis, capazes de gerenciar a solicitação. Ignora o peso dos membros do pool de servidores, mesmo se eles estão configurados. Padrão.
Correlaciona com ROUND_ROBIN no NSX-V e NSX-T.
- WEIGHTED_LEAST_CONNECTION
Cada servidor recebe um valor de peso que indica como ele é executado em relação a outros servidores no pool. O valor determina quantas solicitações de clientes são enviadas para um servidor em comparação com outros servidores no pool. Esse algoritmo de balanceamento de carga se concentra em usar o valor de peso para distribuir a carga de forma justa entre os recursos do servidor disponíveis. Por padrão, o valor do peso será 1 se o valor não estiver configurado e a opção de início lento estiver ativada.
Correlaciona com WEIGHTED_LEAST_CONNECTION no NSX-T. Não há correlação no NSX-V.
- WEIGHTED_ROUND_ROBIN
Cada servidor recebe um valor de peso que indica como ele é executado em relação a outros servidores no pool. O valor determina quantas solicitações de clientes são enviadas para um servidor em comparação com outros servidores no pool. Esse algoritmo de balanceamento de carga se concentra em usar o valor de peso para distribuir a carga de forma justa entre os recursos do servidor disponíveis.
Correlaciona com WEIGHTED_ROUND_ROBIN no NSX-T. Não há correlação no NSX-V.
- URI
A parte esquerda do URI tem hash e é dividida pelo peso total dos servidores em execução. O resultado designa qual servidor receberá a solicitação. Isso garante que um URI sempre seja direcionado para o mesmo servidor se nenhum servidor ficar ativo ou inativo. O parâmetro do algoritmo do URI tem duas opções:
uriLength=<len>
euriDepth=<dep>
. O intervalo do parâmetro de comprimento deve ser1<=len<256
. O intervalo do parâmetro de profundidade deve ser1<=dep<10
. Os parâmetros de comprimento e profundidade são seguidos por um número inteiro positivo. Essas opções podem equilibrar servidores com base somente no início do URI. O parâmetro de comprimento indica que o algoritmo só deve considerar os caracteres definidos no início do URI para calcular o hash. O parâmetro de profundidade indica a profundidade máxima do diretório a ser usada para calcular o hash. Conta-se um nível para cada barra na solicitação. Se ambos os parâmetros forem especificados, a avaliação parará quando um deles for atingido.Correlaciona com o URI no NSX-V. Não há correlação no NSX-T.
- HTTPHEADER
O nome do cabeçalho HTTP é pesquisado em cada solicitação HTTP. O nome do cabeçalho entre parênteses não diferencia maiúsculas de minúsculas. Se o cabeçalho estiver ausente ou não contiver nenhum valor, o algoritmo round robin será aplicado. O parâmetro de algoritmo HTTPHEADER tem uma opção
headerName=<name>
.Correlaciona com HTTPHEADER no NSX-V. Não há correlação no NSX-T.
- URL
O parâmetro URL especificado no argumento é pesquisado na cadeia de consulta de cada solicitação HTTP GET. Se o parâmetro for seguido por um sinal de igual = e um valor, o valor terá hash e será dividido pelo peso total dos servidores em execução. O resultado designa qual servidor receberá a solicitação. Esse processo é usado para rastrear identificadores de usuário em solicitações e garantir que uma mesma ID de usuário seja sempre enviada para o mesmo servidor, desde que nenhum servidor fique ativo ou inativo. Se nenhum valor ou parâmetro for encontrado, será aplicado um algoritmo round robin. O parâmetro de algoritmo URL tem uma opção
urlParam=<url>
.Correlaciona com a URL no NSX-V. Não há correlação no NSX-T.
Para obter informações relacionadas, consulte tópicos como Adicionar um pool de servidores para balanceamento de carga na NSXdocumentação do produto.
- Monitor de integridade
Use as opções do monitor de integridade para testar se um servidor está disponível. Há suporte para o monitoramento de integridade ativa para protocolos HTTP, ICMP, TCP e UDP. O monitoramento passivo da integridade apenas está disponível para o NSX-T.
Essa opção é específica para o NSX.
- httpMethod
Método HTTP a ser usado para detectar o status do servidor para a solicitação de verificação de integridade. Os métodos são GET, HOST, OPTIONS, HEAD ou PUT.
- requestBody
Conteúdo do corpo da solicitação de verificação de integridade. Usado, e exigido, pelos protocolos HTTP, TCP e UDP.
- responseBody
Verificação de integridade esperada no conteúdo do corpo da resposta. Se a cadeia de caracteres recebida corresponder a esse corpo de resposta, o servidor será considerado íntegro. Usado, e exigido, pelos protocolos HTTP, TCP e UDP.
Observação: Se você usar o protocolo de monitoramento UDP, os parâmetrosUDP Data Sent
eUDP Data Expected
serão necessários. As propriedadesrequestBody
eresponseBody
mapeiam para esses parâmetros.Essa opção está disponível para o recurso de balanceador de carga do NSX (
Cloud.NSX.LoadBalancer
).Para obter informações relacionadas, consulte tópicos como Configurar um monitor de integridade ativo na documentação do produto NSX.
- httpMethod
- Verificação de integridade
Use opções de verificação de integridade para especificar como o balanceador de carga executa as verificações de integridade.
Essa opção só está disponível para o recurso do balanceador de carga do NSX (
Cloud.NSX.LoadBalancer
).Consulte Redes, recursos de segurança e balanceadores de carga no vRealize Automation para obter uma amostra das configurações disponíveis de verificação da integridade.
Opções de balanceador de carga e tipos de rede do NSX-V e do NSX-T
As opções do balanceador de carga dependem da rede à qual o recurso de balanceador de carga está associado no design do modelo de nuvem. Você pode configurar um balanceador de carga relativo ao tipo de rede e às condições de rede.
- Rede sob demanda
Se os processamentos do balanceador de carga estiverem anexados a uma rede sob demanda, um novo roteador de Camada 1 será criado e anexado ao roteador de Camada 0 especificado no perfil de rede. Em seguida, o balanceador de carga é anexado ao Roteador de camada 1. O anúncio VIP do roteador de Camada 1 será habilitado se o VIP estiver em uma rede existente. Se uma rede sob demanda estiver configurada para DHCP, ela e o balanceador de carga compartilharão o roteador de Camada 1.
- Rede existente
Se o balanceador de carga estiver anexado a uma rede existente, ele será criado com o Roteador de camada 1 da rede existente. Um novo de balanceador de carga será criado somente se não houver um balanceador de carga anexado ao roteador de Camada 1. Se o balanceador de carga já existir, novos servidores virtuais serão anexados a ele. Se a rede existente não estiver conectada a um Roteador de camada 1, um novo Roteador de camada 1 será criado e anexado a um Roteador de camada 0 definido no perfil de rede, o anúncio VIP do Roteador de camada 1 não será ativado.
O vRealize Automation não oferece suporte a um balanceador de carga de dupla articulação (balanceador de carga inline) do NSX-T em duas redes existentes diferentes. Observe que, em um cenário de balanceador de carga de dupla articulação, o uplink de VIP está em uma rede existente, enquanto as máquinas-membro do pool estão conectadas a uma rede sob demanda. Para especificar o balanceamento de carga ao usar uma rede existente, você deve configurar um balanceador de carga de articulação única em que a mesma rede existente é usada para o VIP do balanceador de carga e para as máquinas-membro do pool. No entanto, a partir do vRealize Automation 8.4.2, se você estiver usando um balanceador de carga selecionado no perfil de rede, poderá fazer o balanceamento de carga entre as máquinas em duas redes existentes diferentes se houver conectividade entre elas.
- Isolamento de rede definido no perfil de rede
Para tipos de rede
outbound
ouprivate
, você pode especificar as configurações de isolamento de rede em um perfil de rede para emular um novo grupo de segurança. Como as máquinas estão anexadas a uma rede existente e as configurações de isolamento estão definidas no perfil, essa opção é semelhante a um balanceador de carga criado em uma rede existente. A diferença é que para habilitar o caminho de dados, o IP da Porta de uplink da camada 1 é adicionado ao grupo de segurança de isolamento.
Você pode especificar configurações de balanceador de carga para redes associadas ao NSX usando um recurso de balanceador de carga do NSX no design do modelo de nuvem.
Para saber mais, consulte a postagem de blog da VMware vRA Cloud Assembly Load Balancer with NSX-T Deep Dive.
Persistência do perfil de balanceador de carga do NSX-T
Redefinindo o nível de log ou as configurações de tipo quando vários balanceadores de carga compartilham um NSX-T de Camada 1 ou um NSX-V Edge
Ao usar um modelo de nuvem que contém vários balanceadores de carga que compartilham um roteador de Camada 1 no endpoint do NSX-T ou um roteador de Edge no endpoint do NSX-V, redefinir o nível de log ou as configurações de tipo em um dos recursos do balanceador de carga não atualiza as configurações dos outros balanceadores de carga. Configurações sem correspondência causam inconsistências no NSX. Para evitar inconsistências ao redefinir essas configurações de nível de log e/ou tipo, use os mesmos valores de reconfiguração para todos os recursos do balanceador de carga no modelo de nuvem que compartilham um Tier 1 ou Edge no seu endpoint do NSX associado.
Operações de dia 2 disponíveis
Quando você expande ou reduz uma implantação que contém um balanceador de carga, este é configurado para incluir máquinas recém-adicionadas ou para interromper máquinas de balanceamento de carga destinadas a destruição.
Para obter uma lista de operações comuns do dia 2 que estão disponíveis para modelos de nuvem e implantações, consulte Quais ações posso executar nas implantações do Cloud Assembly.
Saiba mais
Para obter informações sobre como definir configurações de balanceador de carga em um perfil de rede, consulte Saiba mais sobre perfis de rede no vRealize Automation.
Para exemplos de designs de modelo de nuvem que incluem balanceadores de carga, consulte Redes, recursos de segurança e balanceadores de carga no vRealize Automation.