Azure PowerShell Örnekleri – Azure’a Bir VHD Yüklemek ve Yeni Bir VM Oluşturmak

Bu komut, yerel bir .vhd dosyasını genelleştirilmiş bir VM’den alır ve Azure’ye yükler, Yönetilen Disk görüntüsü oluşturur ve onu kullanarak yeni bir VM oluşturur.

Bu örneği çalıştırabilmeniz için, Azure PowerShell modülünün 5.1.1 veya sonraki sürümünü gerektirir. Sahip olduğunuz sürümü bulmak için Get-Module -ListAvailable AzureRM komutunu çalıştırın.

Azure ile bağlantı oluşturmak için Login-AzureRmAccount komutunu çalıştırın.

# Provide values for the variables
$resourceGroup = ‘myResourceGroup’
$location = ‘EastUS’
$storageaccount = ‘mystorageaccount’
$storageType = ‘Standard_LRS’
$containername = ‘mycontainer’
$localPath = ‘C:\Users\Public\Documents\Hyper-V\VHDs\generalized.vhd’
$vmName = ‘myVM’
$imageName = ‘myImage’
$vhdName = ‘myUploadedVhd.vhd’
$diskSizeGB = ‘128’
$subnetName = ‘mySubnet’
$vnetName = ‘myVnet’
$ipName = ‘myPip’
$nicName = ‘myNic’
$nsgName = ‘myNsg’
$ruleName = ‘myRdpRule’
$vmName = ‘myVM’
$computerName = ‘myComputerName’
$vmSize = ‘Standard_DS1_v2’

# Get the username and password to be used for the administrators account on the VM.
# This is used when connecting to the VM using RDP.

$cred = Get-Credential

# Upload the VHD
New-AzureRmResourceGroup -Name $resourceGroup -Location $location
New-AzureRmStorageAccount -ResourceGroupName $resourceGroup -Name $storageAccount -Location $location `
-SkuName $storageType -Kind “Storage”
$urlOfUploadedImageVhd = (‘https://’ + $storageaccount + ‘.blob.core.windows.net/’ + $containername + ‘/’ + $vhdName)
Add-AzureRmVhd -ResourceGroupName $resourceGroup -Destination $urlOfUploadedImageVhd `
-LocalFilePath $localPath

# Note: Uploading the VHD may take awhile!

# Create a managed image from the uploaded VHD
$imageConfig = New-AzureRmImageConfig -Location $location
$imageConfig = Set-AzureRmImageOsDisk -Image $imageConfig -OsType Windows -OsState Generalized `
-BlobUri $urlOfUploadedImageVhd
$image = New-AzureRmImage -ImageName $imageName -ResourceGroupName $resourceGroup -Image $imageConfig

# Create the networking resources
$singleSubnet = New-AzureRmVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix 10.0.0.0/24
$vnet = New-AzureRmVirtualNetwork -Name $vnetName -ResourceGroupName $resourceGroup -Location $location `
-AddressPrefix 10.0.0.0/16 -Subnet $singleSubnet
$pip = New-AzureRmPublicIpAddress -Name $ipName -ResourceGroupName $resourceGroup -Location $location `
-AllocationMethod Dynamic
$nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName $resourceGroup -Location $location `
-SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id
$rdpRule = New-AzureRmNetworkSecurityRuleConfig -Name $ruleName -Description ‘Allow RDP’ -Access Allow `
-Protocol Tcp -Direction Inbound -Priority 110 -SourceAddressPrefix Internet -SourcePortRange * `
-DestinationAddressPrefix * -DestinationPortRange 3389
$nsg = New-AzureRmNetworkSecurityGroup -ResourceGroupName $resourceGroup -Location $location `
-Name $nsgName -SecurityRules $rdpRule
$vnet = Get-AzureRmVirtualNetwork -ResourceGroupName $resourceGroup -Name $vnetName

# Start building the VM configuration
$vm = New-AzureRmVMConfig -VMName $vmName -VMSize $vmSize

# Set the VM image as source image for the new VM
$vm = Set-AzureRmVMSourceImage -VM $vm -Id $image.Id

# Finish the VM configuration and add the NIC.
$vm = Set-AzureRmVMOSDisk -VM $vm -DiskSizeInGB $diskSizeGB -CreateOption FromImage -Caching ReadWrite
$vm = Set-AzureRmVMOperatingSystem -VM $vm -Windows -ComputerName $computerName -Credential $cred `
-ProvisionVMAgent -EnableAutoUpdate
$vm = Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id

# Create the VM
New-AzureRmVM -VM $vm -ResourceGroupName $resourceGroup -Location $location

# Verify that the VM was created
$vmList = Get-AzureRmVM -ResourceGroupName $resourceGroup
$vmList.Name

 

Komut Açıklamaları

Komut Notlar
New-AzureRmResourceGroup Tüm kaynakların depolandığı bir kaynak grubu oluşturur.
New-AzureRmStorageAccount Depolama hesabı oluşturur.
Add-AzureRmVhd Kurum içi bir sanal makineden Azure’daki bir bulut depolama hesapındaki bir bloğa sanal bir sabit disk yükler.
New-AzureRmImageConfig Yapılandırılabilir bir görüntü nesnesi oluşturur.
Set-AzureRmImageOsDisk Bir görüntü nesnesinde işletim sistemi disk özelliklerini ayarlar.
New-AzureRmImage Yeni bir imaj oluşturur.
New-AzureRmVirtualNetworkSubnetConfig Bir alt ağ yapılandırması oluşturur. Bu yapılandırma, sanal ağ oluşturma işlemi ile birlikte kullanılır.
New-AzureRmVirtualNetwork Sanal bir ağ oluşturur.
New-AzureRmPublicIpAddress Public bir IP adresi oluşturur.
New-AzureRmNetworkInterface Bir ağ arabirimi oluşturur.
New-AzureRmNetworkSecurityRuleConfig Bir ağ güvenliği grubu kuralı yapılandırması oluşturur. Bu yapılandırma, NSG oluşturulduğunda bir NSG kuralı oluşturmak için kullanılır.
New-AzureRmNetworkSecurityGroup Bir ağ güvenliği grubu oluşturur.NSG.
Get-AzureRmVirtualNetwork Bir kaynak grubunda sanal bir ağ alır.
New-AzureRmVMConfig Bir VM yapılandırması oluşturur. Bu yapılandırma, VM adı, işletim sistemi ve yönetici kimlik bilgileri gibi bilgileri içerir. Yapılandırma VM oluşturulurken kullanılır.
Set-AzureRmVMSourceImage Sanal makine için bir imaj belirtir.
Set-AzureRmVMOSDisk Sanal makine üzerinde işletim sistemi disk özelliklerini ayarlar.
Set-AzureRmVMOperatingSystem Sanal makine üzerinde işletim sistemi disk özelliklerini ayarlar.
Add-AzureRmVMNetworkInterface Bir sanal makineye ağ arabirimi ekler.
New-AzureRmVM Sanal makine oluşturur.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.