İlginizi Çekebilir
  1. Ana Sayfa
  2. Haberler
  3. Azure RM PowerShell – Var olan Disk ile Var olan Network Üzerinde Vm Oluşturma

Azure RM PowerShell – Var olan Disk ile Var olan Network Üzerinde Vm Oluşturma

Bir önceki bölümde full özelleştirilmiş şekilde Azure ARM mimarisinde 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ı https://forum.mshowto.org linkini kullanarak ulaşacağınız forum sayfamızda sorabilirsiniz.

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/overview

TAGs: powershell, , , , , , , , , ,

Yorum Yap

Yazar Hakkında

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.

Yorum Yap