Azure Virtual Machine Extensions

Bu makalemizde değineceğimiz Konulardan birisi Azure ortamınızdaki Sanal Makineleriniz için Extension yani Uzantı kavramını açıklayarak , Bu Sanal Makine özelliği ile Sanal Makine üzerinde hangi işlemleri gerçekleştirebilirsiniz. Bunları detaylandırarak , Kısa bir uygulama gerçekleştiriyor olacağız.

Organizasyon yapınızdaki Azure ortamında Sanal Makineleri oluşturmak , Kaldırmak veya Bakımlarını yapmak bazı zamanlarda bize iş yükü oluşturabilmekte . Bu işlemler bir müddet sonra Organizasyonun Sistem Yöneticisi için Hem Rutin bir iş hemde bazı durumlarda gereksiz zaman kaybı olabilmektedir. Microsoft Azure bu rutin işlemlerle alakalı bize kolaylık sağlayabilmek için : Oluşturma, Kaldırma ve benzeri tüm işlemleri otomatize etmemize imkan tanımaktadır.

Azure Virtual Machine Extensions yani Azure Sanal Makine Uzantıları , Sanal Makine konfigüre işlemlerini tamamladıktan sonra Sanal Makine Deployment yani Dağıtım işlemi sonrası gerçekleşen küçük uygulamalar olarak tanımlayabiliriz. Bu küçük Uygulama Azure Sanal Makinenizde belirlediğiniz , Oluşturduğunuz Scriptlere göre otomasyon işlemlerinizi gerçekleştirmektedir.

Konuyu daha da detaylandıracak olursak ;

Örnek olarak Azure ortamınızdaki Sanal Makinenize Yazılım kurulumu gerekiyorsa , Antivirüs Yazılımları , Servislerin çalışmasını sağlayan çeşitli ajanlar , Sürücüler , Yedekleme uygulamaları ve daha fazlası Virtual Machine Extension olarak kullanılabilmektedir.

Azure Sanal Makine Uzantıları , ARM yani Azure Resource Manager , Azure CLI , Azure Powershell ve Portal üzerinden yönetilebilmektedir.

Azure Sanal Makine Uzantıları , Azure ortamınızda Yeni bir Sanal Makine oluşturduğunuzda konfigüre edildiği takdirde içerisinde yer alacak şekilde oluşmaktadır.

Azure Ortamınızda bulunan Windows ve Linux işletim sistemli makineler için birbirinden farklı Third Party ürünler bulunmaktadır. Bunlar gün geçtikçe daha da çok artmaktadır. Şuan Microsoft Azure Cloud ortamının sağlamış olduğu Sanal Makine Uzantılarını sıralayarak kısaca işlevlerinin neler olduğunu açıklamak istiyorum :

O halde Azure VM Extension ile alakalı uygulama gerçekleştirelim :

İlk olarak Sanal Makine kurulumlarını önceki makalemde anlatıldığı gibi gerçekleştirerek yapınızdaki Sanal Makineyi Power on duruma getiririz.

İlgili Sanal makinede amacımız Azure VM Extension ile Web Server yani ilgili sunucuya Powershell Script ile Web Server IIS Kurulumu sağlamak. Sanal Makine açıldığında “ Server Manager “ pencerisinde Script çalıştırıyor olacağımız Sunucuda kontrollerimi sağlamak için “ Add roles and features “ seçeneğini seçeriz.

Role kurulumlarını kontrol edebilmemiz için “ Next “ seçeneği ile devam ederiz.

Microsoft IIS Role kurulumunu kontrol edeceğimiz için “ Role-based or feature-based installation “ seçeneğini işaretleyerek “ Next “ seçeneğini seçeriz.

Role kontrollerinin sağlanacağı sunucumuzu seçerek “ Next “ seçeneğini seçeriz.

ve aşağıdaki sunucu rolleri alanında görüldüğü üzere “ Web Server ( IIS ) “ rolünün yüklü olmadığını görürüz.

“ Get-windowsfeature -name web-server “ Powershell komutu ile Web Server rolünün sunucuda kurulabilmesi mümkün mü ? mümkün değil mi ? Bunun kontrolünü sağladığımızda “ Available “ durumda olduğunu görürüz. Yani kurulabilir anlamında olduğunu incelemiş olduk.

Sanal Makine üzerinde kontrollerimizi gerçekleştirdiğimize göre işlemlere başlayabiliriz. İlk Azure portalımızdan yapacağımız extension konfigürasyonlarında kullanabileceğimiz bir kısa Script düzenleyerek , .ps1 uzantılı dosya oluştururuz. Oluşturmuş olduğumuz Scripti kendi kişisel bilgisayarımıza kaydedebiliriz.

Oluşturmuş olduğumuz .ps1 uzantılı dosyamızı masaüstümüzde oluştuğunu görmüş oluruz.

