Associar um Conjunto de Dimensionamento de Máquinas Virtuais com orquestração uniforme a um Grupo de Reserva de Capacidade

Aplica-se a: ✔️ conjunto de dimensionamento uniforme

Os Conjuntos de Dimensionamento de Máquinas Virtuais têm dois modos:

  • Modo de orquestração uniforme: Nesse modo, os Conjuntos de Dimensionamento de Máquinas Virtuais usam um perfil de VM ou um modelo para escalar verticalmente até a capacidade desejada. Embora seja possível gerenciar ou personalizar instâncias de VMs individuais, o modo Uniforme usa instâncias de VM idênticas. Essas instâncias são expostas por meio das APIs de VM dos Conjuntos de Dimensionamento de Máquinas Virtuais, e não são compatíveis com os comandos padrão da API de VM de IaaS do Azure. Como o conjunto de dimensionamento executa todas as operações reais da VM, as reservas são associadas diretamente ao Conjunto de Dimensionamento de Máquinas Virtuais. Depois que o conjunto de dimensionamento estiver associado à reserva, todas as alocações de VM subsequentes são feitas em relação à reserva.
  • Modo de orquestração flexível: Nesse modo, você obtém mais flexibilidade para gerenciar as instâncias de VM do Conjunto de Dimensionamento de Máquinas Virtuais individuais, pois elas podem usar as APIs padrão de VM de IaaS do Azure em vez de usar a interface do conjunto de dimensionamento. Para usar reservas com o modo de orquestração flexível, defina a propriedade do Conjunto de Dimensionamento de Máquinas Virtuais e a propriedade da reserva de capacidade em cada máquina virtual.

Para saber mais sobre esses modos, acesse Modos de Orquestração dos Conjuntos de dimensionamento de máquinas virtuais.

Esse conteúdo se aplica ao modo de orquestração uniforme. Para o modo de orquestração flexível, acesse Associar um Conjunto de Dimensionamento de Máquinas Virtuais com orquestração flexível a um grupo de Reserva de Capacidade

Limitações do conjuntos de dimensionamento em Orquestração Uniforme

  • Para que conjuntos de dimensionamento de máquinas virtuais em orquestração Uniforme sejam compatíveis com a reserva de capacidade, a propriedade singlePlacementGroup deve ser definida como False.
  • A opção de disponibilidade de Difusão fixa estática para conjuntos de dimensionamento uniforme de várias zonas não tem suporte com a reserva de capacidade. Essa opção requer o uso de cinco Domínios de Falha, enquanto as reservas só dão suporte a até três Domínios de Falha para tamanhos de uso geral. A abordagem recomendada é usar a opção de Distribuição máxima, que distribui as VMs por tantos domínios de falha quanto possível dentro de cada zona. Se necessário, configure uma configuração de domínio de falha personalizada de 3 ou menos.

Há algumas outras restrições ao usar a Reserva de Capacidade. Para obter a lista completa, consulte a Visão geral das Reservas de Capacidade.

Associar um novo Conjunto de Dimensionamento de Máquinas Virtuais a um Grupo de Reserva de Capacidade

Importante

A partir de novembro de 2023, os conjuntos de dimensionamento de VM criados usando o PowerShell e a CLI do Azure serão padrão para o Modo de Orquestração Flexível se nenhum modo de orquestração for especificado. Para obter mais informações sobre essa alteração e quais ações você deve executar, acesse Alteração interruptiva para clientes PowerShell/CLI do VMSS – Hub de Comunidade da Microsoft

Para associar um novo Conjunto de Dimensionamento de Máquinas Virtuais Uniformes a um Grupo de Reserva de Capacidade, construa a seguinte solicitação PUT para o provedor Microsoft.Compute:

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}?api-version=2021-04-01

Adicione a propriedade capacityReservationGroup na propriedade virtualMachineProfile:

{ 
    "name": "<VMScaleSetName>", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}", 
    "type": "Microsoft.Compute/virtualMachineScaleSets", 
    "location": "eastus", 
    "sku": { 
        "name": "Standard_D2s_v3", 
        "tier": "Standard", 
        "capacity": 3 
}, 
"properties": { 
    "virtualMachineProfile": { 
        "capacityReservation": { 
            "capacityReservationGroup":{ 
                "id":"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroup/{CapacityReservationGroupName}" 
            } 
         }, 
        "osProfile": { 
            … 
        }, 
        "storageProfile": { 
            … 
        }, 
        "networkProfile": { 
            …,
            "extensionProfile": { 
                … 
            } 
        } 
    } 

Associar um Conjunto de Dimensionamento de Máquinas Virtuais existente a um Grupo de Reserva de Capacidade

Para adicionar um Grupo de Reserva de Capacidade existente a um Conjunto de Dimensionamento Uniforme existente:

  • Parar o Conjunto de Dimensionamento para desalocar as instâncias de VM
  • Atualizar o conjunto de dimensionamento para usar um Grupo de Reserva de Capacidade correspondente
  • Iniciar o conjunto de dimensionamento

Esse processo garante que o posicionamento das Reservas de Capacidade e do Conjunto de Dimensionamento na região sejam compatíveis.

Observações importantes sobre as Políticas de atualização

  • Atualização automática – nesse modo, as instâncias de VM do conjunto de dimensionamento são automaticamente associadas ao grupo de reserva de capacidade sem que você faça qualquer ação. Quando as VMs do conjunto de dimensionamento são realocadas, elas começam a consumir a capacidade reservada.
  • Atualização sem interrupção – nesse modo, as instâncias de VM do conjunto de dimensionamento são associadas ao grupo de reserva de capacidade sem que você faça qualquer ação. No entanto, elas são atualizadas em lotes com um tempo de pausa opcional entre elas. Quando as VMs do conjunto de dimensionamento são realocadas, elas começam a consumir a capacidade reservada.
  • Atualização manual – nesse modo, nada acontece com as instâncias de VM do conjunto de dimensionamento quando o Conjunto de Dimensionamento de Máquinas Virtuais está anexado a um grupo de reserva de capacidade. Você precisa fazer uma atualização para cada VM do conjunto de dimensionamento atualizando-a com o modelo de conjunto de dimensionamento mais recente.
  1. Desaloque o conjunto de dimensionamento de máquinas virtuais.

    POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/deallocate?api-version=2021-04-01
    
  2. Adicione a propriedade capacityReservationGroup ao modelo do conjunto de dimensionamento. Construa a seguinte solicitação PUT para o provedor Microsoft.Compute:

    PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}?api-version=2021-04-01
    

    No corpo da solicitação, inclua a propriedade capacityReservationGroup:

    "location": "eastus",
    "properties": {
        "virtualMachineProfile": {
             "capacityReservation": {
                      "capacityReservationGroup": {
                            "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}"
                      }
                }
        }
    }
    

