Grupos de colocação de proximidade

Aplica-se a: ✔️ VMs do Linux VMs ✔️ do Windows Conjuntos ✔️ ✔️ de dimensionamento flexíveis Conjuntos de dimensionamento uniformes

Colocar VMs numa única região reduz a distância física entre as instâncias. Colocá-los numa única zona de disponibilidade também os aproximará fisicamente. No entanto, à medida que a pegada do Azure aumenta, uma única zona de disponibilidade pode abranger vários datacenters físicos, o que pode resultar numa latência de rede que afeta a sua aplicação.

Para obter as VMs o mais perto possível, atingindo a menor latência possível, deve implementá-las num grupo de colocação por proximidade.

Um grupo de colocação por proximidade é um agrupamento lógico utilizado para garantir que os recursos de computação do Azure estão fisicamente localizados perto 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 num único conjunto de disponibilidade ou num conjunto de dimensionamento de máquinas virtuais.
  • Baixa latência entre VMs autónomas, VMs em vários Conjuntos de Disponibilidade ou vários conjuntos de dimensionamento. Pode ter vários recursos de computação num único grupo de colocação para reunir uma aplicação de várias camadas.
  • Baixa latência entre várias camadas de aplicação através de diferentes tipos de hardware. Por exemplo, executar o back-end com a série M num conjunto de disponibilidade e o front-end numa instância da série D, num conjunto de dimensionamento, num único grupo de colocação por proximidade.

Gráfico para grupos de colocação por proximidade

Utilizar Grupos de Colocação por Proximidade

Um grupo de colocação por proximidade é um recurso no Azure. Tem de criar um antes de o utilizar com outros recursos. Depois de criada, pode ser utilizada com máquinas virtuais, conjuntos de disponibilidade ou conjuntos de dimensionamento de máquinas virtuais. Especifique um grupo de colocação por proximidade ao criar recursos de computação que fornecem o ID do grupo de colocação por proximidade.

Também pode mover um recurso existente para um grupo de colocação por proximidade. Ao mover um recurso para um grupo de colocação por proximidade, deve parar (desalocar) o recurso primeiro, uma vez que será reimplementado potencialmente num datacenter diferente na região para satisfazer a restrição de colocalização.

No caso dos conjuntos de disponibilidade e dos conjuntos de dimensionamento de máquinas virtuais, deve definir o grupo de colocação por proximidade ao nível do recurso em vez das máquinas virtuais individuais.

Um grupo de colocação por proximidade é uma restrição de colocação em vez de um mecanismo de afixação. Está afixado a um datacenter específico com a implementação do primeiro recurso para utilizá-lo. Depois de todos os recursos que utilizam o grupo de colocação por proximidade terem sido parados (desalocados) ou eliminados, já não é afixado. Por conseguinte, sempre que utilizar um grupo de colocação por proximidade com várias séries de VMs, é importante especificar todos os tipos necessários antecipadamente num modelo, se possível, ou seguir uma sequência de implementação, o que irá melhorar as hipóteses de uma implementação com êxito. Se a implementação falhar, reinicie a implementação com o tamanho da VM, que falhou como o primeiro tamanho a ser implementado.

Utilizar a intenção para especificar tamanhos de VM

Pode utilizar o parâmetro opcional intent para fornecer os Tamanhos de VM pretendidos para fazerem parte do grupo de colocação por proximidade. Este parâmetro pode ser especificado no momento da criação de um grupo de colocação por proximidade ou pode ser adicionado/modificado durante a atualização de um grupo de colocação por proximidade após a desalocar todas as VMs.

Ao especificar intent, também pode adicionar o parâmetro opcional zone para especificar uma zona de disponibilidade, indicando que o grupo de colocação por proximidade tem de ser criado dentro de uma zona de disponibilidade específica. Tenha em atenção os seguintes pontos ao fornecer o zone parâmetro:

  • O parâmetro de zona de disponibilidade só pode ser fornecido durante a criação do grupo de colocação por proximidade e não pode ser modificado mais tarde.
  • O zone parâmetro só pode ser utilizado com intent, não pode ser utilizado sozinho.
  • Só é possível especificar uma zona de disponibilidade.

