Grupos de colocação de proximidade
Aplica-se a: ✔️ VMs ✔️ Linux VMs ✔️ do Windows Conjuntos ✔️ de escala flexíveis Conjuntos de balanças uniformes
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 pegada do Azure cresce, uma única zona de disponibilidade pode abranger vários data centers físicos, o que pode resultar em uma latência de rede que afeta seu aplicativo.
Para obter VMs o mais próximo possível, alcançando a menor latência possível, você deve implantá-las em um grupo de posicionamento 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 em um único conjunto de disponibilidade ou um conjunto de escala de máquina virtual.
- 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 posicionamento para reunir um aplicativo 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 em um conjunto de disponibilidade e o front-end em uma instância da série D, em um conjunto de escala, em um ú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, ele pode ser usado com máquinas virtuais, conjuntos de disponibilidade ou conjuntos de escala 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 posicionamento 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 de conjuntos de disponibilidade e conjuntos de escala de máquina virtual, você deve definir o grupo de posicionamento de proximidade no nível de recurso em vez das máquinas virtuais individuais.
Um grupo de colocação de proximidade é uma restrição de colocation em vez de um mecanismo de fixação. Ele é fixado a um data center específico com a implantação do primeiro recurso a usá-lo. Depois que todos os recursos que usam o grupo de posicionamento de proximidade tiverem sido interrompidos (deslocalizados) ou excluídos, ele não será mais fixado. Portanto, sempre que você usar um grupo de posicionamento de proximidade com várias séries de VMs, é importante especificar todos os tipos necessários antecipadamente em um modelo, se possível, ou seguir uma sequência de implantação, o que melhorará suas chances de uma implantação bem-sucedida. Se a implantação falhar, reinicie a implantação com o tamanho da VM, que falhou como o primeiro tamanho a ser implantado.
Usar a intenção para especificar tamanhos de VM
Você pode usar o parâmetro opcional intent
para fornecer os tamanhos de VM pretendidos para fazer parte do grupo de posicionamento de proximidade. Esse parâmetro pode ser especificado no momento da criação de um grupo de posicionamento de proximidade ou pode ser adicionado/modificado durante a atualização de um grupo de posicionamento de proximidade após a deslocalização de todas as VMs.
Ao especificar intent
o , você também pode adicionar o parâmetro opcional zone
para especificar uma zona de disponibilidade, indicando que o grupo de posicionamento de proximidade deve ser criado dentro de uma zona de disponibilidade específica. Observe 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 posicionamento de proximidade e não pode ser modificado posteriormente.
- O
zone
parâmetro só pode ser usado comintent
, ele não pode ser usado sozinho. - Apenas uma zona de disponibilidade pode ser especificada.
A criação ou atualização do Grupo de Posicionamento de Proximidade só terá êxito quando pelo menos um data center 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 em um grupo de posicionamento de proximidade. A intenção não fornece qualquer reserva de capacidade ou garantia. Os tamanhos de VM e a zona indicados em intent
são usados para selecionar um data center apropriado, reduzindo as chances de falha se o tamanho desejado da VM não estiver disponível em um data center. Falhas de alocação ainda podem ocorrer se não houver mais capacidade para um tamanho de VM no momento da implantação.
Nota
Para usar a intenção para seus grupos de posicionamento de proximidade, verifique se a versão da API é 2021-11-01 ou superior
Práticas recomendadas ao usar a intenção
- Forneça uma zona de disponibilidade para seu grupo de posicionamento de proximidade somente quando você fornecer uma intenção. Fornecer uma zona de disponibilidade sem intenção resultará em um erro ao criar o grupo de posicionamento de proximidade.
- Se você fornecer uma zona de disponibilidade na intenção, certifique-se de que a zona de disponibilidade das VMs implantadas corresponda ao especificado na intenção, para evitar erros durante a implantação de VMs.
- Criar ou adicionar VMs com tamanhos que não estão incluídos na intenção é permitido, mas não recomendado. O tamanho pode não existir no datacenter selecionado e pode resultar em falhas no momento da implantação da VM.
- Para grupos de posicionamento existentes, recomendamos que você inclua os tamanhos das VMs existentes ao atualizar a intenção, a fim de evitar falhas ao reimplantar as VMs.
A intenção pode ser afetada com o desmantelamento
- É possível que, depois de criar um grupo de posicionamento de proximidade com intenção e antes de implantar VMs, eventos de manutenção planejados, como descomissionamento de hardware em um datacenter do Azure, possam ocorrer, resultando na combinação de tamanhos de VM especificados na intenção não estar disponível no data center. Nesses casos, ocorrerá um erro "OverconstrainedAllocationRequest", mesmo durante a implantação de VMs de tamanhos especificados na intenção. Você pode tentar deslocalizar todos os recursos no grupo de posicionamento de proximidade e recriá-los para obter um data center que possa acomodar a intenção. Se não houver um datacenter com os Tamanhos de VM especificados após o encerramento, talvez seja necessário modificar a intenção de usar uma combinação diferente de Tamanhos de VM, já que a combinação de tamanhos de VM não é mais suportada.
- O Azure pode desativar uma família de VMs inteira ou um conjunto específico de tamanhos de VM. Se você tiver esse tamanho de VM na intenção, talvez seja necessário removê-lo ou substituí-lo por um tamanho diferente antes da data de desativação do tamanho original da VM. Caso contrário, a intenção deixará de ser válida.
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 poucos casos de utilização em que pode 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, uma segunda solicitação para um tamanho de VM diferente pode falhar se ela não existir nesse data center. Neste caso, é devolvido um erro OverconstrainedAllocationRequest. Para evitar esse erro, tente alterar a ordem em que você implanta seus tamanhos de VM ou tenha ambos os recursos implantados usando um único modelo ARM.
- Se o grupo de posicionamento de proximidade for criado com intenção, as VMs não precisarão ser implantadas em nenhuma ordem específica e não precisarão ser enviadas em lote usando um único modelo ARM, uma vez que a intenção é usada para selecionar um datacenter que ofereça suporte a todos os tamanhos de VM indicados na intenção.
- No caso de cargas de trabalho elásticas, em que você adiciona e remove instâncias de VM, ter uma restrição de grupo de posicionamento de proximidade em sua implantação pode resultar em uma falha em satisfazer a solicitação, resultando em 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 (deslocalizar) uma VM, iniciá-la novamente pode resultar em um 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 Colocação 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 movidos para um data center diferente, interrompendo as expectativas de colocação e latência associadas ao grupo de posicionamento 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 status de colocation do grupo de posicionamento de proximidade pode ser exibido usando o portal, a CLI e o PowerShell.
PowerShell - o status de colocation pode ser obtido por meio do cmdlet Get-AzProximityPlacementGroup incluindo o parâmetro opcional '-ColocationStatus'.
CLI - o status de colocation pode ser obtido através
az ppg show
da inclusão do parâmetro opcional '--include-colocation-status'.
Para cada grupo de posicionamento de proximidade, uma propriedade de status de colocation fornece o resumo do status 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 está deslocalizado. Depois de reiniciá-los com sucesso, o status deve voltar para Alinhado.
Não alinhado: pelo menos um recurso de VM não está alinhado com o grupo de posicionamento de proximidade. Os recursos específicos que não estão alinhados também serão chamados separadamente na seção de associação
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 posicionamento de proximidade for Not Aligned
, você poderá parar\deslocalizar e 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 implantação, talvez seja necessário parar\desalocar todos os recursos no grupo de posicionamento de 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, 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.
- Para evitar o uso de hardware que não suporta todos os tamanhos e SKUs de VM necessários, use a intenção para grupos de posicionamento de proximidade. Se for um grupo de posicionamento de proximidade já existente sem intenção, você poderá usar um único modelo ARM com todos os tamanhos de VM especificados para evitar esse problema.
- 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 sua primeira prioridade, coloque as VMs em um grupo de posicionamento de proximidade e toda a solução em uma zona de disponibilidade. Mas, se a resiliência for sua principal prioridade, distribua suas instâncias por várias zonas de disponibilidade (um único grupo de posicionamento de proximidade não pode abranger zonas).
Próximos passos
- Implante uma VM em um grupo de posicionamento de proximidade usando a CLI do Azure ou o PowerShell.
- Saiba como testar a latência da rede.
- Saiba como otimizar a taxa de transferência da rede.
- Saiba como usar grupos de posicionamento de proximidade com aplicativos SAP.