Powershell ile Azure Yonetimi – IaaS – Part 8 – Snapshot Kullanarak VM Olusturmak

Var olan bir VM’nin o anlik Snapshot’unu alip daha sonra bu snapshot’u kullanarak yeni bir disk olusturabilirsiniz. Sonrasinda bu yeni diskleri kullanarak yeni VM’ler olusturabilirsiniz.

Ben once var olan bir VM’nin imajini Powershell ile nasil alacagimizi gosterecegim. Akabinde yeni bir Snapshot olustuktan sonra bu Snaphot’u kullanarak yeni bir VM olusturacagim.

Once VM’nin disk snapshot’unu almakla basliyorum.

[crayon]
$DiskAdi=(Get-AzureRmVM -ResourceGroupName ResourceGroup001 -Name VM001).StorageProfile.OsDisk.Name
$Disk = Get-AzureRmDisk -ResourceGroupName ResourceGroup001 -DiskName $DiskAdi
$SnapshotKonfigurasyonu = New-AzureRmSnapshotConfig -SourceUri $Disk.Id -CreateOption Copy -Location “EastUS”
$Snapshot=New-AzureRmSnapshot -Snapshot $SnapshotKonfigurasyonu -SnapshotName VMSNAPSHOT001 -ResourceGroupName ResourceGroup001
[/crayon]

Bakalim snapshot olustu mu?

[crayon]
Get-AzureRmSnapshot -SnapshotName VMSNAPSHOT001 -ResourceGroupName ResourceGroup001 | select DiskSizeGB, Name, Location
[/crayon]

Simdi bu Snapshot’u kullanarak yeni bir managed disk olusturacagim. Boylece bu disk ile yeni bir VM olusturabilecegim.

[crayon]
$YeniOSDiskKonfigurasyonu = New-AzureRmDiskConfig -AccountType “Standard_LRS” -Location “EastUS” -CreateOption Copy -SourceResourceId $Snapshot.Id
$YeniOSDisk=New-AzureRmDisk -Disk $YeniOSDiskKonfigurasyonu -ResourceGroupName ResourceGroup001 -DiskName YeniVMDisk01
[/crayon]

Artik Managed Disk de olustuguna gore yeni bir VM olusturabilirim. Bunun icin var olan bir VNet kullanarak yeni bir network Interface Card olusturacagim ve az once olusturdugum Managed Disk ile birlikte yeni VM’yi bu bilesenlerle olusturacagim.

[crayon]
$VirtualNetwork = Get-AzureRmVirtualNetwork -Name VirtualNetwork001 -ResourceGroupName ResourceGroup001
$NetworkInterface = New-AzureRmNetworkInterface -Name “YeniVMNIC01” -ResourceGroupName ResourceGroup001 -Location “EastUS” -SubnetId $VirtualNetwork.Subnets[0].Id
$VM = New-AzureRmVMConfig -VMName YENIVM001 -VMSize “Standard_DS2_v2”
$VM = Set-AzureRmVMOSDisk -VM $VM -ManagedDiskId $YeniOSDisk.Id -CreateOption Attach -Windows
$VM = Add-AzureRmVMNetworkInterface -VM $VM -Id $NetworkInterface.Id
$VM = Set-AzureRmVMBootDiagnostics -VM $VM -Disable
New-AzureRmVM -VM $VM -ResourceGroupName ResourceGroup001 -Location “EastUS”
[/crayon]

Ve VM hazir!