Azure RM PowerShell – Var Olan Network Üzerinde Imajdan VM Oluşturma

Merhaba,

Bu makalemde daha önce paylaştığım sample scriptlere bir tane daha eklemek istedim. Azure üzerinde Vm oluştururken var olan Vnet üzerinde hazır Windows Server 2016 Datacenter imajını kullanmak isterseniz aşağıdaki örnek scripti kullanabiliriniz. Script aynı zamanda yeni bir storage account oluşturarak boot diagnostic konfigürasyonu da yapıyor.

Aslında daha önce oluşturmuş olduğum scriptlerden çok farklı değil. Sadece yukarıda bahsettiğim bir kaç kısımda farklılıklar bulunuyor. Siz de gereksinimlerinize uygun olarak scripti düzenleyebilirsiniz.

Resim – 1

Script üzerine gerekli açıklamaları adım adım yaptım. Umarım işinize yarar.

Login-AzureRmAccount

#Var Olan Resource Group İsmi

$resourceGroupName =‘FRTVM02RG’

#Var olan Vnet ismi

$virtualNetworkName ‘FRTVNET’

#Vnet resource group

$virtualNetworkResourceGroup ‘FRTVMRG’

#Oluşturulacak VM’in ismi

$virtualMachineName ‘FRTVM02’

#Oluşturulacak VM’in size’ı

$virtualMachineSize ‘Standard_A1’

#Lokasyon

$location “WestEurope”

#VM Credential

$cred Get-Credential -Message “VM için kullanıcı adı ve parola giriniz.”

#Network security group ismi

$nsgName “FRTVM02-NSG”

#Network security group RDP rule

$nsgRuleName “RDP-Rule”

# Resource Group oluşturma işlemi

New-AzureRmResourceGroup -Name $resourceGroupName -Location $location

#Boot Diagnostic için Storage Account (Storage account ismini küçük harflerle yazdığınızdan emin olun)

$diagStorageAccount New-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -AccountName “frtdiagstorageaccount” -Location $location -SkuName “Standard_LRS”

#Public ip adresi

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

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

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

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

$nsgRuleRDP New-AzureRmNetworkSecurityRuleConfig -Name $nsgRuleName -Protocol Tcp `
-Direction Inbound -Priority 1000 -SourceAddressPrefix -SourcePortRange -DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Allow

#NSG’nin oluşturulmsı

$nsg New-AzureRmNetworkSecurityGroup -ResourceGroupName $resourceGroupName -Location $location -Name $nsgName -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 $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-AzureRmVMOperatingSystem -VM
$vmConfig -Windows -ComputerName $virtualMachineName -Credential $cred
$vmConfig Set-AzureRmVMSourceImage -VM $vmConfig -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter
-Version latest
$vmConfig Add-AzureRmVMNetworkInterface -VM $vmConfig -Id $nic.Id
$vmConfig Set-AzureRmVMBootDiagnostics -VM $vmConfig -Enable -ResourceGroupName $resourceGroupName -StorageAccountName $diagStorageAccount.StorageAccountName

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

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

Umarım işinize yarar.

Bir sonraki bölümde 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/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

Fırat

Yazı gezinmesi

Mobil sürümden çık