Azure Üzerinde Resource Taşıma İşlemleri – Subscription’lar Arası Managed Disk Taşıma

Merhaba,

Önceki makalelerimde taşıma ile ilgili bilgiler vermiş taşıma işlemlerinin nasıl yapılacağını göstermiştim. Bu makalemde de managed disklerin Subscription’lar arasında nasıl taşınacağından bahsedeceğim.

Bildiğiniz gibi Managed Diskler taşınamayan kaynaklar arasında gösteriliyor. Peki sanal makineyi taşımamız gerekiyorsa ve sanal makine Managed Disk’e sahipse ne yapmamız gerekiyor? Bu sorunun cevabı basit değil J Çünkü portal üzerinden Move seçeneğini kullanarak bunu yapmamız mümkün değil.

Bunun için PowerShell üzerinde aşağıdaki scripti çalıştırmamız gerekir. Bu script yardımı ile Managed Disk’in bir kopyasını hedef subscription’a taşımış olursunuz. Daha sonrasında bu kopya kullanılarak VM’oluşturup taşıma işlemini gerçekleştirmiş olursunuz.

Script’e ilişkin komut açıklamalarını her bir komutun üzerine yazdım.

#Managed Diskin bulunuduğu kaynak subscription Id’si.

$sourceSubscriptionId=’yourSourceSubscriptionId’

# Managed Diskin bulunuduğu kaynak resource group ismi.

$sourceResourceGroupName=’mySourceResourceGroupName’

#Taşınacak managed disk’in ismi.

$managedDiskName=’myDiskName’

#Managed diskin bulunduğu subscription context’ini get edelim.

Select-AzureRmSubscription -SubscriptionId $sourceSubscriptionId

#Managed diski get edelim.

$managedDisk= Get-AzureRMDisk -ResourceGroupName $sourceResourceGroupName -DiskName $managedDiskName

#Managed diskin taşınacağı hedef subscription Id’si. (Eğer managed disk aynı subscription içerisinde farklı resource group’a taşınacak ise bu adım atlanabilir.)

$targetSubscriptionId=’yourTargetSubscriptionId’

#Managed diskin kopyalanacağı hedef resource group ismi.

$targetResourceGroupName=’myTargetResourceGroupName’

#Hedef subscription’I get edelim. (Eğer işlemler aynı subscription’da yapılacak ise bu adım atlanabilir)

Select-AzureRmSubscription -SubscriptionId $targetSubscriptionId

#Managed disk’i kullanıp hedef subscription için konfigürasyon kopyası oluşturalım.

$diskConfig = New-AzureRmDiskConfig -SourceResourceId $managedDisk.Id -Location $managedDisk.Location -CreateOption Copy

#Hedef subscription ve resource group içerisinde managed disk kopyasını oluşturalım.

New-AzureRmDisk -Disk $diskConfig -DiskName $managedDiskName -ResourceGroupName $targetResourceGroupName

Bu işlemlerin ardından managed diskin bir kopyası istenilen subscription ve resource group içerisinde oluşturulacaktır. Bu işlemlerin ardından yapılması gereken iş Managed Disk üzerinden yeni bir VM oluşturma işlemidir.

Bunun için Azure portal üzerinden aşağıdaki şekilde olduğu gibi Managed Disk bölümüne gelerek ve Create VM seçeneğini seçerek gerekli parametreleri vermek yeterli olacaktır.

Resim – 1

Eğer bunun yerine powershell’i kullanmak isterseniz, var olan bir Managed Disk üzerinden VM oluşturma işlemini aşağıdaki script yardımı ile kolaylıkla yapabilir siniz. Komutlar ile ilgili açıklamayı script içerisinde yaptım.

#Subscription ID’si.

$subscriptionId = ‘SubscriptionId’

#Resource group ismi.

$resourceGroupName =’ResourceGroup İsmi’

#Managed Disk ismi

$diskName = ‘Managed Disk ismi’

#Managed disk lokasyonu. (VM ile aynı yerde olmak zorunda)

$location = ‘westeurope’

#VM’in bulunacağı Vnet ismi

$virtualNetworkName = ‘VirtualNetwork İsmi’

#VM’in ismi

$virtualMachineName = ‘VM İsmi’

#VM’in size’ı

#Lokasyonda bununan size bilgisini get etmek için ; Get-AzureRmVMSize -Location westus

$virtualMachineSize = ‘Standard_DS3′

#Managed diskin bulunduğu subscription context’i.

Select-AzureRmSubscription -SubscriptionId $SubscriptionId

#Resource group ismi ve disk ismini kullanarak managed disk’i get etme işlemi.

$disk =  Get-AzureRmDisk -ResourceGroupName $resourceGroupName -DiskName $diskName

#Vm konfigürasyonunu set etme işlemi.

$VirtualMachine = New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize

#OS disk için disk bilgisini,işletim sistemini ve VM konfigürasyonunu set etme.

$VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -ManagedDiskId $disk.Id -CreateOption Attach -Windows

#Vm için public Ip adresini set etme.

$publicIp = New-AzureRmPublicIpAddress -Name ($VirtualMachineName.ToLower()+’_ip’) -ResourceGroupName $resourceGroupName -Location $location -AllocationMethod Dynamic

#VM’in bulunacağı vnet’i get etme işlemi.

$vnet = Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupName

# Vnet’in ilk subnetine bağlı nic oluşturma

$nic = New-AzureRmNetworkInterface -Name ($VirtualMachineName.ToLower()+’_nic’) -ResourceGroupName $resourceGroupName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $publicIp.Id

#Nic’i VM’e attach etme.

$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $nic.Id

#Managed disk ile VM’i oluşturma.

New-AzureRmVM -VM $VirtualMachine -ResourceGroupName $resourceGroupName -Location $location

Hepsi bu kadar J Bu şekilde managed disk’lerin bir subscription içerisinde yada subscription’lar arasında taşıma işlemlerini, daha doğru tabirle kopyalama işlemlerini yapabilirsiniz.

Bir sonraki makalede görüşmek üzere.

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-us/azure/virtual-machines/scripts/virtual-machines-windows-powershell-sample-copy-managed-disks-to-same-or-different-subscription

https://docs.microsoft.com/en-us/azure/virtual-machines/scripts/virtual-machines-windows-powershell-sample-create-vm-from-managed-os-disks

Fırat

TAGs: Azure ARM, Azure Resource Manager Move Process, Azure ARM Move, Move Azure Resource to another subscription,Azure resource copy, Move ASM to ARM, Azure Resource Manager Powershell, Azure ARM Move limitation,ARM Infrastructure, Move Managed Disk from one one subscription to another,Managed Disk Copy Options

Yazı gezinmesi

Mobil sürümden çık