Exibir a associação do Conjunto de Dimensionamento de Máquinas Virtuais com a Exibição de Instância

Depois que o Conjunto de Dimensionamento de Máquinas Virtuais Uniforme estiver associado ao grupo de reserva de capacidade, todas as alocações de VM subsequentes ocorrerão em relação à reserva de capacidade. O Azure localiza automaticamente a reserva de capacidade correspondente no grupo e consome um slot reservado.

A Exibição de Instância do grupo de Reserva de Capacidade reflete o novo conjunto de dimensionamento de VMs nas propriedades virtualMachinesAssociated e virtualMachinesAllocated:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}?$expand=instanceview&api-version=2021-04-01 
{ 
    "name": "<CapacityReservationGroupName>", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}", 
    "type": "Microsoft.Compute/capacityReservationGroups", 
    "location": "eastus" 
}, 
    "properties": { 
        "capacityReservations": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{CapacityReservationName}" 
            } 
        ], 
        "virtualMachinesAssociated": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/virtualMachines/{VirtualMachineId}" 
            } 
        ], 
        "instanceView": { 
            "capacityReservations": [ 
                { 
                    "name": "<CapacityReservationName>", 
                    "utilizationInfo": { 
                        "virtualMachinesAllocated": [ 
                            { 
                                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{VMScaleSetName}/virtualMachines/{VirtualMachineId}" 
                            } 
                        ] 
                    },
                    "statuses": [ 
                        { 
                            "code": "ProvisioningState/succeeded", 
                            "level": "Info", 
                            "displayStatus": "Provisioning succeeded", 
                            "time": "2021-05-25T15:12:10.4165243+00:00" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
} 

Considerações sobre a Região e as Zonas de Disponibilidade

Os conjuntos de dimensionamento de máquinas virtuais podem ser criados de forma regional ou em uma ou mais Zonas de Disponibilidade para protegê-los contra falhas no nível do Data Center. Saiba mais sobre os Conjuntos de Dimensionamento de Máquinas Virtuais de várias zonais consultando Conjuntos de Dimensionamento de Máquinas Virtuais que usam Zonas de disponibilidade.

Importante

O local (a Região e as Zonas de Disponibilidade) do Conjunto de Dimensionamento de Máquinas Virtuais e o grupo de reserva de capacidade devem ser correspondentes para que a associação seja realizada com sucesso. Para um conjunto de dimensionamento regional, a região deve corresponder entre o conjunto de dimensionamento e o grupo de reserva de capacidade. Para um conjunto de dimensionamento regional, a região e as zonas devem corresponder entre o conjunto de dimensionamento e o grupo de reserva de capacidade.

Quando um conjunto de dimensionamento é distribuído entre várias zonas, ele sempre tenta implantar uniformemente entre as Zonas de Disponibilidade incluídas. Por causa dessa implantação uniforme, um grupo de reserva de capacidade sempre deve ter a mesma quantidade de VMs reservadas em cada zona. Para ilustrar como isso é importante, considere o exemplo a seguir.

Neste exemplo, cada zona tem uma quantidade diferente reservada. Digamos que o conjunto de dimensionamento de máquinas virtuais seja dimensionado para 75 instâncias. Como o conjunto de dimensionamento sempre tentará implantar uniformemente entre as zonas, a distribuição de VM deve ser parecida com esta:

Zona Quantidade reservada Não. de VMs de conjunto de dimensionamento em cada zona Quantidade reservada não utilizada Superalocado
1 40 25 15 0
2 20 25 0 5
3 15 25 0 10

Nesse caso, o conjunto de dimensionamento está incorrendo em custo extra para 15 instâncias não utilizadas na Zona 1. A expansão também depende de 5 VMs na Zona 2 e 10 VMs na Zona 3 que não estão protegidas pela reserva de capacidade. Se cada zona tiver 25 instâncias de capacidade reservadas, todas as 75 VMs estariam protegidas pela reserva de capacidade e a implantação não incorreria em nenhum custo extra para as instâncias não utilizadas.

Como as reservas podem ser superalocadas, o conjunto de dimensionamento pode continuar a dimensionar normalmente além dos limites da reserva. A única diferença é que as VMs alocadas acima da quantidade reservada não são cobertas pelo SLA da reserva de capacidade. Para saber mais, acesse Sobrealocar reserva de capacidade.

Próximas etapas