İlginizi Çekebilir
  1. Ana Sayfa
  2. Microsoft Azure
  3. Azure RM PowerShell – Basit VM Oluşturma ve Yönetme

Azure RM PowerShell – Basit VM Oluşturma ve Yönetme

Merhaba,

Kısa bir aranın ardından yeni bir makale serisi ile karşınızdayım. Bu seriyi uzun süredir yazmak istiyordum. Sonunda başlama fırsatı bulmuş oldum 🙂 Bu seride ile Azure VM yönetiminden bahsedeceğim. Bildiğiniz gibi VM oluşturma ve yönetme işlemleri Azure portal üzerinden de kolaylıkla yapılabilir. Ancak daha hızlı ve daha özelleştirilebilir konfigürasyonlar Azure ile mümkün.

Öncelikle konfigürasyonlara başlamadan önce AzureRM powershell modülünün versiyonunu kontrol etmekte fayda var. Daha önce yüklememişseniz zaten powershell get kullanarak son versiyonu kolaylıkla makinenize yükleyebilirsiniz.

Kısaca powershell get’ten bahsetmek gerekirse, PowerShell get powershell gallery üzerinden modulleri otomatik olarak bilgisayarınıza indirmeyi sağlar. Böylece Modülleri download edip import etme gibi bir iş de ortadan kalkmış olur. Powershell get Windows 10 ve Windows Server 2016 ile birlikte gelmektedir, daha eski işletim sistemleri için WMF 5.0’ın yüklenmesi gerekir.

Yüklü olan PowerShell Get versiyonunu görüntülemek için aşağıdaki komutu kullanabilirsiniz.

Get-Module -Name PowerShellGet -ListAvailable | Select-Object -Property Name,Version,Path

Resim -1

Powershell Get’i güncellemek için de aşağıdaki komutu kullanabilir siniz.

Install-Module PowerShellGet –Force

Bu işlemlerin ardından AzureRM PowerShell modülünün kurulumuna başlayabiliriz. Powershell Get kullanarak aşağıdaki komutu çalıştıralım.

Resim – 2

Eğer daha önceden AzureRM modülü yüklü ise, bunun versiyonuna bakmamız gerekir. Anlatacağım işleri yapabilmeniz için AzureRM Powershell module 5.3 ve üzeri olmalıdır. Daha önceden yüklüyse ve bunu update etmek istiyorsanız komutun sonuna –AllowClobber tagını koymam yeterli olacaktır.

Install-Module -Name AzureRM –AllowClobber

Sonradında modülü import etmek için aşağıdaki komutu çalıştırabilirsiniz.

Import-Module -Name AzureRM

Şimdi temel işleri tamamlamış olduk. Öncelikle New-AzureRmVM komutuna sadece makine ismi vererek sanal makine oluşturabilirsiniz. Bu sample bir sanal makine olacaktır. Oluşturacağı sanal makineye ait özellikler aşağıdaki gibidir;

$cred = Get-Credential -Message
“Enter a username and password for the virtual machine.”

New-AzureRmVM -Name SampleVM -Credential
$cred

Sample Makine Özellikleri:

  • Disk managed premium 128
  • Size (Standard DS1 v2 (1 vcpu, 3.5 GB memory)
  • Windows Server 2016 Datacenter

Şimdi biraz daha özelleştirerek makineyi create edelim. Tabi bu işlemi yapmadan önce makineye ait bileşenleri barındıracak resource group’u oluşturalım.

New-AzureRmResourceGroup -Name ResourceGroupName -Location WestEurope

Bu işlemin ardından aşağıdaki paramereleri vererek sanal makineyi oluşturalım.

New-AzureRmVm
-ResourceGroupName "myResourceGroup"
-Name “myVM”
-Location "East US"
-VirtualNetworkName “myVnet”
-SubnetName "mySubnet"
-SecurityGroupName “myNetworkSecurityGroup”
-PublicIpAddressName "myPublicIpAddress"
-OpenPorts 80,3389

Makine oluşturulduktan sonra public ip’sini get etmek için aşağıdaki komutu kullanalım.

Get-AzureRmPublicIpAddress -ResourceGroupName myResourceGroup | Select IpAddress

Ardından mstsc’ye ip adresini vererek rdp otorumunu başlatabiliriz.

mstsc /v:<publicIpAddress>

Şimdi burada belli parametreleri verdik ancak halen tam anlamıyla özelleştirmiş değiliz. Bunun için biraz daha özelleştirme yaparak devam edelim.

Kurulum sırasında kullanacağımız imajı da belirleyebiliriz. Azure market place üzerinde her firmanın kendi için yayınladığı imajlar bulunuyor.Bunları görüntülemek için aşağıdaki komutu çalıştırabiliriz. Bu bize oldukça uzun bir liste verecektir.

#Imaj yayınlayan firmalar

Get-AzureRmVMImagePublisher -Location “WestEurope”

Resim – 3

Belli bir firmaya ait imajları görüntülemek için aşağıdaki komutu kullanabilirsiniz. Örneğin Microsoft Windows Server ile ilgili imajları tiplerini görüntülemek için aşağıdaki komutu kullanabilirsiniz.

Get-AzureRmVMImageOffer -Location “WestEurope” -PublisherName “MicrosoftWindowsServer”

Resim – 4

Ardından eğer belirli tipteki imajları listelemek için de aşağıdaki komutu kullanabilirsiniz.

Get-AzureRmVMImageSku -Location “WestEurope” -PublisherName “MicrosoftWindowsServer” -Offer“WindowsServer”

Resim – 5

Ardından –ImageName parametresine aşağıdaki gibi imaj ismini yazarak VM oluşturma aşamasında belirli bir imajı da seçebilirsiniz.

New-AzureRmVm
-ResourceGroupName "myResourceGroupVM"
-Name “myVM2”
-Location "East US"
-VirtualNetworkName “myVnet”
-SubnetName "mySubnet"
-SecurityGroupName “myNetworkSecurityGroup”
-PublicIpAddressName "myPublicIpAddress2"
-ImageName “MicrosoftWindowsServer:WindowsServer:2016-Datacenter-with-Containers:latest”
-Credential $cred
-AsJob

Yukarıdaki komutta kullanılan –AsJob parametresi VM oluşturma işinin arka planda bir batch olarak çalışmasını sağlayacaktır.

Makine oluşturulduktan sonra aşağıdaki komutu kullanarak makinenin durumu hakkında bilgi alabilirsiniz.

Get-AzureRmVM
-ResourceGroupName "myResourceGroupVM"
-Name “myVM” `
-Status | Select @{n=“Status”; e={$_.Statuses[1].Code}}


Resim – 6

Makinenin başlatılması, kapatılması ve silinmesi için de aşağıdaki temel komutları kullanabilirsiniz.

Makine’yi durdurmak için;

Stop-AzureRmVM -ResourceGroupName “myResourceGroupVM” -Name “myVM” –Force

Makineyi başlatmak için;

Start-AzureRmVM -ResourceGroupName “myResourceGroupVM” -Name “myVM”

Makineyi silmek için;

Remove-AzureRmResourceGroup -Name “myResourceGroupVM” –Force

Bu bölümde AzureRM powershell modülündeki makine oluşturma komutlarında bahsetmiş olduk. Bir sonraki bölümde bu süreci biraz daha özelleştirerek devam edeceğiz.

Görüşmek üzere.

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/tutorial-manage-vm

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

Fırat

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