Azure Azure Storage

Azure’daki Mevcut Diski (Managed Diski) Kullanılarak VM Oluşturma

Avatar
Written by Emre Martin

Selamlar;

Bu makalede elimizdeki mevcut bir Managed Disk’i (OS diski) kullanarak nasıl yeni bir VM oluşturabiliriz onu inceleyeğiz.

Senaryomuz şu şekilde olsun;

  • Azure üzerinde  bir sanal makinanız var (Managed disk’e sahip) ve bu sanal makinayı portal üzerinden “Delete” yaparak sildiniz. (Portal üzerinden herhangi bir sanal makinayı  “Delete” yaparak sildiğiniz  zaman ilgili makinaya ait diskler ilgili resource group altında saklanır, silinmezler)
  • Ve  ilerleyen zamanlarda aynı diski kullanarak tekrardan yeni bir sanal makinaya oluşturmak istiyorsunuz. Yani mevcut diski yeni oluşturacağımız sanal makinaya attach etmek istiyorsunuz (OS Diski olarak)
  • Unmanaged Disk kullanıyor olsaydık bir storage account’ımız olacaktı ve makinaya ait diskimiz  “.vhd” şekliyle burda duruyor olacaktı ancak managed disk kullandığımız zaman işler biraz değişiyor. Ortamda bir storage account yok resourge group altına  baktığınız zaman VM’e ait diskimizi burada görebiliyoruz.

 

Create VM with Managed disk

Aşağıdaki PowwerShell komutları ile sahip olduğunuz  diski kullanarak yeni bir VM oluşturabilirsiniz; 

 #Çalışacağımız Subscription'ımızı seçiyoruz.
Get-AzureRmSubscription - Subscription Listesinin çekilmesi
Select-AzureRmSubscription -SubscriptionName "MySubscriptionName"

#Sanal makinaya attach etmek disk'imizi tanımlıyoruz.
#Resource group altından disk'in ismini bulabilirsiniz.
$diskName = "test"

#Diskimizin bulunduğu resource grup'umuzu tanımlıyoruz.
$resourceGroupName ="emre-martin"

Attact Managed Disk to VM

#Disk boyutu belirtiyoruz (Mevcut disk boyutu ile aynı olmalıdır)
$diskSize = "128"

Attact Managed Disk to VM

#Storage performans tier'imizi belirtiyoruz (PremiumLRS yada StandardLRS)
$accountType ="StandardLRS"

#Oluşturulacak VM için lokasyon tanımı yapıyorız
#Bu lokasyon mevcut managed disk lokasyonu ile aynı olmalıdır.
$location = "West Europe"

Attact Managed Disk to VM

#Sanal makinamızın kullanacağı virtual network'ümüzü tanımlıyoruz.
$virtualNetworkName = "emre-martin"

#Oluşturulacak sanal makinamıza bir isim veriyoruz.
$virtualMachineName ="Test"

#Region'unuzdaki seçilebilir VM listesine görüntülemek için
#Get-AzureRmVMSize -Location "westus" 

#Sanal makinamızın boyutunu belirtiyoruz.
$virtualMachineSize ="Standard_A1"

#Değişkenlerde tanımlamış olduğumuz VM configurasyonunu yüklüyoruz.
$VirtualMachine = New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize

#Managed Disk'imizi attach ediyoruz.
$VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -ManagedDiskId $disk.Id -StorageAccountType $accountType -DiskSizeInGB $diskSize -CreateOption Attach -Windows

#Sanal makinamız için public IP oluşturuyoruz.
$publicIp = New-AzureRmPublicIpAddress -Name ($VirtualMachineName.ToLower()+'_ip') -ResourceGroupName $resourceGroupName -Location $location -AllocationMethod Dynamic

#Sanal makinamızın kullanacağı virtual network'ü seciyoruz.
$vnet = Get-AzureRmVirtualNetwork -Name $virtualNetworkName -ResourceGroupName $resourceGroupName

#Sanal makinamız için network interface card (NIC) oluşturuyoruz.
$nic = New-AzureRmNetworkInterface -Name ($VirtualMachineName.ToLower()+'_nic') -ResourceGroupName $resourceGroupName -Location $location -SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $publicIp.Id
$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $nic.Id

#Sanal makinamız create edilirken boot diagnostics için kullanılacak storage account'umuzu tanımlıyoruz.
$stDiagName="storageasremre"
Set-AzureRmVMBootDiagnostics -VM $VirtualMachine -Enable -ResourceGroupName $resourceGroupName -StorageAccountName $stDiagName

#Managed Disk'imizi kullanarak sanal makinamızı deploy ediyoruz.
New-AzureRmVM -VM $VirtualMachine -ResourceGroupName $resourceGroupName -Location $location

Azure Portal üzerinden “Virtual Machine” kısmına baktığınız zaman VM’inizin oluşturulduğunu görebilirsiniz.

 

 

Yazar Hakkında

Avatar

Emre Martin

Cloud Solutions Architect