Azure Bastion Kavramı ve Sanal Makinelerde Kullanımı
Azure Bastion , Microsoft Azure ortamında Platform as a Service bulut hizmet modeline örnektir. Bunun için bazı katmanları Microsoft Azure tarafından yönetilmektedir. Microsoft Azure ortamınızdaki Sanal Makinelerinize genellikle Remote Desktop Protocol ve SSH yani Secure Shell bağlantıları üzerinden bağlanıyorsunuz. Bu makalemizde ise Azure Bastion kullanarak , ortamımızdaki Sanal Makinelere bağlanıyor olacağız. Burada yanlış anlaşılan bir durum mevcut. Öncelikle kullanacağımız hizmette herhangi bir Public IP kullanma gibi birşey sözkonusu değildir.
Aslında Remote Desktop Protocol ve Secure Shell aracılığıyla bir Sanal Makineye bağlantı sağladığınızda “ Secure Socket Layer ( SSL ) “ yani Güvenli Soket Katmanı yada “ Transport Layer Security ( TLS ) ” yani Taşıma Katmanı Güvenliği protokolleri ile güvenliği sağlamış pek tabiki olursunuz ve bunları Virtual Network bazında deploy işlemi sağlıyor oluruz ve bu Azure Virtual network hizmetinin içeriğinde Subnet olarak Azure Bastion servisine bir ağ ayrılmıştır. Azure ortamımız bu Azure Bastion servisindeki Subnet ile haberleşmektedir. Azure ortamınızdaki bu Virtual Network’ün içeriğindeki tüm sanal makinelere erişiminiz mevcuttur.
Azure Bastion , “ Hyper Text Markup Language 5 “ yani “ HTML5 “ desteklemektedir. Azure ortamındaki Sanal Makinenize Azure Bastion hizmetiyle bağlantı sağlamak için HTML5 destekleyen tarayıcılar ile SSL ve TLS protokolleri aracılığıyla erişim sağlamış olursunuz. Azure Sanal Makinemize Azure Bastion üzerinden sağladığımızda yukarıda da belirttiğim gibi Public IP yani dışarıdan erişim Ip Adresi kullanma gereksinimi bulunmamaktadır. Azure Bastion zaten Public IP Adresi ile ortamınıza entegre oluyor olacaktır ve şunu da belirtmek istiyorum Microsoft Azure Bastion sadece Ipv4 IP Standartını desteklemektedir.
Azure Bastion Organizasyon ortamımızdaki Sanal Makinelerimize güvenli bir şekilde bağlantı kurma işlemi için Virtual Network hizmeti ile iletişim kurmaktadır. Normalde yukarıda belirttiğimiz gibi RDP ve SSH ile yapımızdaki Tüm Sanal Makinelerimize bağlanmaktayız bunu bir alışkanlık haline getirdik diyebiliriz. Peki arka taraftaki mimariyi kıyaslayacak olursak nasıl olur ? O zaman RDP ve SSH ile bağlantı nasıl sağlıyoruz onu aşağıdaki şekil ile anlatalım. Azure ortamınızda bulunan Virtual Network içindeki Sanal Makinelerimize bağlanmak için Public Ip üzerinden bağlanmak gerekirdi. Ve ardından Firewall ile ağı ve trafiğimizi güvence altına alıyorduk.
Microsoft Azure Bastion ile yukarıda bahsettiklerimin hiç birini kullanmak zorunda değilsiniz. Azure Bastion’u kullanabilmek için Azure Bastion Subneti oluşturmanız gerekmektedir. Tüm Sanal Makinelerimiz bu Virtual Network’ün içinde RDP ve SSH bağlantıları üzerinden gidecek ve tekrardan dönüş trafiği göndermektedir. Azure Bastion aracılığıyla Browser aracılığıyla Public IP adresiniz görünmeden Sanal Makinelerinize bağlantı kurabilmeniz mümkündür.
Şimdi Azure Bastion ile alakalı uygulama sağlamadan önce sırayla hangi işlemleri sağlayacağız. Onları sıralayarak uygulamaya hemen başlayacağız :
- Yeni bir Sanal Makine oluşturacağız.
- Azure ortamında bulunan Virtual Network içerisinde Azure Bastion Hizmeti içerisinde ayrıca bir Subnet oluşturacağız.
- Azure Bastion hizmetine girerek konfigüre işlemini sağlayacağız.
- Oluşturmuş olduğumuz Sanal Makineye Azure Bastion ile bağlantı kurarak , işlem sağlayacağız.
Azure Portalında arama çubuğu kutucuğuna “ Virtual Machines “ yazarak arama sonuçlarında çıkan “ Virtual Machines “ seçeneğini seçeriz.
“ Virtual Machines “ kaynağına girdikten sonra oluşturma işlemlerine başlamak için “ Create “ seçeneğini seçerek ardından “ Virtual Machine “ seçeneğini seçeriz.
Azure Bastion örneklemesi yapacağımız için zorunlu olarak doldurulması gereken yerlerin bilgilerini doldurarak “ Next : Disks > “ seçeneğini seçeriz. Sadece Azure Bastion kullanacağımız için “ Inbound port rules “ bölümünde “ Public inbound ports “ alanında “ None “ şeklini seçeriz. Bundan sonraki süreçte oluşturacağımız veya oluşturduğumuz Sanal Makinelerde Public IP Adres bilgisine gerek bulunmamaktadır. Sanal Makine bağlantısı için Azure Bastion’u güvenle kullanabilirsiniz.
Sanal Makinemizin Disk konfigürasyonlarını varsayılan halde bırakıyoruz. “ Next : networking > “ seçeneğini seçerek devam ederiz.
Sanal Makine Network Konfigürasyonlarına geldiğimizde “ Network İnterface “ bölümünde “ Public IP “ alanında ise “ None “ seçeneğini seçeriz. Ardından “ Review + create “ seçeneğini seçerek Sanal Makinemizi oluşturma işlemini başlatırız.
İlgili ekrana geldikten sonra “ Validation Passed “ uyarısı almanız konfigürasyonlarınızın oluşturmak istediğiniz Sanal Makinenin oluşmasına engel olmadığını ve doğru olduğunun bilgisini vermektedir. Oluşturacağınız Sanal Makine için yaptığınız konfigürasyonları son kez inceleyerek “ Create “ seçeneğini seçeriz.
Sanal Makinemizin Dağıtım işlemlerinin başladığını görürüz. Sanal Makine Boyutunuza veya Network hızınıza göre Deployment işlemleri biraz zaman alabilmektedir. ( Deployment işlemi esnasında başka bir işleminiz mevcutsa onları gerçekleştirebilirsiniz. Başka bir işlem gerçekleştirmeniz Sanal Makinenizin oluşmasına engel olmayacaktır. )
Sanal Makinemizin oluşturma süreci tamamlanmıştır. Aşağıda bulunan “ Deployment details “ bölümünde oluşturulan Sanal Makinemizin dağıtım unsurlarını görürüz. Bir anlamda Sanal Makinemizin hizmet vermesini sağlayan öğeleri görmüş oluruz. Ardından “ Next Steps “ bölümünü genişlettiğinizde , Sanal Makineniz için tavsiye edilen Servis veya Hizmetleri görerek , onları bu esnada tamamlamanıza imkan tanımaktadır. “ Go to Resource “ seçeneğini seçerek Sanal Makine arayüzüne gireriz.
Sanal Makinemizin içeriğini kontrol ettiğimizde “ Public IP address “ bilgisinin olmadığını görürüz. Bu Sanal Makinemiz için Azure Bastion servisini kullanarak bağlanacağız.
Sanal Makine oluşturma işlemlerini tamamladık. Sanal Makine oluşturma işlemi sonrası Azure ortamımız üzerinde Default Subnet dışında “ Azure Bastion Subnet “ oluşturmamız gerekmektedir. Bunun için ikinci adımıdaki işlemlerimize başlayalım o halde :
İlk olarak Azure portalımızdan arama kutucuğuna “ Virtual Networks “ yazarak aratma işlemi sağladığımızda “ Virtual Network “ hizmetini seçerek devam ederiz.
“ Virtual Networks “ servisi içeriğinde ise adımlarımızdaki Azure Bastion Servisi için ayrı bir Subnet oluşturuyor olacağız. Bunun için bu Subnet oluşturma işlemini “ Ozdemir_Vnet “ Virtual Network’ünde sağlıyor olacağım. Bunun için “ Ozdemir_Vnet “ seçeneğinin üzerine tıklayarak devam ederiz.
“ Ozdemir_Vnet “ Subnet konfigürasyon ekranına geldiğimizde “ Settings “ bölümü altında “ Subnets “ alanını seçeriz. Azure Bastion Subnet oluşturma işlemini gerçekleştirmek için “ Subnet “ seçeneğini seçeriz.
“ Name “ kutucuğuna “ AzureBastionSubnet “ olarak yazarız. “ Subnet addres Range “ kutucuğunuza ise ortamınızda bulunan en uygun oluşturacağınız Subnet’i yazmanız gerekmektedir. “ Save “ seçeneğini seçeriz.
“ AzureBastionSubnet “ adındaki Subnetimiz eklenmektedir.
“ Azure BastionSubnet “ adındaki Subnet’imiz başarılı bir şekilde oluştu.
Üçüncü adımdaki işlemimiz ise “ Bastions “ servisine Portal üzerinden erişirerek Konfigüre işlmeleri sağlamak .
Azure Portal ekranına geri dönerek Arama kutucuğuna “ Bastions “ yazarak ararız. Ardından “ Bastions “ servisini seçerek servis konfigürasyon işlemleri için ekrana erişim sağlarız.
“ Bastions “ servisine bağlandıktan sonra bastion oluşturma işlemi için “ Create “ seçeneğini seçeriz.
“ Project Details “ bölümünde Bastion hizmetimizin bulunacağı “ Resource group “ seçimini gerçekleştiririz.
“ Instance Details “ bölümünde “ Name “ alanında Bastion hizmetine vereceğimiz isimlendirmeyi yazarız. “ Region “ alanında “ Bastion “ hizmetimizinin bulunacağı bölgeyi seçeriz. “ Tier “ alanında ise “ Standart “ seçeriz. Azure Tier seçeneği olarak “ Basic “ yada “ Standart “ katmanlar sunmaktadır. “ Standart Bastion 2 ila 50 Sanal Makine İnstance’sını destekleyebilmektedir.
“ Configure virtual networks “ bölümünde ise “ Virtual Network “ alanında Bastion servisinin yer alacağı Sanal Ağı seçeriz. “ Subnet “ bölümünde ise Virtual Networks bölümünde Bastion için oluşturmuş olduğumuz Subnet bilgisini seçerek devam ederiz.
“ Public IP Address “ bölümünde ise Bastion hizmetimiz için Static Standart Public IP Addres oluştururuz.
Ardından tüm işlemlerimizi gerçekleştirdikten sonra “ Review + create “ seçeneğini seçerek devam ederiz.
Önceki adımda oluşturmuş olduğumuz konfigürasyonları inceleyerek herhangi bir hata olmadığını görürüz. “ Create “ seçeneğini seçeriz.
Azure Bastion servisinin deployment işlemleri başladı.
Deployment işlemleri devam etmektedir. Bastion oluşturma süreci biraz süre alabilmektedir.
Bastion deployment süreci gerçekleştirilmiştir. “ Go to Resource “ seçeneğini seçeriz.
“ OZ_Bastion “ Bastion servisimiz başarılı bir şekilde oluştuğunu görmüş oluruz.
Oluşturmuş olduğumuz “ AzureBastionDemo “ Sanal Makinesine tıklarız.
AzureBastionDemo adındaki Sanal Makinemizin “ Public IP address “ bilgisi olmadığını görürüz. Azure Bastion servisinde buna gerek olmadığının bilgisini yukarıda vermiştik. Ardından Sanal Makinemize bağlanmak için “ Connect “ seçeneğini seçerek “ Bastion “ seçeneğini seçeriz.
OZ_Bastion hizmetimizin erişilebilir olduğunun bilgisini almış oluruz ( Succeeded ) . Ardından Bağlantı tipimiz konfigürasyonumuz “ SSH “ olarak seçili durumda olmalıdır. Çünkü bağlanacağım Sanal Makine Linux Distrosundan birisi olan Ubuntudur. “ Open in new window “ seçeneğinin yanındaki kutucuğu işaretleyerek , Makine bağlantı ekranının yeni pencerede açılmasını sağlarız. “ Username “ kutucuğunu Sanal Makine oluşturma esnasında belirlemiş olduğumuz Kullanıcı adını doğru şekilde yazmamız gerekmektedir. Ardından “ Authentication Type “ olarak “ Password “ seçeneğini seçeriz. Ardından Sanal Makine oluşturma esnasında belirlemiş olduğumuz “ mustafa “ adlı kullanıcının parolasını doğru şekilde yazarak “ Connect “ seçeneğini seçeriz.
“ Bastion “ servisi ile yeni sekme açılarak başlamış oluruz. ( Bilgisayarınızdaki Pop-up ayarları Azure Portal için “ Allow “ durumda olmalıdır. Aksi takdirde pencere açılmayacaktır. )
Ve Sanal Makinemize RDP / SSH bağlantılarında Public IP Adresine gereksinim olmadan Azure Bastion servisi ile Sanal Makinemize bağlantı sağlamış oluruz.
Tekrardan oturum gerçekleştirdiğiniz Sanal Makineler üzerinde Aktif olan oturumları “ Bastion “ hizmeti arayüzüne girerek “ Settings “ bölümü altında “ Sessions “ seçeneğini seçerek aktif oturumları detaylı halde 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.
Eline sağlık.
Teşekkür ederim Hakan Hocam.
eline sağlık Mustafa Hocam, türkçe en detaylı bastion anlatımı