Azure PowerShell kullanarak VM'leri yakın yerleştirme gruplarına dağıtma
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri
VM'leri mümkün olduğunca yakın hale getirmek ve mümkün olan en düşük gecikme süresini elde etmek için, bunları bir yakınlık yerleştirme grubu içinde dağıtmanız gerekir.
Yakınlık yerleştirme grubu, Azure işlem kaynaklarının fiziksel olarak birbirine yakın olduğundan emin olmak için kullanılan mantıksal bir gruplandırmadır. Yakın yerleştirilen gruplar, düşük gecikme süresinin gerekli olduğu iş yükleri için kullanışlıdır.
Yakınlık yerleştirme grubu oluşturma
New-AzProximityPlacementGroup cmdlet'ini kullanarak bir yakınlık yerleştirme grubu oluşturun.
$resourceGroup = "myPPGResourceGroup"
$location = "East US"
$ppgName = "myPPG"
$zone = "1"
$vmSize1 = "Standard_E64s_v4"
$vmSize2 = "Standard_M416ms_v2"
New-AzResourceGroup -Name $resourceGroup -Location $location
$ppg = New-AzProximityPlacementGroup `
-Location $location `
-Name $ppgName `
-ResourceGroupName $resourceGroup `
-ProximityPlacementGroupType Standard `
-Zone $zone `
-IntentVMSizeList $vmSize1, $vmSize2
Yakınlık yerleştirme gruplarını listeleme
Get-AzProximityPlacementGroup cmdlet'ini kullanarak tüm yakınlık yerleştirme gruplarını listeleyebilirsiniz.
Get-AzProximityPlacementGroup -ResourceGroupName $resourceGroup -Name $ppgName
ResourceGroupName : myPPGResourceGroup
ProximityPlacementGroupType : Standard
Id : /subscriptions/[subscriptionId]/resourceGroups/myPPGResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myPPG
Name : myPPG
Type : Microsoft.Compute/proximityPlacementGroups
Location : eastus
Tags : {}
Intent :
VmSizes[0] : Standard_E64s_v4
VmSizes[1] : Standard_M416ms_v2
Zones[0] : 1
VM oluşturma
Vm'yi oluşturmak için New-AzVM kullanırken yakınlık yerleştirme grubu kimliğine başvurmak için kullanarak -ProximityPlacementGroup $ppg.Id
yakınlık yerleştirme grubunda bir VM oluşturun.
$vmName = "myVM"
New-AzVm `
-ResourceGroupName $resourceGroup `
-Name $vmName `
-Location $location `
-ProximityPlacementGroup $ppg.Id
Get-AzProximityPlacementGroup komutunu kullanarak yerleştirme grubunda VM'yi görebilirsiniz.
Get-AzProximityPlacementGroup -ResourceId $ppg.Id |
Format-Table -Property VirtualMachines -Wrap
Mevcut vm'yi yakınlık yerleştirme grubuna taşıma
Yakınlık yerleştirme grubuna mevcut bir VM'yi de ekleyebilirsiniz. Önce VM'yi durdurmanız\serbest bırakmanız, ardından VM'yi güncelleştirmeniz ve yeniden başlatmanız gerekir.
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPGResourceGroup -Name myPPG
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Update-AzVM -VM $vm -ResourceGroupName $vm.ResourceGroupName -ProximityPlacementGroupId $ppg.Id
Start-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Var olan bir VM'yi yakınlık yerleştirme grubundan dışarı taşıma
Vm'yi yakınlık yerleştirme grubundan kaldırmak için önce VM'yi durdurmanız\serbest bırakmanız, ardından VM'yi güncelleştirmeniz ve yeniden başlatmanız gerekir.
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPGResourceGroup -Name myPPG
$vm = Get-AzVM -ResourceGroupName myResourceGroup -Name myVM
Stop-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
$vm.ProximityPlacementGroup = ""
Update-AzVM -VM $vm -ResourceGroupName $vm.ResourceGroupName
Start-AzVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName
Kullanılabilirlik Kümeleri
Yakınlık yerleştirme grubunuzda bir kullanılabilirlik kümesi de oluşturabilirsiniz. Kullanılabilirlik kümesi oluşturmak için New-AzAvailabilitySet cmdlet'iyle aynı -ProximityPlacementGroup
parametreyi kullanın; kullanılabilirlik kümesinde oluşturulan tüm VM'ler de aynı yakınlık yerleştirme grubunda oluşturulur.
Yakınlık yerleştirme grubuna mevcut bir kullanılabilirlik kümesini eklemek veya kaldırmak için önce kullanılabilirlik kümesindeki tüm VM'leri durdurmanız gerekir.
Mevcut kullanılabilirlik kümesini yakınlık yerleştirme grubuna taşıma
$resourceGroup = "myResourceGroup"
$avSetName = "myAvailabilitySet"
$avSet = Get-AzAvailabilitySet -ResourceGroupName $resourceGroup -Name $avSetName
$vmIds = $avSet.VirtualMachinesReferences
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Stop-AzVM -ResourceGroupName $resourceGroup -Name $vmName -Force
}
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPG -Name myPPG
Update-AzAvailabilitySet -AvailabilitySet $avSet -ProximityPlacementGroupId $ppg.Id
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Start-AzVM -ResourceGroupName $resourceGroup -Name $vmName
}
Mevcut kullanılabilirlik kümesini yakınlık yerleştirme grubundan taşıma
$resourceGroup = "myResourceGroup"
$avSetName = "myAvailabilitySet"
$avSet = Get-AzAvailabilitySet -ResourceGroupName $resourceGroup -Name $avSetName
$vmIds = $avSet.VirtualMachinesReferences
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Stop-AzVM -ResourceGroupName $resourceGroup -Name $vmName -Force
}
$avSet.ProximityPlacementGroup = ""
Update-AzAvailabilitySet -AvailabilitySet $avSet
foreach ($vmId in $vmIDs){
$string = $vmID.Id.Split("/")
$vmName = $string[8]
Start-AzVM -ResourceGroupName $resourceGroup -Name $vmName
}
Ölçek kümeleri
Yakınlık yerleştirme grubunuzda bir ölçek kümesi de oluşturabilirsiniz. Bir ölçek kümesi oluşturmak için New-AzVmss ile aynı -ProximityPlacementGroup
parametreyi kullanın; tüm örnekler aynı yakınlık yerleştirme grubunda oluşturulur.
Yakınlık yerleştirme grubuna mevcut bir ölçek kümesini eklemek veya kaldırmak için önce ölçek kümesini durdurmanız gerekir.
Mevcut bir ölçek kümesini yakınlık yerleştirme grubuna taşıma
$ppg = Get-AzProximityPlacementGroup -ResourceGroupName myPPG -Name myPPG
$vmss = Get-AzVmss -ResourceGroupName myVMSSResourceGroup -VMScaleSetName myScaleSet
Stop-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
Update-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName -ProximityPlacementGroupId $ppg.Id
Start-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
Var olan bir ölçek kümesini yakınlık yerleştirme grubundan dışarı taşıma
$vmss = Get-AzVmss -ResourceGroupName myVMSSResourceGroup -VMScaleSetName myScaleSet
Stop-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
$vmss.ProximityPlacementGroup = ""
Update-AzVmss -VirtualMachineScaleSet $vmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
Start-AzVmss -VMScaleSetName $vmss.Name -ResourceGroupName $vmss.ResourceGroupName
Sonraki adımlar
Yakınlık yerleştirme grupları oluşturmak için Azure CLI'yi de kullanabilirsiniz.