Conjuntos de Dimensionamento de Máquinas Virtuais e grupos de posicionamento

Observação

Este documento aborda os Conjuntos de Dimensionamento de Máquinas Virtuais em execução no modo de Orquestração Uniforme. É recomendável usar a Orquestração Flexível para cargas de trabalho novas. Para saber mais, confira Modos de orquestração para conjuntos de dimensionamento de máquinas virtuais no Azure.

Agora você pode criar Conjuntos de Dimensionamento de Máquinas Virtuais do Azure com uma capacidade de até 1.000 VMs. Neste documento, um Conjunto de Dimensionamento de Máquinas Virtuais grande é definido como um conjunto de dimensionamento capaz de ser redimensionado para mais de 100 VMs. Esse recurso é definido por uma propriedade de conjunto de dimensionamento (singlePlacementGroup=False).

Certos aspectos de conjuntos de dimensionamento grandes, como domínios de falhas e balanceamento de carga, se comportam de maneira diferente de um conjunto de dimensionamento padrão. Este documento explica as características de conjuntos de dimensionamento grandes e descreve o que você precisa saber para usá-los com êxito nos aplicativos.

Uma abordagem comum para implantar a infraestrutura de nuvem em grande escala é criar um conjunto de unidades de dimensionamento, por exemplo, criando vários conjuntos de dimensionamento de VMs em várias VNETs e contas de armazenamento. Essa abordagem fornece gerenciamento mais fácil em comparação com VMs únicas, e várias unidades de escala são úteis para muitos aplicativos, especialmente aqueles que exigem outros componentes empilháveis, como várias redes virtuais e pontos de extremidade. No entanto, se o aplicativo requer um único cluster grande, pode ser mais fácil implantar um único conjunto de dimensionamento com até 1.000 VMs. Cenários de exemplo incluem implantações de big data centralizadas ou grades de computação que exigem o gerenciamento simples de um grande pool de nós de trabalho. Combinado com o disco de dados conectado do Conjunto de Dimensionamento de Máquina Virtual, os conjuntos de dimensionamento de grande escala o habilitam a implantar uma infraestrutura escalonável que consiste em milhares de vCPUs e petabytes de armazenamento, como uma única operação.

Grupos de posicionamento

O que torna um conjunto de dimensionamento grande especial não é o número de VMs, mas o número de grupos de posicionamento que ele contém. Um grupo de posicionamento é uma construção semelhante a um conjunto de disponibilidade do Azure, com seus próprios domínios de falha e domínios de atualização. Por padrão, um conjunto de dimensionamento consiste em um único grupo de posicionamento com tamanho máximo de 100 VMs. Se uma propriedade de conjunto de dimensionamento chamada singlePlacementGroup for definido como false, o conjunto de dimensionamento poderá ser composto de vários grupos de posicionamento e ter um intervalo de 0-1.000 VMs. Quando definido com o valor padrão true, um conjunto de dimensionamento é composto de um grupo único posicionamento e tem um intervalo de 0 a 100 VMs.

Lista de verificação para uso em conjuntos de dimensionamento grandes

