Category: Automation

Azure CloudShell ile VM’ler uzerinde komut kosturmak

Azure CloudShell Azure Yonetimi konusunda gercekten super bir cozum. Browser icinden butun Azure kaynaklarini rahatca yonetebilmenizi saglayan bu tumlesik Powershell cozumunun en cok kullanilan ve en yeni komutlarindan iki tanesine bakalim oyleyse.

Azure uzerindeki VM’lere CloudShell icinden baglanarak istedigimiz butun komutlari sanki VM’nin uzerindeymisiz gibi kosturabiliriz.

Bunun icin once baglanacagimiz ve yonetecegimiz VM’nin “PSremoting” servisini aktif hale getirmeliyiz. Bu islem arka planda VM uzerinde WinRM servisini acarak, ilgili Firewall ayarlarini da bizim icin yapiyor.

Artik baglantiyi kurabiliriz. Bunun icin once VM’ye baglanmak icin kullanilacak kullanici adi ve parolayi bir degisken icine kaydediyoruz. Bunun icin Get-credential komutunu kullanacagim.

Ve sira baglantiya geldi. Baglandim ve sanki o makine uzerindeymisim gibi komutlarimi calistiriyorum.

Isin guzelligi, tum bunlar browser icinden!

MS Ignite The Tour Londra’da Azure Cloud Shell anlattim

2019 senesi seminerler ve webinerler acisindan son derece hizli basladi ve oldukca Zengin gececege benziyor dogrusu.

26 ve 27 Subat tarihlerinde London ExCel’de MS Ignite The Tour’da 2 farkli oturumda yer aldim ve Ask the Expert Demo istasyonlarinda hem Powershell ve Azure Cloud Shell ile ilgili sorularinizi yanitlamaya calistim.

Muhtesem gecen bu 2 gunun ardindan yeni etkinliklerin hazirliklarina basladim bile. Cok yakinda yeni etkinlikleri de buradan duyuracagim.

Tum destegi olan arkadaslarima tesekkur ediyorum.

Azure CloudShell ile Calismaya Baslamak

Powershell’in Azure Portal icinde butunlesik olarak sunuldugu ve gercekten cok onemli ozelliklerle donatilmis bir platform dusunun. Bunu adi CloudShell.

Kendi bilgisayarinizda bulunan ve surekli guncellemek zorunda oldugunuz Powershell ile kiyaslandiginda hem bakim onarim gereksinimi duymamasi hem de icinde tumlesik olarak gelen bir cok modul ve ozellik barindiran bir Powershell versiyonu! Kulaga hos geliyor elbette

Bunu aktif hale getirmek icin Azure Portal icinde sag ust kosede bulunan PowerShell simgesine tiklamak ve yonergeleri izlemek yeterli.

Cok zor bir soru degil benim icin. Powershell seciyorum!

Peki simdi ne oldu?

Bir adet storage account olusturulgu ya da var olan bir tane kullanildi. Storage account icine 5GB boyutunda bir profil paylasimi olusturuldu. Bu da demek oluyor ki; Powershell oturumu permanent! Yani yaptiginiz degisiklikler silinmiyor. Profil dosyaniz, scriptleriniz ve dosyalariniz hep orada. Evet, nereye giderseniz gidin Browser’I acip Azure Portal’a baglandiginizda ayni deneyime her yerden sahip olabilirsiniz.

Sanki dosya sistmeinde gezer gibi Azure kaynaklari icinde gezebilirsiniz. Buna SHIPS destegi sayesinde sahip oluyoruz aslinda. Simple Hierarchy in Powershell!

Bir de bonus komut vereyim

Get-AzCommand

Bu komutun en guzel yani o anda icinde bulundugunuz dizinin icindeki kaynaklaara gore kullanabileceginiz komutlari listelemesi. Ornegin asagidaki ekranda ben VM’lerin icinde bulundugu sanal dizinde oldugum icin Get-AzCommand bana sadece Az.Compute modulunun icindeki komutlari listeliyor.

Powershell ile Azure Resource Group icindeki Loglara Erismek

Herhangi bir Resource group icinde basarisiz olan aksiyonlari listelemek icin asagidaki tek satiri kullanabilirsiniz.

Gerci yukaridaki Succeeded filtresine gerek yoktu ama oyle icimden geldi, koyayim dedim. Bir zarari yok nihayetinde.

Azure VM Detaylarini Dosyaya Yazdirmak

Azure VM’lerin hepsini ozet olarak listeleyip CSV olarak kaydetmek istediginizde asagidaki komutu kullanabilirsiniz. Hatta Azure uzerinde zamanlanmis gorevler ile bu raporlarin her gun calisarak belirlediginiz bir storage account icine kaydedilmesini de saglayabilirsiniz.

Simdi de export edelim.

Powershell ile Azure Yonetimi – IaaS – Part 11 – VM Scale Set Olusturmak

Scale Set’ler (bundan sonra SS diyecegim) ile tek VM imajini kullanarak birden fazla klonlanmis VM’yi bir arada kullanabilirsiniz. Aslinda bu ozellik bir VM’nin kaynaklarina bir yuklenme oldugunda otomatik olarak ayni konfigurasyon ve dataya sahip yeni bir VM’nin oyuna dahil edilmesi anlamina gelir. Yogunluk gectiginde ise fazladan eklenen VM otomatik olarak ortadan kaldirilir. Bu sayede 1000 adet VM’ye kadar otomatik yuk kontrolu (Auto Scale) saglanabilir. SS olustururken, kullanacagimiz VM imajini da belirleriz. Dilersek custom bir imaj da tanimlayabiliriz. Oyle ya bazen istediginiz butun yazilimlari kurup bir imaj hazirlarsiniz ve tum VM’lerde bu Imajin kullanilmasini istersiniz. Ben, bu ornekte Azure marketplace imaji kullanacagim.

