Compartilhar via


Associar um conjunto de dimensionamento de máquinas virtuais à 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 do Azure têm dois modos:

  • Orquestração uniforme: neste modo, os conjuntos usam um perfil de VM (máquina virtual) ou um modelo para aumentar a capacidade desejada. Embora seja possível gerenciar ou personalizar instâncias de VMs individuais, o modo Orquestração Uniforme usa instâncias de VM idênticas. Essas instâncias são expostas por meio das APIs de VM do conjunto de dimensionamento de máquinas virtuais e não são compatíveis com os comandos de API padrão para VMs IaaS (infraestrutura como serviço) 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. Após associar o conjunto de dimensionamento à reserva, todas as alocações de VM subsequentes são feitas em relação à reserva.
  • Orquestração Flexível: nesse modo, você obtém mais flexibilidade para gerenciar as instâncias individuais de VM do conjunto de dimensionamento de máquinas virtuais. Eles podem usar as APIs de VM de IaaS padrão 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 VM.

Para saber mais sobre esses modos, consulte 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, consulte 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. No entanto, 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 três ou menos.

Há algumas outras restrições ao usar reservas 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 máquinas virtuais 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, consulteAlteraçã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. É necessário 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

Após 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 ao 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 a zonas de disponibilidade

É possível criar os conjuntos de dimensionamento de máquinas virtuais de forma regional ou em uma ou mais zonas de disponibilidade para ajudar a protegê-los contra falhas no nível do data center. Para saber mais sobre os conjuntos de dimensionamento de máquinas virtuais de várias zonais, consulte 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 a importância dessa implantação uniforme, 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 tenta implantar uniformemente entre as zonas, a distribuição de VM deve ser parecida com este exemplo:

Zona Quantidade reservada Número 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 incorre 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 contrato de nível de serviço da reserva de capacidade. Para saber mais, confira Alocar em excesso a reserva de capacidade.

Próxima etapa