Para decidir se o aplicativo pode fazer uso eficiente de conjuntos de dimensionamento grandes, considere os seguintes requisitos:

  • Se estiver planejando implantar um grande número de VMs, talvez seus limites de cota de vCPU de computação precisem ser aumentados.
  • Conjuntos de dimensionamento criados com base em imagens do Azure Marketplace ou da Galeria de Computação do Azure podem ser dimensionados para até 1.000 VMs.
  • Conjuntos de dimensionamento criados com base em imagens personalizadas (imagens de VM que você cria e carrega por conta própria) atualmente podem ser dimensionados para até 600 VMs.
  • Conjuntos de dimensionamento grandes exigem Discos Gerenciados do Azure. Conjuntos de dimensionamento que não são criados com Discos Gerenciados exigem várias contas de armazenamento (uma para cada 20 VMs). Conjuntos de dimensionamento grandes são projetados para trabalhar exclusivamente com Discos Gerenciados para reduzir a sobrecarga de gerenciamento de armazenamento e evitar o risco de execução em limites de assinatura para contas de armazenamento.
  • Grande escala (SPG = false) não dá suporte à rede InfiniBand
  • O balanceamento de carga da camada 4 com conjuntos de dimensionamento composto por vários grupos de posicionamento exige o SKU Standard do Azure Load Balancer. O SKU Standard do Load Balancer oferece benefícios adicionais, como a capacidade de balanceamento de carga entre vários conjuntos de dimensionamento. O SKU Standard também requer que o conjunto de dimensionamento tenha um Grupo de Segurança de Rede associado a ele, caso contrário, os pools de NAT não funcionam corretamente. Se precisar usar a SKU Básica do Azure Load Balancer, verifique se o conjunto de dimensionamento está configurado para usar um único grupo de posicionamento, que é a configuração padrão.
  • O balanceamento de carga da camada 7 com o Gateway de Aplicativo do Azure tem suporte para todos os conjuntos de dimensionamento.
  • Um conjunto de dimensionamento é definido com uma única sub-rede. Verifique se a sub-rede tem um espaço de endereço grande o suficiente para todas as VMs de que você precisa. Por padrão, um conjunto de dimensionamento superprovisiona (cria VMs extras no momento da implantação ou expansão, pelas quais você não é cobrado) para melhorar o desempenho e a confiabilidade da implantação. Permita um espaço de endereço 20% maior do que o número de VMs para as quais você planeja dimensionar.
  • Domínios de falha e domínios de atualização só são consistentes dentro de um grupo de posicionamento. Essa arquitetura não altera a disponibilidade geral do conjunto de dimensionamento, pois as VMs são distribuídas uniformemente por hardware físico distinto, mas significa que, se você precisar garantir que duas VMs estejam em um hardware diferente, verifique se elas estão em domínios de falha diferentes no mesmo grupo de posicionamento. Confira este link Opções de disponibilidade.
  • A ID de grupo de posicionamento e o domínio de falhas são mostrados na exibição da instância de uma VM de conjunto de dimensionamento. Você pode exibir a instância do modo de exibição de uma VM de conjunto de dimensionamento no Gerenciador de Recursos do Azure.

Criando um conjunto de dimensionamento grande

Quando você cria um conjunto de dimensionamento no portal do Azure, basta especificar o valor de Contagem de instâncias para até 1.000. Se for mais de 100 instâncias, Habilitar dimensionamento acima de 100 instâncias será definido como Sim, o que permitirá que ele seja dimensionado para vários grupos de posicionamento.

Esta imagem mostra a folha de instâncias do portal de Azure. Há opções disponíveis para selecionar a Contagem de Instâncias e o Tamanho da instância.

Você pode criar um Conjunto de Dimensionamento de Máquinas Virtuais grande usando o comando da CLI do Azureaz vmss create. Esse comando define padrões inteligentes, como tamanho da sub-rede com base no argumento instance-count:

az group create -l southcentralus -n biginfra
az vmss create -g biginfra -n bigvmss --image Ubuntu2204 --instance-count 1000

O comando vmss create usará determinados valores de configuração como padrão se você não especificá-los. Para ver as opções disponíveis que você pode substituir, experimente:

az vmss create --help

Se estiver criando um conjunto de dimensionamento grande por meio da composição de um modelo do Azure Resource Manager, verifique se o modelo cria um conjunto de dimensionamento com base em Discos Gerenciados do Azure. É possível definir a propriedade singlePlacementGroup como false na seção propriedades do recurso Microsoft.Compute/virtualMachineScaleSets. O seguinte fragmento JSON mostra o início de um modelo de conjunto de dimensionamento, incluindo a capacidade de 1.000 VMs e a configuração "singlePlacementGroup": false:

{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "location": "australiaeast",
  "name": "bigvmss",
  "sku": {
    "name": "Standard_DS1_v2",
    "tier": "Standard",
    "capacity": 1000
  },
  "properties": {
    "singlePlacementGroup": false,
    "upgradePolicy": {
      "mode": "Automatic"
    }

Para obter um exemplo completo de grande escala definida no modelo, consulte https://github.com/gbowerman/azure-myriad/blob/main/bigtest/bigbottle.json.

Converter um conjunto de dimensionamento existente para abranger vários grupos de posicionamento

Para tornar um Conjunto de Dimensionamento de Máquinas Virtuais existente capaz de ser redimensionado para mais de 100 VMs, você precisa alterar a propriedade singplePlacementGroup para false no modelo de conjunto de dimensionamento. Você pode testar a alteração dessa propriedade com o Gerenciador de Recursos do Azure. Localize um conjunto de dimensionamento existente, selecione Editar e altere a propriedade singlePlacementGroup. Se não vir essa propriedade, talvez você esteja exibindo o conjunto de dimensionamento com uma versão mais antiga da API Microsoft.Compute.

Observação

Você pode alterar um conjunto de dimensionamento de oferecer suporte a apenas um único grupo de posicionamento (o comportamento padrão) para dar suporte a vários grupos de posicionamento, mas não é possível fazer o oposto. Portanto, entenda as propriedades de conjuntos de dimensionamento grandes antes da conversão.