Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Note
Muitas das etapas listadas neste documento se aplicam a Conjuntos de Escala de Máquina Virtual usando o modo de Orquestração Uniforme. Recomendamos o uso da Orquestração Flexível para novas cargas de trabalho. Para obter mais informações, consulte Modos de orquestração para conjuntos de dimensionamento de máquinas virtuais no Azure.
Colocar VMs em uma única região reduz a distância física entre as instâncias. Colocá-los dentro de uma única zona de disponibilidade também os aproximará fisicamente. No entanto, à medida que a área do Azure cresce, uma única zona de disponibilidade pode abranger vários centros de dados físicos, o que pode resultar numa latência de rede a afetar a sua aplicação.
Para aproximar as VMs o máximo possível, alcançando a menor latência possível, podes implementá-las num grupo de colocação de proximidade.
Um grupo de posicionamento de proximidade é um agrupamento lógico usado para garantir que os recursos de computação do Azure estejam fisicamente localizados próximos uns dos outros. Os grupos de colocação por proximidade são úteis para cargas de trabalho em que a baixa latência é um requisito.
- Baixa latência entre VMs autônomas.
- Baixa latência entre VMs no mesmo conjunto de disponibilidade ou num Conjunto de Escala de Máquinas Virtuais.
- Baixa latência entre VMs autônomas, VMs em vários conjuntos de disponibilidade ou vários conjuntos de escala. Você pode ter vários recursos de computação em um único grupo de colocação para reunir uma aplicação de várias camadas.
- Baixa latência entre várias camadas de aplicativos usando diferentes tipos de hardware. Por exemplo, executar o back-end usando a série M num conjunto de disponibilidade e o front end numa instância da série D, num conjunto de escala, num único grupo de posicionamento de proximidade.
Usando grupos de posicionamento de proximidade
Um grupo de posicionamento de proximidade é um recurso no Azure. Você precisa criar um antes de usá-lo com outros recursos. Uma vez criado, poderia ser utilizado com máquinas virtuais, conjuntos de disponibilidade ou conjuntos de dimensionamento de máquinas virtuais. Você especifica um grupo de posicionamento de proximidade ao criar recursos de computação fornecendo o ID do grupo de posicionamento de proximidade.
Você também pode mover um recurso existente para um grupo de colocação de proximidade. Ao mover um recurso para um grupo de posicionamento de proximidade, você deve parar (deslocalizar) o ativo primeiro, pois ele será reimplantado potencialmente em um data center diferente na região para satisfazer a restrição de colocation.
No caso dos conjuntos de disponibilidade e dos Conjuntos de Dimensionamento de Máquinas Virtuais, deve definir o grupo de posicionamento por proximidade no nível do recurso, em vez das máquinas virtuais individuais.
Um grupo de colocação de proximidade é uma restrição de co-localização em vez de um mecanismo de fixação. Fica associado a um centro de dados específico quando o primeiro recurso que o utiliza é implementado. Uma vez que todos os recursos que usam o grupo de colocação de proximidade tenham sido parados (desalocados) ou eliminados, deixam de ser fixados. Por isso, ao usar um grupo de colocação de proximidade com múltiplas séries de VMs, é importante especificar todos os tipos necessários desde o início num modelo sempre que possível ou seguir uma sequência de implementação que aumentará as suas hipóteses de uma implementação bem-sucedida. Se a sua implementação falhar, reinicie a implementação com o tamanho da VM que falhou como o primeiro tamanho a ser implementado.
O que esperar ao usar os Grupos de Posicionamento de Proximidade
Os grupos de colocação por proximidade permitem colocalização no mesmo datacenter. No entanto, dado que os grupos de colocação por proximidade representam uma restrição de implementação adicional, podem ocorrer falhas de alocação. Existem alguns casos de uso em que pode haver falhas de alocação ao usar grupos de colocação de proximidade:
- Quando pede a primeira máquina virtual no grupo de colocação por proximidade, o datacenter é selecionado automaticamente. Em alguns casos, um segundo pedido para um SKU de máquina virtual diferente pode falhar se este não existir nesse centro de dados. Neste caso, é devolvido um erro OverconstrainedAllocationRequest. Para evitar isto, tente alterar a ordem em que implementa os seus SKUs ou ter ambos os recursos implementados usando um único modelo ARM.
- No caso de cargas de trabalho elásticas, em que adiciona e remove instâncias de VM, ter uma restrição de grupo de colocação por proximidade na sua implementação poderá resultar na impossibilidade de satisfazer o pedido, originando o erro AllocationFailure.
- Parar (desalocar) e iniciar as VMs conforme necessário é outra forma de alcançar a elasticidade. Como a capacidade não é mantida depois de parar (desalocar) uma VM, reiniciá-la pode resultar num erro AllocationFailure .
- As operações de início e reimplementação da VM continuarão a respeitar o Grupo de Colocação por Proximidade depois de configuradas com sucesso.
Manutenção Planeada e Grupos de Posicionamento de Proximidade
Eventos de manutenção planejada, como descomissionamento de hardware em um datacenter do Azure, podem afetar o alinhamento de recursos em grupos de posicionamento de proximidade. Os recursos podem ser transferidos para outro centro de dados, perturbando as expectativas de colocação e latência associadas ao grupo de colocação de proximidade.
Verificar o estado do alinhamento
Você pode fazer o seguinte para verificar o status de alinhamento de seus grupos de posicionamento de proximidade.
O estado de colocação do grupo de proximidade pode ser visualizado no portal, na CLI e no PowerShell.
Para o PowerShell, o estado de colocation pode ser obtido usando Get-AzProximityPlacementGroup cmdlet ao incluir o parâmetro opcional '-ColocationStatus'.
Na CLI, o estado de colocalização pode ser obtido utilizando
az ppg show, incluindo o parâmetro opcional '--include-colocation-status'.
Para cada grupo de posicionamento de proximidade, uma propriedade do estado de colocação fornece o resumo do estado de alinhamento atual dos recursos agrupados.
Alinhado: o recurso está dentro do mesmo envelope de latência do grupo de posicionamento de proximidade.
Desconhecido: pelo menos um dos recursos da VM foi realocado. Assim que forem iniciados com sucesso, o estado voltará a Alinhado.
Não alinhado: pelo menos um recurso de VM não está alinhado com o grupo de colocação de proximidade. Os recursos específicos que não estiverem alinhados também serão indicados separadamente na secção de membros
Para Conjuntos de disponibilidade, você pode ver informações sobre o alinhamento de VMs individuais na página Visão geral do conjunto de disponibilidade.
Para conjuntos de escala, as informações sobre o alinhamento de instâncias individuais podem ser vistas na guia Instâncias da página Visão geral do conjunto de escalas.
Realinhar recursos
Se um grupo de colocação de proximidade for Not Aligned, podes parar/desalocar e depois reiniciar os recursos afetados. Se a VM estiver em um conjunto de disponibilidade ou em um conjunto de escala, todas as VMs no conjunto de disponibilidade ou conjunto de escala deverão ser interrompidas\desalocadas primeiro antes de reiniciá-las.
Se houver uma falha de alocação devido a restrições de implementação, pode ter de parar/desalocar todos os recursos no grupo de colocação de proximidade afetado (incluindo os recursos alinhados) primeiro e depois reiniciá-los para restaurar o alinhamento.
Melhores práticas
- Para obter a latência mais baixa, use grupos de posicionamento de proximidade juntamente com a rede acelerada. Para obter mais informações, consulte Criar uma máquina virtual Linux com rede acelerada ou Criar uma máquina virtual do Windows com rede acelerada.
- Implemente todos os tamanhos de VM num único modelo. Para evitar recorrer a hardware que não suporta todos os SKUs e tamanhos de VM que exige, inclua todos os níveis de aplicação num único modelo para que todos sejam implementados ao mesmo tempo.
- Se estiveres a programar a tua implementação usando PowerShell, CLI ou o SDK, podes receber um erro
OverconstrainedAllocationRequestde alocação. Neste caso, deves parar/desalocar todas as VMs existentes e alterar a sequência no script de deployment para começar com o SKU/tamanhos da VM que falhou. - Ao reutilizar um grupo de posicionamento existente do qual as VMs foram excluídas, aguarde a conclusão completa da exclusão antes de adicionar VMs a ele.
- Se a latência for a sua primeira prioridade, coloque as VMs num grupo de colocação por proximidade e toda a solução numa zona de disponibilidade. Mas, se a resiliência for a sua principal prioridade, distribua as suas instâncias por várias zonas de disponibilidade (um único grupo de colocação por proximidade não pode abranger zonas).
Crie um grupo de colocação de proximidade
Crie um grupo de colocação de proximidade usando o cmdlet New-AzProximityPlacementGroup .
$resourceGroup = "myPPGResourceGroup"
$location = "East US"
$ppgName = "myPPG"
New-AzResourceGroup -Name $resourceGroup -Location $location
$ppg = New-AzProximityPlacementGroup `
-Location $location `
-Name $ppgName `
-ResourceGroupName $resourceGroup `
-ProximityPlacementGroupType Standard
Listar grupos de posicionamento por proximidade
Pode listar todos os grupos de colocação de proximidade usando o cmdlet Get-AzProximityPlacementGroup .
Get-AzProximityPlacementGroup
Crie um conjunto de escalas num grupo de colocação de proximidade
Importante
A partir de novembro de 2023, os conjuntos de dimensionamento de VM criados usando o PowerShell e a CLI do Azure assumirão como padrão 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 tomar, vá para Breaking Change for VMSS PowerShell/CLI Customers - Microsoft Community Hub
Crie um conjunto de dimensionamento no grupo de posicionamento por proximidade, usando -ProximityPlacementGroup $ppg.Id para referenciar o ID do grupo de posicionamento por proximidade quando utilizar New-AzVMSS para criar o conjunto de dimensionamento.
$scalesetName = "myVM"
New-AzVmss `
-ResourceGroupName $resourceGroup `
-Location $location `
-OrchestrationMode "Uniform" `
-VMScaleSetName $scalesetName `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-PublicIpAddressName "myPublicIPAddress" `
-LoadBalancerName "myLoadBalancer" `
-ProximityPlacementGroup $ppg.Id
Pode ver a instância no grupo de colocação usando o Get-AzProximityPlacementGroup.
Get-AzProximityPlacementGroup `
-ResourceId $ppg.Id | Format-Table `
-Wrap `
-Property VirtualMachineScaleSets
Passos seguintes
Também podes usar o CLI do Azure para criar grupos de colocação de proximidade.