Azure Automation – Part 3.1:Runbook Kullanımı

Azure Automation – Part 3.1:Runbook Kullanımı

by Hasan GÜRAL, 26 Mayıs 2017

Giriş yazımızda başında basit bir Runbook yazarak tasarruf edebileceğimizden bahşetmiştik. Artık bu Runbook aktivitesini yazmaya başlayalım. Altyapı gereği Azure üzerinde hizmet veren sunucularınız olduğunu ve bunların sadece mesai saatleri (08:00 – 19:00 ) içerisinde hizmet verdiğini düşünerek çıktığımız bu yolda ilgili Runbook aktivitelerini yazmaya geçmeden önce kısaca neler yapacağımız adımlarımıza bakalım.

  • Automation Account içerisin de gerekli Assets oluşturulacak.
  • Runbook aktiviteleri oluşturulacak. ( StartVM ve StopVM )
  • Runbook aktiviteleri schedule bir şekilde ayarlanacak.

Azure hesabımız içerisinde Automation Account olduğunuz varsayıp ilk adımımız olan Asset sekmesinden değişkenlerimizi tanıtalım. Tanıtacağımız değişkenlerin tipleri şu şekilde olacaktır;

Asset Name

Type

Details

ServiceAccount Credential Azure Automation içerisinden Azure kaynaklarınıza erişmesi içi gerekli hesap bilgileridir.
SubscriptionId Variable -String İşlem yapılmak istenen Azure hesabının seçilmesi için oluşturuldu.
StartSchedule Schedule Start-VM adında Runbook aktivitesini Schedule etmek için oluşturulmuştur.
StopSchedule Schedule Stop-VM adında Runbook aktivitesini Schedule etmek için oluşturulmuştur.

Yukarıdaki değişkenleri oluştururken Azure Portal üzerinden veya Azure Powershell Module ile gerçekleştirebilirsiniz. Ben ilk olarak “ServiceAccount” isimli değişkeni Portal içerisinden oluşturacağım. Azure Portal içerisindeyken ilgili Automation Account içerisine girilir ve Assets sekmesinden “Add Settings” seçilerek tanımlamaya başlanır.

“Add Settings” seçtikten sonra, “ServiceAccount” değişkenimiz için seçilecek olan tipi “Credential” belirterek devam edelim. Burada dikkatinizi çekmek istediğim bir nokta var, “User Name” kısmına girmiş olduğum Account ilgili Azure Subscription içerisinde “Co-administrator” olarak yetkiye sahiptir. Bu yetkinin sebebi Runbook içerisinde yazılan tüm Workflow süreçlerini bu hesap ile Azure üzerinde oturum açılarak yapılmasıdır.

Portal üzerinden “ServiceAccount” değişkenimizi oluşturduktan sonra, bundan sonraki oluşturacağımız diğer değişkenlerimizi Powershell üzerinden oluşturalım ve ellerimizi kirletelim. Bunun için Azure Powershell Module ve hesabınızı Powershell içerisine tanıtmanız gerekiyor. Blog içerisinde bu yazı size yol gösterecektir. Tanımlamamız gereken değişkenler tablosunda geriye kalan tüm hepsini Powershell ile tanıtalım. Powershell yapısından kaynaklı olarak verb-noun ile yolarak çıktığımızda “New” sözcüğünü kullanarak başlıyoruz. “New-AzureAutomationVariable, New-AzureAutomationSchedule” cmdletleri bizlerin ihtiyacını karşılamakta ve ihtiyacım olan tüm değişkenleri Powershell üzerinden oluşturabiliriz.

Yukarıdaki Powershell Cmdletleri kullanırken parametre olarak “AutomationAccount” göndermemizin sebebi, Azure hesabınız içerisinde birden fazla Automation Account olmasından dolayı belirttik. Dikkat ettiyseniz değişken tiplerine göre farklı cmdlet kullandım ve açıkllamalarını yazdım. Azure Portal içerisinden Asset sekmesine giderek değişkenlerin oluşturulduğunu görelim.

Asset bölümü için tanımlamalarımızı tamamladık, Runbook aktivitelerimizi oluşturma kısmına geçebiliriz. Powershell ortamını kullanarak iki adet “StartVM” ve “StopVM” adında Runbook aktivitesi oluşturalım. Portal üzerinden Runbook oluşturmak için bir önceki yazımıza bakabilirsiniz.

Powershell aracılığı ile Runbook aktivitelerini oluşturulduğunu görmek için Portal üzerinden kontrol ediyorum.

Genel anlamıyla sürecimizin tasarımıyla ilgili olan Assets ve Runbook aktivitesi oluşturma işlemlerini tamamladık. Bir sonraki yazımız da Powershell Workflow kod bloklarını yazıp, Schedule kısmına odaklanıyor olacağız.