Azure Portalına geri dönerek yazmış olduğumuz Script dosyasının Sanal Makinemizde uygulanması için Portal ekranına gideriz. Azure Portalından “ Settings “ bölümü altında bulunan “ Extensions + applications “ konfigürasyon seçeneğini seçeriz. “ MSIIS “ adındaki Sanal Makinemize “ Extensions “ eklemek için “ Add “ seçeneğini seçeriz.

Makalemin başında sıraladığım Agent’lar ve Extension’ları görürüz. Bunların arasında bu uygulamamızda kullanacağımız extension “ Custom Script Extension “ seçeneğini seçerek ilerleriz.

“ Custom Script Extension “ bölümünü seçtikten sonra “ Next “ seçeneğini seçeriz.

“ Script File “ yükleyebilmemiz için yapımızda Storage Account olması gerekmektedir. Hazırlamış olduğumuz Script dosyasını Storage Account’umuza yüklüyor olacağız.

Microsoft Azure Portal sayfasına tekrardan geri dönerek , Azure Portal Arama Çubuğumuza “ Storage Accounts “ yazarak servislerden “ Storage accounts “ seçeneğini seçeriz.

“ ozdemir “ adlı storage account’umuzun üzerine tıklayarak devam ederiz.

“ Storage Account “ içeriğine girdikten sonra dosya yükleyeceğimiz  Container içeriğine girmek için “ Data storage bölümünden “ Containers “ seçeneğini seçerek “ İmages “ adındaki container objesine tıklayarak içeriğine gireriz.

“ images “ adındaki container içeriğine script ekleme işlemimiz için “ upload “ seçeneğini seçeriz. ardından sağ tarafta açılan ekranda Klasör simgesine tıklarız.

Hazırlamış olduğumuz Web Server rol script dosyamızı seçerek blob halde Container’ımıza ekleriz.

“ Files “ alanına yüklemiş olduğumuz .ps1 uzantılı dosyamız yüklenmiştir.  “ Upload “ seçeneğini seçerek ilgili script dosyamızı container’a yükleme işlemini başlatırız.

Script dosyamızın yüklenme işlemi başarıyla tamamlanmıştır.

Aynı Extension ekleme ekranımıza geri dönerek “ Browse “ seçeneğini seçeriz .

“ ozdemir “ storage account seçeneğine tıklayarak içeriğine gireriz.

Powershell Script dosyasını “ images “ adındaki container ekleme sağlamıştık. İçeriğine girerek devam ederiz.

“ Web-Server_Extenisions.ps1 “ adındaki dosyamızı seçerek “ Select “ seçeneğine tıklarız.

Extension yükleme için gerekli olan “ Script File “ kutucuğuna dosyamızı ekledik. “ Arguments “ kutucuğuna dilediğimiz isimlendirmeyi sağlayarak “ Review + create “ seçeneğini seçeriz.

Ardından Extension konfigürasyonlarımızda herhangi bir problem bulunmadığının bilgisini alırız. “ Create “ seçeneğini seçeriz.

Oluşturma işlemlerinin başladığını görmüş oluruz.

Deployment işlemleri sürmektedir.

Extension deployment işlemleri tamamlanmıştır. Extension bölümümüze gitmek için “ Go to Resource “ seçeneğini seçerek devam ederiz.

Custom Script Extension yükleme işleminin başarıyla gerçekleştiğini görmüş oluruz.

Oluşturmuş olduğumuz Extension öğesinin yani Powershell script’inin “ Provisioning succeeded “ durumu ile başarıyla gerçekleştiğini görmüş oluruz.

Sanal Makinemizi kontrol ettiğimizde “ Web Server ( IIS ) “ rolümüzün yazmış olduğumuz Script sayesinde kurulum sağlandığını görürüz.

Web Server IIS Rolünü yükleme işlemi sağladık. Makinemizdeki bu rolü dışarıya açmak için “ 80 – HTTP “ portunu Sanal Makine konfigürasyon bölümünde “ Networking “ ayarlarımda port kuralı eklemek gerekmektedir. Bunun için “ Settings “ bölümü altında “ Networking “ seçeneğini seçeriz. “ Add inbound port rule “ seçeneğini seçeriz.

“ Service “ bölümünden “ HTTP “ seçeneğini seçerek “ Add “ seçeneğini seçeriz.

“ Port_80 “ Güvenlik Kuralı oluşma işlemleri tamamlanmıştır.

Sanal Makine “ Overview “ seçeneğini seçerek “ Public IP Address “ karşılığındaki IP adresimizi kopyalarız.

Extension ile Sanal Makinemize script ile kurulum sağlamış olduğumuz IIS Rolümüzün karşılama ekranı gelecek mi ? Kontrol edelim. Sanal Makine HTTP://SanalMakinePublicAddresbilgisi Google Chrome Browser arama çubuğuna yapıştırarak arama sağlarız.

Ve kurulum sağlamış olduğumuz Web Server sunucumuzun IIS ekranına erişim sağlandığını görmüş oluruz.

Makalemi zaman ayırıp okuduğunuz için çok teşekkür ederim. Diğer makalelerimde görüşmek üzere.

Faydalı olması Dileğiyle.

Exit mobile version