Windows Server 2015 imajim ile birlikte VM SS kuruldu. Asil onemli olan bu SS’nin icinde ka cadet VM gozuktugu ya da gozukecegi. Bu durum icin cesitli kurallar kullaniyoruz. Mesela en az 2 VM olsun ancak bunlarin CPU seviyesi yuzde 80’nin ustune cikarsa o zaman ucuncu bir VM daha olusturulsun ve bu boyle yukariya dogru devam edip gitsin diyebiliriz. Yogunluk azaldiginda alinacak aksiyon icin de yine CPU seviyesi belirli bir duzeyin altina inerse fazladan acilan VM’ler kapatilsin diyebilecegiz.

Simdi oncelikle Scale Set icindeki VM’lere bir goz atalim.

Goruldugu gibi su anda 2 adet VM hazir ve calisir durumda Gelecek gorevleri bekliyor.

Simdi manuel olarak SS icindeki VM’lerin adedini arttiracagim. Bu islemi manuel olarak yapiyorum.


Simdi bakalim kac VM gorunuyor ve ne durumdalar.

Evet 3 kisi oldular!

Simdi SS icinde bulunan VM’ler uzerindeki yuk artarsa ne olacagini belirlemek icin AutoScale ozelligini configure edecegim. Boylece belirledigim kurallara gore SS icindeki VM sayisi otomatik olarak artacak ya da azalacak.

Asagidaki kurallarla birlikte sunu diyorum:

CPU yuzde 80’nin ustune cikarsa 1 tane daha VM ekle, yuzde 20’nin altina inerse fazla VM’yi kapat.

Powershell ile Azure Yonetimi – IaaS – Part 10 – Availability Set Olusturmak

Availbility Set cok basit olarak VM’lerin mantiksal gruplama icin kullanilir. Availibility Set’ler (bundan sonra AS diyecegim) ile VM’lerin birden fazla fiziksel sunucu uzerinde barindirilmasini garanti etmis olursunuz. Boylece Azure alt yapisinda yapilan bir calisma ya da sunucu guncellestirmeleri gibi durumlar sebebiyle Restart edilecek sunucularin ayni anda Offline duruma dusmediginden emin olmus olursunuz. Son derece mantikli aslina bakarsaniz.

VM’nizi olustururken bir AS’ye eklemek icin asagidaki adimlari izleyecegiz. Oncelikle yeni bir AS olusturacagiz.

Yukaridaki komutta dikkat edilmesi gereken konu FaultDomain ve UpdateDomain bilgisidir. Ayni UpdateDomain icindeki VM’ler ayni anda Restart edilebilir cunku farkli fiziksel sunucular uzerindedirler ve ayni sunucuyu, guc unitesini ve network ekipmanlarini paylasirlar. Ayni FaultDomain icindeki sunucular ise

Yeni bir VM olustururken daha onceden olusturdugumuz AS’nin icine olusturmak istersek asagidaki komutlara ihtiyacimiz bulunuyor.

Bakalim AS icinde yeni VM’miz gorunuyor mu?

Powershell ile Azure Yonetimi – IaaS – Part 9 – Bitlocker ile VM Sifreleme (Encryption)

Her ne kadar managed disk kullandiginizda storage seviyesinde sifrelemeye sahip olsaniz da yine de disk sifrelemeyi alternatif cozum olarak kullanabilirsiniz.
Bunun icin, managed disk kullanan bir VM’ye ihtiyacimiz var. Bununla bitmiyor elbette. Sifreleme operasyonlarini yerine getirmek icin uygun yetkilere sahip bir Azure AD application ihtiyacimiz da var. Son olarak sifreleme operasyonunun kendisini yerine getirmek ve sifreleme anahtarlarini muhfaza edecek bir Key Vault da gerekiyor. Tum bunlara sahipsek baslayabiliriz. Ben bu yazida KeyVault’u da yeni olusturacagim.
Once Azure AD’yi olusturalim.


Uygulama olustuktan sonra yeni bir Key Vault olusturup bu uygulamaya Key Vault uzerinde yetki vermeye geldi sira.


Artik hem uygulama hazir hem Key Vault hazir hem de Key Vault uzerindeki yetkiler hazir. Simdi VM uzerinde sifreleme operasyonunu baslatabiliriz.


VM kendini restart edecek ve akabinde BitLocker drive encryption operasyonu baslayacak. Bu operasyon saatlerce surebilir ancak arka planda yapildigi icin BM uzerinde devam eden isleriniz icin bir sorun olusturmayacaktir.

Ve bitti. Kontrol edelim.


Guzel.

PowerShell ile Windows Defender Firewall Yonetimi

PowerShell ile Windows Defender Firewall Yonetimi yapabilmek icin asagidaki cmdlet’lere ihtiyacimiz bulunuyor.

New-NetFirewallRule
Set-NetFirewallRule
Get-NetFirewallRule
Remove-NetFirewallRule
Rename-NetFirewallRule
Copy-NetFirewallRule
Enable-NetFirewallRule
Disable-NetFirewallRule
Get-NetFirewallProfile
Set-NetFirewallProfile

PowerShell 5.1 bilgisayarinizda yukluyse kaygilanmaniza zaten gerek yok.

Baslayalim.

New-NetFirewallRule

Set-NetFirewallRule & Get-NetFirewallRule