A criação ou atualização do Grupo de Colocação por Proximidade só será bem-sucedida quando pelo menos um datacenter suportar todos os Tamanhos de VM especificados na intenção. Caso contrário, a criação ou atualização falhará com "OverconstrainedAllocationRequest", indicando que a combinação de Tamanhos de VM não pode ser suportada num grupo de colocação por proximidade. A intenção não fornece nenhuma reserva ou garantia de capacidade. Os Tamanhos e a zona da VM fornecidos no intent são utilizados para selecionar um datacenter adequado, reduzindo as hipóteses de falha se o tamanho da VM pretendido não estiver disponível num datacenter. As falhas de alocação podem continuar a ocorrer se não houver mais capacidade para um tamanho de VM no momento da implementação.

Nota

Para utilizar a intenção para os grupos de colocação por proximidade, certifique-se de que a versão da API é 2021-11-01 ou superior

Melhores Práticas ao utilizar a intenção

  • Forneça uma zona de disponibilidade para o grupo de colocação por proximidade apenas quando fornecer uma intenção. Fornecer uma zona de disponibilidade sem uma intenção resultará num erro ao criar o grupo de colocação por proximidade.
  • Se fornecer uma zona de disponibilidade na intenção, certifique-se de que a zona de disponibilidade das VMs que implementar corresponde ao que especificou na intenção, para evitar erros durante a implementação de VMs.
  • É permitido criar ou adicionar VMs com tamanhos que não estão incluídos na intenção, mas não recomendado. O tamanho pode não existir no datacenter selecionado e pode resultar em falhas no momento da implementação da VM.
  • Para grupos de colocação existentes, recomendamos que inclua os tamanhos das VMs existentes ao atualizar a intenção, de modo a evitar falhas ao reimplementar as VMs.

A intenção pode ser afetada com a desativação

  • É possível que, depois de criar um grupo de colocação por proximidade com intenção e antes de implementar VMs, possam ocorrer eventos de manutenção planeada, como a desativação de hardware num datacenter do Azure, o que resulta na combinação de Tamanhos de VM especificados na intenção de não estarem disponíveis no datacenter. Nestes casos, ocorrerá um erro "OverconstrainedAllocationRequest", mesmo ao implementar VMs de tamanhos especificados na intenção. Pode tentar desalocar todos os recursos no grupo de colocação por proximidade e recriá-los para obter um datacenter que possa acomodar a intenção. Se não existir nenhum datacenter com os Tamanhos de VM especificados após a desativação, poderá ter de modificar a intenção para utilizar uma combinação diferente de Tamanhos de VM, uma vez que a combinação de tamanhos de VM já não é suportada.
  • O Azure pode extinguir toda uma família de VMs ou um conjunto específico de tamanhos de VM. Se tiver um tamanho de VM tão grande na intenção, poderá ter de removê-lo ou substituí-lo por um tamanho diferente antes da data de descontinuação do tamanho original da VM. Caso contrário, a intenção deixará de ser válida.

O que esperar ao utilizar Grupos de Colocação por Proximidade

Os grupos de colocação por proximidade oferecem colocalização no mesmo datacenter. No entanto, como os grupos de colocação por proximidade representam uma restrição de implementação adicional, podem ocorrer falhas de alocação. Existem poucos casos de utilização em que poderá ver falhas de alocação ao utilizar grupos de colocação por 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 tamanho de VM diferente pode falhar se não existir nesse datacenter. Neste caso, é devolvido um erro OverconstrainedAllocationRequest. Para evitar este erro, tente alterar a ordem pela qual implementa os tamanhos da VM ou tenha ambos os recursos implementados com um único modelo do ARM.
  • Se o grupo de colocação por proximidade for criado com intenção, as VMs não têm de ser implementadas por nenhuma ordem específica e não são necessárias para serem agrupadas com um único modelo do ARM, uma vez que a intenção é utilizada para selecionar um datacenter que suporte todos os tamanhos de VM indicados na intenção.
  • No caso das 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 implementação pode resultar numa falha ao satisfazer o pedido resultante do erro AllocationFailure .
  • Parar (desalocar) e iniciar as VMs conforme necessário é outra forma de alcançar a elasticidade. Uma vez que a capacidade não é mantida depois de parar (desalocar) uma VM, iniciá-la novamente 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 êxito.

