Tworzenie grupy umieszczania w pobliżu przy użyciu programu PowerShell
Uwaga
Wiele kroków wymienionych w tym dokumencie dotyczy zestawów skalowania maszyn wirtualnych przy użyciu trybu jednolitej aranżacji. Zalecamy używanie elastycznej orkiestracji dla nowych obciążeń. Aby uzyskać więcej informacji, zobacz Tryby orchesration dla zestawów skalowania maszyn wirtualnych na platformie Azure.
Umieszczenie maszyn wirtualnych w jednym regionie zmniejsza odległość fizyczną między wystąpieniami. Umieszczenie ich w jednej strefie dostępności spowoduje również fizyczne zbliżenie ich do siebie. Jednak wraz ze wzrostem zużycia zasobów platformy Azure pojedyncza strefa dostępności może obejmować wiele fizycznych centrów danych, co może spowodować opóźnienie sieci wpływające na aplikację.
Aby uzyskać możliwie najbliższe maszyny wirtualne, można wdrożyć je w grupie umieszczania w pobliżu.
Grupa umieszczania w pobliżu to logiczne grupowanie używane do upewnienia się, że zasoby obliczeniowe platformy Azure znajdują się fizycznie blisko siebie. Grupy umieszczania w pobliżu są przydatne w przypadku obciążeń, w których wymagane jest małe opóźnienie.
- Małe opóźnienie między autonomicznymi maszynami wirtualnymi.
- Małe opóźnienie między maszynami wirtualnymi w jednym zestawie dostępności lub zestawie skalowania maszyn wirtualnych.
- Małe opóźnienie między autonomicznymi maszynami wirtualnymi, maszynami wirtualnymi w wielu zestawach dostępności lub wieloma zestawami skalowania. Możesz mieć wiele zasobów obliczeniowych w jednej grupie umieszczania, aby połączyć aplikację wielowarstwową.
- Małe opóźnienie między wieloma warstwami aplikacji przy użyciu różnych typów sprzętu. Na przykład uruchomienie zaplecza przy użyciu serii M w zestawie dostępności i frontonu w wystąpieniu serii D w zestawie skalowania w jednej grupie umieszczania w pobliżu.
Używanie grup umieszczania w pobliżu
Grupa umieszczania w pobliżu to zasób na platformie Azure. Należy go utworzyć przed użyciem go z innymi zasobami. Po utworzeniu można go używać z maszynami wirtualnymi, zestawami dostępności lub zestawami skalowania maszyn wirtualnych. Grupę umieszczania w pobliżu należy określić podczas tworzenia zasobów obliczeniowych zapewniających identyfikator grupy umieszczania w pobliżu.
Możesz również przenieść istniejący zasób do grupy umieszczania w pobliżu. Podczas przenoszenia zasobu do grupy umieszczania w pobliżu należy najpierw zatrzymać (cofnąć przydział) zasobu, ponieważ zostanie on ponownie wdrożony w innym centrum danych w regionie, aby spełnić ograniczenie kolokacji.
W przypadku zestawów dostępności i zestawów skalowania maszyn wirtualnych należy ustawić grupę umieszczania w pobliżu na poziomie zasobu, a nie poszczególnych maszyn wirtualnych.
Grupa umieszczania w pobliżu jest ograniczeniem kolokacji, a nie mechanizmem przypinania. Jest on przypięty do określonego centrum danych przy użyciu wdrożenia pierwszego zasobu. Po zatrzymaniu (cofnięciu przydziału) lub usunięciu wszystkich zasobów korzystających z grupy umieszczania w pobliżu nie jest już przypięta. W związku z tym w przypadku korzystania z grupy umieszczania w pobliżu z wieloma seriami maszyn wirtualnych ważne jest, aby określić wszystkie wymagane typy z góry w szablonie, jeśli jest to możliwe, lub postępować zgodnie z sekwencją wdrażania, co zwiększy twoje szanse na pomyślne wdrożenie. Jeśli wdrożenie zakończy się niepowodzeniem, uruchom ponownie wdrożenie z rozmiarem maszyny wirtualnej, który nie powiódł się jako pierwszy rozmiar do wdrożenia.
Czego można oczekiwać w przypadku korzystania z grup umieszczania w pobliżu
Grupy umieszczania w pobliżu oferują kolokację w tym samym centrum danych. Jednak ponieważ grupy umieszczania w pobliżu stanowią dodatkowe ograniczenie wdrożenia, mogą wystąpić błędy alokacji. Istnieje kilka przypadków użycia, w których mogą wystąpić błędy alokacji podczas korzystania z grup umieszczania w pobliżu:
- Gdy zapytasz o pierwszą maszynę wirtualną w grupie umieszczania w pobliżu, zostanie automatycznie wybrane centrum danych. W niektórych przypadkach drugie żądanie innej jednostki SKU maszyny wirtualnej może zakończyć się niepowodzeniem, jeśli nie istnieje w tym centrum danych. W takim przypadku zwracany jest błąd OverconstrainedAllocationRequest. Aby tego uniknąć, spróbuj zmienić kolejność wdrażania jednostek SKU lub wdrożyć oba zasoby przy użyciu jednego szablonu usługi ARM.
- W przypadku obciążeń elastycznych, w których dodajesz i usuwasz wystąpienia maszyn wirtualnych, ograniczenie grupy umieszczania w pobliżu we wdrożeniu może spowodować niepowodzenie spełnienia żądania, co spowoduje błąd AllocationFailure .
- Zatrzymywanie (cofnięcie przydziału) i uruchamianie maszyn wirtualnych w zależności od potrzeb jest innym sposobem zapewnienia elastyczności. Ponieważ pojemność nie jest przechowywana po zatrzymaniu (cofnięciu przydziału) maszyny wirtualnej, jej ponowne uruchomienie może spowodować błąd AllocationFailure .
- Operacje uruchamiania i ponownego wdrażania maszyny wirtualnej będą nadal uwzględniać grupę umieszczania w pobliżu w przypadku pomyślnego skonfigurowania.
Planowana konserwacja i grupy umieszczania w pobliżu
Zdarzenia planowanej konserwacji, takie jak likwidowanie sprzętu w centrum danych platformy Azure, mogą potencjalnie wpłynąć na wyrównanie zasobów w grupach umieszczania w pobliżu. Zasoby mogą zostać przeniesione do innego centrum danych, zakłócając oczekiwania dotyczące kolokacji i opóźnienia skojarzone z grupą umieszczania w pobliżu.
Sprawdzanie stanu wyrównania
Możesz wykonać następujące czynności, aby sprawdzić stan wyrównania grup umieszczania w pobliżu.
Stan kolokacji grupy umieszczania w pobliżu można wyświetlić przy użyciu portalu, interfejsu wiersza polecenia i programu PowerShell.
W przypadku programu PowerShell można uzyskać stan kolokacji przy użyciu polecenia cmdlet Get-AzProximityPlacementGroup, włączając opcjonalny parametr "-ColocationStatus".
W przypadku interfejsu wiersza polecenia można uzyskać stan kolokacji przy użyciu funkcji
az ppg show
dołączania parametru "--include-colocation-status".
Dla każdej grupy umieszczania w pobliżu właściwość stanu kolokacji zawiera bieżące podsumowanie stanu wyrównania pogrupowanych zasobów.
Wyrównane: zasób znajduje się w obrębie tego samego opóźnienia grupy umieszczania w pobliżu.
Nieznany: co najmniej jeden z zasobów maszyny wirtualnej jest co najmniej przydział maszyny wirtualnej. Po pomyślnym uruchomieniu stan powróci do pozycji Wyrównane.
Nie wyrównane: co najmniej jeden zasób maszyny wirtualnej nie jest zgodny z grupą umieszczania w pobliżu. Określone zasoby, które nie są wyrównane, będą również wywoływane oddzielnie w sekcji członkostwa
W przypadku zestawów dostępności można wyświetlić informacje o wyrównaniu poszczególnych maszyn wirtualnych na stronie Przegląd zestawu dostępności.
W przypadku zestawów skalowania informacje o wyrównaniu poszczególnych wystąpień można zobaczyć na karcie Wystąpienia na stronie Przegląd zestawu skalowania.
Ponowne dopasowywanie zasobów
Jeśli grupa umieszczania w pobliżu to Not Aligned
, można zatrzymać\cofnąć przydział, a następnie ponownie uruchomić objęte zasoby. Jeśli maszyna wirtualna znajduje się w zestawie dostępności lub zestawie skalowania, przed ponownym uruchomieniem wszystkie maszyny wirtualne w zestawie dostępności lub zestawie skalowania muszą zostać zatrzymane\cofnięto przydział.
Jeśli wystąpi błąd alokacji z powodu ograniczeń wdrożenia, może być konieczne zatrzymanie\cofnięcie przydziału wszystkich zasobów w grupie umieszczania w pobliżu , w tym wyrównanych zasobów), a następnie ponowne uruchomienie ich w celu przywrócenia wyrównania.
Najlepsze rozwiązania
- Aby uzyskać najmniejsze opóźnienie, użyj grup umieszczania w pobliżu wraz z przyspieszoną siecią. Aby uzyskać więcej informacji, zobacz Tworzenie maszyny wirtualnej z systemem Linux z przyspieszoną siecią lub Tworzenie maszyny wirtualnej z systemem Windows z przyspieszoną siecią.
- Wdróż wszystkie rozmiary maszyn wirtualnych w jednym szablonie. Aby uniknąć lądowania na sprzęcie, który nie obsługuje wszystkich potrzebnych jednostek SKU i rozmiarów maszyn wirtualnych, uwzględnij wszystkie warstwy aplikacji w jednym szablonie, aby wszystkie były wdrażane w tym samym czasie.
- Jeśli skrypty wdrożenia są tworzone przy użyciu programu PowerShell, interfejsu wiersza polecenia lub zestawu SDK, może wystąpić błąd
OverconstrainedAllocationRequest
alokacji. W takim przypadku należy zatrzymać/cofnąć przydział wszystkich istniejących maszyn wirtualnych i zmienić sekwencję skryptu wdrażania, aby rozpocząć od jednostki SKU/rozmiarów maszyny wirtualnej, które zakończyły się niepowodzeniem. - Po ponownym użyciu istniejącej grupy umieszczania, z której maszyny wirtualne zostały usunięte, przed dodaniem maszyn wirtualnych poczekaj na pełne zakończenie usuwania.
- Jeśli opóźnienie jest pierwszym priorytetem, umieść maszyny wirtualne w grupie umieszczania w pobliżu i całe rozwiązanie w strefie dostępności. Jeśli jednak odporność jest twoim priorytetem, należy rozłożyć wystąpienia w wielu strefach dostępności (pojedyncza grupa umieszczania w pobliżu nie może obejmować stref).
Tworzenie grupy umieszczania w pobliżu
Utwórz grupę umieszczania w pobliżu przy użyciu polecenia 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
Wyświetlanie listy grup umieszczania w pobliżu
Listę wszystkich grup umieszczania w pobliżu można wyświetlić przy użyciu polecenia cmdlet Get-AzProximityPlacementGroup .
Get-AzProximityPlacementGroup
Tworzenie zestawu skalowania w grupie umieszczania w pobliżu
Ważne
Od listopada 2023 r. zestawy skalowania maszyn wirtualnych utworzone przy użyciu programu PowerShell i interfejsu wiersza polecenia platformy Azure będą domyślnie ustawiać tryb elastycznej orkiestracji, jeśli nie określono trybu aranżacji. Aby uzyskać więcej informacji na temat tej zmiany i akcji, które należy wykonać, zobacz Zmiana powodująca niezgodność dla klientów programu PowerShell/interfejsu wiersza polecenia usługi VMSS — Microsoft Community Hub
Utwórz skalę w grupie umieszczania w pobliżu przy użyciu polecenia , -ProximityPlacementGroup $ppg.Id
aby odwoływać się do identyfikatora grupy umieszczania w pobliżu, gdy do utworzenia zestawu skalowania jest używany new-AzVMSSS.
$scalesetName = "myVM"
New-AzVmss `
-ResourceGroupName $resourceGroup `
-Location $location `
-OrchestrationMode "Uniform" `
-VMScaleSetName $scalesetName `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-PublicIpAddressName "myPublicIPAddress" `
-LoadBalancerName "myLoadBalancer" `
-ProximityPlacementGroup $ppg.Id
Wystąpienie można wyświetlić w grupie umieszczania przy użyciu polecenia Get-AzProximityPlacementGroup.
Get-AzProximityPlacementGroup `
-ResourceId $ppg.Id | Format-Table `
-Wrap `
-Property VirtualMachineScaleSets
Następne kroki
Interfejs wiersza polecenia platformy Azure umożliwia również tworzenie grup umieszczania w pobliżu.