Azure PowerShell kullanarak yakın yerleştirme gruplarına VM'leri dağıtma
Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Windows VM'leri
VM'leri mümkün olan en düşük gecikme süresine ulaşarak mümkün olduğunca yakın hale getirmek için 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ınlık yerleştirme 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 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 yakınlık yerleştirme gruplarının tümü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
New-AzVM kullanarak VM'yi oluştururken 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
Var olan bir VM'yi yakınlık yerleştirme grubuna da 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
Mevcut vm'yi yakınlık yerleştirme grubundan dışarı taşıma
Bir 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. Bir kullanılabilirlik kümesi oluşturmak için New-AzAvailabilitySet cmdlet'i ile 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 ö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
Mevcut ö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.