0

Bir önceki bölümde full özelleştirilmiş şekilde Azure ARM mimarisinde PowerShell kullanarak nasıl sanal makine oluşturacağınızı anlatmıştım. Bu bölümde de var olan bir disk ve vm kulanılarak nasıl sanal makine oluşturacağınızdan bahsedeceğim. Diğer makale gibi adım adım anlatmayacağım. Çünkü çoğu adım diğer ile aynı. Değişen bir kaç kısım var onları ele alacağım. Zaten scriptin üzerinde her komuta ilişkin komutun ne yaptığını içeren açıklamalar da bulunuyor.

Resim – 1

Scriptte farklı olarak var olan managed diski get etmek için aşağıdaki komut kullanılmıştır.

#Var olan managed diskin değişkene atanması

$disk Get-AzureRmDisk -DiskName $osDiskName -ResourceGroupName $resourceGroupName

Aynı şekilde var olan vnet bilgisini elde etmek için de aşağıdaki komut kullanılarak vnet bilgisi değişkene atanmıştır.

#Varolan vnet’in değişkene atanması

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

Son olarak da imajdan yeni bir kurulum yapılmadığı için storage profile’ına aşağıdaki komut ile disk bilgisi işlenmiştir. Bu komut ile diskin var olan bir managed disk olduğu, windows işletim sistemine sahip olduğu ve VM oluşturma işlemi sırasında sanal makineye attach edileceği belirtilmiştir.

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

Bunlar dışındaki tüm config’ler bir önceki makalemde ayrıntılı olarak anlattıklarımla aynı. O yüzden aynı şekilde ekran görüntüleri kullanarak anlatmadım.

Scriptin tamamı aşağıdaki gibidir.

Login-AzureRmAccount

#Var Olan Resource Group İsmi

$resourceGroupName =‘TestRG2’

#Var olan managed OS disk ismi

$osDiskName ‘FRTVM01_OsDisk_1_eaf059cbc8b84c85961a24bd9053cfa6’

#Var olan Vnet ismi

$virtualNetworkName ‘FRTVNET’

#Oluşturulacak VM’in ismi

$virtualMachineName ‘FRTVM02’

#Oluşturulacak VM’in size’ı

$virtualMachineSize ‘Standard_A1’

#Var olan managed diskin değişkene atanması

$disk Get-AzureRmDisk -DiskName $osDiskName -ResourceGroupName $resourceGroupName

#Public ip adresi

$publicIp New-AzureRmPublicIpAddress -Name ($VirtualMachineName.ToLower()+‘_ip’) -ResourceGroupName $resourceGroupName 

-Location $disk.Location -AllocationMethod Dynamic

#Varolan vnet’in değişkene atanması

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

#NSG için rdp kuralının oluşturulması

$nsgRuleRDP New-AzureRmNetworkSecurityRuleConfig -Name NSGRuleRDP-Protocol Tcp `

-Direction Inbound -Priority 1000 -SourceAddressPrefix -SourcePortRange -DestinationAddressPrefix * `

-DestinationPortRange 3389 -Access Allow

#NSG’nin oluşturulmsı

$nsg New-AzureRmNetworkSecurityGroup -ResourceGroupName $resourceGroupName -Location $disk.Location -Name FRTVM02-NSG -SecurityRules $nsgRuleRDP

#vnet,public ip ve nsg’nin kullanılıp VM’e ait Nic oluşturulması

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

#VM konfigürasyonlarının belirlenmesi

$vmConfig New-AzureRmVMConfig -VMName $virtualMachineName -VMSize $virtualMachineSize

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

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

#VM’in var olan managed disk ile var olan network’te oluşturulması

New-AzureRmVM -VM $vmConfig -ResourceGroupName $resourceGroupName -Location $disk.Location

Bu scriptte diğerinden farklı olarak $location değişkeni kullanmadım. Var olan diskin lokasyonu neresi ise bütün bileşenleri orada oluşturmak adına diskin lokasyonunu $disk.location ile elde edip komutlarda kullandım. Bunun yerine lokasyona ilişkin bir değişken atanıp da kullanılabilirdi. Ben herhangi bir yanlışlık olmaması açısından bu şekilde kullandım.

Ek olarak diskin bulunduğu resource group’un ismini de değişken olarak atadım. (Bir önceki makalede her şeyi sıfırdan oluşturduğumuz için resource group’u da script içerisinde oluşturmuştuk. Burada diskin bulunduğu resource group’u kullandık)

Özetle yukarıdaki script ile var olan bir disk kullanarak var olan bir network içerisinde sanal makine oluştuma işlemini kolaylıkla yapabilir siniz.

Kolay Gelsin.

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/windows/overview

TAGs: powershell, Azure Rm Powershell Module, Create Azure VM , Create Azure RM VM with Powershell, Azure RM VM via powershell, Create Azure virtual machine via powershell, Powershell Azure VM Command, Azure RM Module, Manage azure vm with powershell, Azure Powershell, Powershell Module for Azure

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Sakarya doğumludur. İstanbul Üniversitesi’nde Matematik/Fen ve Teknoloji öğretmenliğini bitirmiştir. Yüksek lisansını Sakarya Üniversitesi Bilgisayar Mühendisliği’nde yapmıştır. Bilişim sektöründe çeşitli firmalarda sistem ve network sorumlusu olarak çalışmıştır. Bazı kurumlarda sistem ve network üzerine uzmanlık eğitimleri vermiştir. Şu anda Netaş şirketinde kurumsal danışman olarak görev yapmaktadır. Microsoft System Center ürünleri, Powershell ve Azure teknolojileri ile ilgilenmektedir. 2016 yılında Microsoft tarafından Cloud and Datacenter alanında MVP unvanını almıştır.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir