0

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 Powershell 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 PowerShell 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ı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

https://docs.microsoft.com/en-us/azure/virtual-machines/windows/tutorial-manage-vm

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

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

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.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir