Azure Private Endpoint Kurulum ve Konfigürasyonu

Microsoft Azure üzerinde kurumumuz için ihtiyaç duyduğumuz hizmetleri servis olarak alabilmekte ve kullanabilmekteyiz. Bahsettiğimiz Azure hizmetleri ile ilgili birçok servisi sayabiliriz. Örnek verecek olursak  App Services, SQL Service , Storage Account, AKS vb. gibi birçok servisi hizmet olarak alabilmekteyiz. İşte bu noktada Azure üzerinde kullandığımız bu hizmetlerin geneli internet erişimleri açık olan bununla birlikte internet üzerinden erişimleri olan servislerdir. Çünkü kurgusal olarak baktığımızda da public internet üzerinden erişimleri olan ve public internet üzerinden erişimleri olacak şekilde tasarlanmışlardır. Fakat bizler bu durumu gerek güvenlik gerekse network gecikmeleri ya da uygulamalarımızın gereksinimleri nedeniyle internet üzerinden erişimlerini ortadan kaldırmamız gereken durumlar da olabilmektedir. Burada bahsettiğimiz aslında PaaS olarak kullanılan herhangi bir Azure servisinin genel erişimlerini kapatarak sadece Virtual Network üzerinde bulunan ve alt ağlarımızda (subnet) yer alan kaynaklarımızdan ya da lokal ortamlarımız ile bağlantılarını yapabileceğimiz  Site to Site VPN ya da Express Route servisleri ile erişimleri sağlayabilmekteyiz.

Azure Private Link için aşağıda yer alan topoloji üzerinden de net bir şekilde erişim modelini anlayabilmekteyiz.

Azure Private Link için sağladığı faydaları başlıklar altında toplayacak olursak ;

Azure Private Link ile desteklenen ve kullanabileceğimiz servislerin güncel listesini aşağıda bulunan link üzerinden erişilebilir ve inceleyebilirsiniz.

https://docs.microsoft.com/en-us/azure/private-link/availability

Özetleyecek olursak bizler Azure Private Link ile erişmek istediğimiz Azure servislerimize internet üzerinden değil oluşturduğumuz Private Link servisi ile Azure üzerinde yer alan alt ağlarımız üzerinden erişimlerin yapılabildiği ve tüm trafiğin iç network üzerinde döndürdüğümüz bir yapıyı bizlere sunmaktadır.

Pekâlâ bunu nasıl sağlıyor bizlere ;

Azure Private Link kullanmış olduğumuz ve desteklenen Azure servislerimize doğrudan sanal bir network kartı ve bu network kartımıza Azure üzerinde yer alan alt ağımız(subnet) üzerinden bir IP adresi atamasını yapıyor. Paylaşmış olduğumuz topoloji üzerinde de görüldüğü gibi Spoke Virtual Network üzerinde yer alan kaynaklarımızın da erişimleri Azure üzerinde yerleşik olarak (System Define) bulunan Route tabloları üzerinde tanımlanmakta. Böylelikle nereye yönleneceğini ve nasıl gideceğini öğrenebiliyor.

Şimdi bizler Azure Private link kullanmak için gerekli konfigürasyonları gerçekleştirmeye başlayalım. Bunun için mevcut ortamım üzerinde aşağıda yer alan servislerin ve topolojilerin  üzerinde devam edeceğiz.

Öncelikle bizler Azure üzerinde bir App Services oluşturacağız. Oluşturmuş olduğumuz Azure App Services bildiğimiz gibi internet üzerinden erişilebilir bir servis , bizler bu servisimizi Azure Private Link üzerine alarak sadece oluşturmuş olduğumuz ve Azure üzerinde yer alan alt ağlarımız (subnet) üzerinden erişimlerin olacağı ve trafiğin sadece Azure Virtual Network omurgası üzerinden dönecek şekilde senaryomuzu oluşturacağız. Az önce de başlıklar halinde belirttiğimiz Azure App Service Plan (P1V2) ve bu plan üzerinden oluşturulmuş CozumPark isimli App Services üzerinden devam edeceğiz.

Yukarıda ekran görüntüsünde de görüldüğü gibi bizlerin sahip olduğu CozumPark isimli bir App Service yer almakta.

Sahip olduğumuz uygulamamıza internet üzerinden erişimlerimizi kontrol ettiğimizde ulaşılabilir olduğunu da görüyoruz.

Yukarıdaki ortama sahip olduktan sonra bizler yine yukarıda yer alan ve Azure App Service olarak çalışan ve bununla birlikte genel erişimlere açık olan ortamımız üzerine erişimlerimizin bulunduğunu görüyoruz. Yapmak istediğimiz ya da ihtiyaç duyduğumuz nokta ise Azure üzerinde yer alan Virtual Network üzerinden trafiğin dönmesini sağlamak ve uygulamamız üzerine gelen ve public internet üzerinden gelen erişimleri kapatmayı hedefliyoruz.

Yukarıda bulunan diyagramımızda ise sahip olduğumuz Virtual Network ortamımız ve VNET-Yenal isimli Virtual Network üzerinde yer alan alt ağımız(subnet) olan SNET-FrontEnd alt ağı üzerinde çalışan Management isimli bir sunucumuz yer almakta. Daha önce de söylediğimiz gibi bizlerin amacı genel erişimleri kapatarak erişimlerin tamamen diyagram da görülen SNET-FrontEnd alt ağı(subnet) üzerinden bütün trafiğin döndürülmesini amaçlıyoruz.

Alt yapı olarak bütün servislerimiz aktif olarak çalışıyor artık Private Endpoint yapılandırmamıza geçebiliriz.

Öncelikle Azure servisleri altında Private Link Center üzerine geliyoruz ve Private Endpoint seçimini yapıyoruz ve Create diyerek Private Endpoint oluşturmaya başlıyoruz.

Gelen ekranımızda Private Endpoint için isim veriyoruz. Ardından oluşturacağımız Private Endpoint için atanacak olan network interface için isimlendirmemizi yapıyoruz ve ilerliyoruz.

Bu adımımız da ise Private Endpoint servisimizi bağlayacağımız ve genel erişimler yerine alt ağımıza(subnet) bağlayacağımız servisimizin tanımını bu ekranımız da yapıyoruz. Daha önce oluşturulmuş ve genel erişimleri olan CozumPark isimli App Service seçimini yapıyorum ve bir sonraki adıma geçiyoruz.

Bizler için en önemli konfigürasyon adımımız. Burada bizler var olan servisimizi hangi alt ağımıza(subnet) bağlayacağımız bununla birlikte Private IP adresini tanımlayacağımız adımımız. Burada Private adres olarak dinamik tanımını yaptım bunun anlamı servisimizim otomatik olarak IP adresini alacak olması. Bizler bu tanımı dinamik yerine statik olarak tanımlayabilirdik ki olması gereken production ortamlarında statik olarak tanımlamalarının yapılması önerilir. Burada bir diğer önemli adımda Network Policy kısmı ekran görüntüsünde de göreceğimiz gibi Disable olan kısmı edit diyerek Enable duruma getiriyoruz. Burada Network Policy kısmını Enable hale getirmemiz bu alt ağımıza(subnet) bağlı olan her Private Endpoint’in etkileneceği anlamına gelmektedir. Dolayısıyla planlamalarımızı yaparken bu hususa dikkat etmemiz gerekmektedir.

DNS ekranımıza geldiğimiz de ise daha önce herhangi bir Private DNS Zone oluşturmadık ise bu adımda servisimiz kurulurken Private DNZ Zone oluşturacak ve App Service için bir kayıt oluşturacak. Oluşturacağı bu kayıt için de Private IP adresini tanımlanacak. Servisimiz oluştuktan sonra bu kayıtları yeniden inceleyeceğiz.

Tags adımında herhangi bir değişiklik yapmadan son adıma geçiyoruz ve servisimiz için doğrulama işlemi tamamlandıktan sonra Create seçimini yaparak servisimizi oluşturuyoruz.

Private Endpoint servisimiz kurulduktan sonra atamış olduğumuz alt ağımıza ait 10.0.0.5 numaralı Private IP adresini almış olduğunu görüyoruz.

DNS konfigürasyonumuza baktığımızda da FQDN ve FQDN için atanmış olan Private IP adresini bu ekranımızda da görebiliyoruz. Bunun anlamı artık bizler bu servisimize erişmek için Private ip adresi üzerinden erişebildiğimiz gibi kurulum esnasında Private DNS Zone entegrasyonu sayesinde de FQDN üzerinden erişimleri yapabiliriz.

CozumPark isimli App service üzerine geçtikten sonra Networking tabına geçtiğimizde de Private Endpoint olarak tanımlamaların yapıldığını görebildiğimiz gibi erişimler içinde kısıtlamaların olduğunu görebiliyoruz. Böylelikle bizler App Service üzerine erişimlerin public internet üzerinden erişimlerin kapatıldığı anlamına gelmektedir.

Internet üzerinden erişmek istediğimizde artık sayfamızın açılmadığını da test ederek görmüş oluyoruz. CozumPark isimli App Service erişimi yapabilmek için bizlerin Private Endpoint adresine atamış olduğumuz virtual network üzerinde yer alan alt ağımız(subnet) üzerinden erişim yapabileceğiz. Bunun için o alt ağımızda yer alan sanal makinamız üzerinden testimizi gerçekleştireceğiz.

Yukarıda ekran görüntüsünde göreceğimiz gibi alt ağımızda bulunan ve Private ip adresi 10.0.0.4 olan sanal sunucumuz üzerinden App Service erişimlerin yapılabildiğini gördük.

Bizler burada bir Azure App Service üzerinde bu çalışmaları gerçekleştirdik ve bizler biliyoruz ki burada hedeflenen ya da uygulanması en doğru servisler ihtiyaçlarımıza göre değişkenlik gösterecek olsa da Veritabanı,Storage Account vb. servisler üzerinde bu çalışmaları yapmak temel ihtiyacımız olacaktır.

Exit mobile version