Manutenção planeada e Grupos de Colocação por Proximidade

Os eventos de manutenção planeada, como a desativação de hardware num datacenter do Azure, podem afetar potencialmente o alinhamento de recursos em grupos de colocação por proximidade. Os recursos podem ser movidos para um datacenter diferente, interrompendo as expetativas de colocação de colunas e latência associadas ao grupo de colocação por proximidade.

Verificar o estado de alinhamento

Pode fazer o seguinte para verificar o estado de alinhamento dos grupos de colocação por proximidade.

  • O estado da colocação por proximidade do grupo pode ser visualizado com o portal, a CLI e o PowerShell.

    • PowerShell – o estado da colocalização pode ser obtido através de Get-AzProximityPlacementGroup cmdlet ao incluir o parâmetro opcional "-ColocationStatus".

    • CLI – o estado da colocalização pode ser obtido ao az ppg show incluir o parâmetro opcional "--include-colocation-status".

  • Para cada grupo de colocação por proximidade, uma propriedade de estado de colocação fornece o resumo do estado de alinhamento atual dos recursos agrupados.

    • Alinhado: o recurso está dentro da mesma latência do grupo de colocação por proximidade.

    • Desconhecido: pelo menos um dos recursos da VM é desalocado. Depois de reiniciá-los com êxito, o estado deve voltar a Alinhado.

    • Não alinhado: pelo menos um recurso de VM não está alinhado com o grupo de colocação por proximidade. Os recursos específicos que não estão alinhados também serão destacados separadamente na secção de associação

  • Para Conjuntos de Disponibilidade, pode ver informações sobre o alinhamento de VMs individuais na página Descrição Geral do Conjunto de Disponibilidade.

  • Para conjuntos de dimensionamento, pode ver informações sobre o alinhamento de instâncias individuais no separador Instâncias da página Descrição geral do conjunto de dimensionamento.

Realinhar recursos

Se um grupo de colocação por proximidade for Not Aligned, pode parar\desalocar e, em seguida, reiniciar os recursos afetados. Se a VM estiver num conjunto de disponibilidade ou num conjunto de dimensionamento, todas as VMs no conjunto de disponibilidade ou conjunto de dimensionamento têm de ser paradas\desalocadas primeiro antes de as reiniciar.

Se ocorrer uma falha de alocação devido a restrições de implementação, poderá ter de parar\desalocar todos os recursos no grupo de colocação por proximidade afetado (incluindo os recursos alinhados) primeiro e, em seguida, reiniciá-los para restaurar o alinhamento.

Melhores práticas

  • Para obter a latência mais baixa, utilize grupos de colocação por proximidade juntamente com redes aceleradas. Para obter mais informações, veja Create a Linux virtual machine with Accelerated Networking (Criar uma máquina virtual do Windows com Redes Aceleradas) ou Create a Windows virtual machine with Accelerated Networking (Criar uma máquina virtual do Windows com Redes Aceleradas).
  • Para evitar a aterragem em hardware que não suporta todos os SKUs e tamanhos de VM necessários, utilize a intenção para grupos de colocação por proximidade. Se for um grupo de colocação por proximidade já existente sem intenção, pode utilizar um único modelo do ARM com todos os tamanhos de VM especificados para evitar este problema.
  • Ao reutilizar um grupo de colocação existente a partir do qual as VMs foram eliminadas, aguarde que a eliminação seja totalmente concluída antes de adicionar VMs ao mesmo.
  • 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. No entanto, se a resiliência for a sua principal prioridade, espalhe as instâncias por várias zonas de disponibilidade (um único grupo de colocação por proximidade não pode abranger zonas).

Passos seguintes