Azure Design Pattern – Virtual Network

By | October 28, 2022

Azure üzerindeki virtual network’ler büyük fiziksel sistemler üzerinde yapılan network sanallaştırma (software-Defined Network) teknolojisi ile oluşturulurlar. Normal on-premise networklerden bir farkları yoktur. Bu network’ler barındırdıkları sanal makinelere özel IP ataması yaparlar. Bu sayede bu network içerisinde bulunan sanal makineler birbirleri ile güvenli bir biçimde iletişim kurabilirler.

Virtual network’ler resource group’lar içerisinde oluşturulurlar. Oluşturulan network’ler region’lar arasında kullanılacak şekilde genişletilemezler. Fakat aynı regiondaki servisler bu virtual network’ü kullanabilirler.

Farklı region’lar arası iletişim için virtual networkler VNET-TO-VNET bağlantı tipi ile birbirlerine bağlanıp iletişim kurabilirler. Ayrıca site-to-site VPN konfigürasyonları ile on-premise network’ler ile de bağlantı sağlayabilirler.

Azure üzerindeki virtual network’ler birden çok bağlantı tipini desteklerler. Bunlar Site-to-site VPN , point-to-site VPN ve Express Route teknolojileridir.

Her subscriotion için oluşturulabilecek virtual network sayısı 50 ile sınırlıdır. Fakat ihtiyaca göre bu miktar Azure support ile iletişim kurularak arttırılabilir. Azure virtual network’lerin herhangi bir ücreti yoktur. Ayrıca aynı network içerisinde yapılacak data transferi için de herhangi bir ücret yansıtılmamaktadır.

Virtual network’ler ile ilgili ayrıntılı bilgi için aşağıdaki linki kullanabilirsiniz.

https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-overview

Şimdi biz mimari açıdan yapılması gereken best practise’ler ile devam edelim.

Azure üzerinde sanal network’leri tasarlarken dikkat edilmesi gereken önemli noktalar:

Virtual networklar mimari belirlenirken yapılandırılması gereken önemli ve en temel Azure resource’larıdır. Mimari aşamasının en başında düzgün şekilde belirlenen bir network yapısı sonra oluşabilecek sorunlarında önüne geçecektir. Çünkü sanal makinelerın mimari bir sebepten ötürü bulundukları network’ten farklı bir network üzerine taşınmaları gerekirse bu işlemi gerçekleştirmek kolay olmayacaktır ve kesintiye sebep olacaktır.

Network dizaynı mimari olarak planlanırken göz önünde bulundurulması gereken bazı bileşenler vardır. Bu bileşenler özetle aşağıdaki gibidir.

  • Planlama yapılırken uygulama bileşenlerinin aynı region’da bulundurulması önemlidir. Eğer mimari bir sebepten ötürü bileşenler farklı region’lara koyulursa, bunların birbirleri ile iletişimleri için VNET-To-VNET bağlantı yapılması gerekir. Bu bağlantıda inbound trafik için herhangi bir ücret alınmazken outbound data trafiği ücretlendirilir.
  • Virtual networkler kendilerine ait olan bir resource group’a deploy edilmeleri gerekir ve network adminlerin bu resource group üzerinde owner yetkisine sahip olmaları gereklidir. Diğer takım üyelerinin oluşturdukları diğer resource grouplardaki bileşenlerin bu virtual network üzerindeki servislerden hizmet alabilmesi için contributor yetkisine sahip olmaları gerekir.
  • Varsayılan olarak isim çözümleme işlemi için Azure tarafından sağlanan DNS virtual networkler tarafından kullanılır. Bu Vnet içerisindeki sanal makinelerin gerektiğinde internet üzerinden isim çözümlemesi yapmasını da sağlar. Belirli durumlarda uygulamalar kendileri için atanmış bir DNS sunucuya ihtiyaç duyabilir. Böyle bir durumda isteğe bağlı olarak Azure üzerindeki yada onpremise üzerindeki bir DNS sunucusu isim çözümleme işlemlerinde kullanılmak için konfigüre edilebilir.
  • Her virtual network önceden tanımlanmış bir throughput’a sahiptir. Dolayısı ile networkle ilgili kaynakların hepsinin tek bir VNET içerisine koyulması network’te tıkanmaya yol açabilir. Bu yüzden network performansını arttırmak için kaynakları farklı networklere koymak önerilir.
  • Bir virtual network’ün sınırları bulunduğu region ile sınırlıdır. Virtual network içerisinde farklı subnette bulunan resource’lar birbirleri ile herhangi bir konfigürasyona gerek kalmadan iletişim kurabilirler. Ancak virtual network region’lar arasında genişletilemez. Bu sebeple farklı region’lardaki virtual network’lerin birbirleri ile konuşabilmeleri için virtual netowrk gateway bileşenlerinin yapılandırılması gerekir. Organizasyonların gereksinimlerine bağlı olarak virtual network’lerin onpremise networkler ile iletişim kurması istenebilir. Bunun için VPN yada express route denilen teknolojiler kullanılır. Bu tarz konfigürasyonlarda virtual network’ler birden çok paralel bağlantı ile onpremise yada farklı region’lardaki network’ler ile bağlantı kurabilir. Burada önerilen konfigrasyon yapılan her connection’ın virtual network içerisinde kendi atanmış subnet’ine sahip olmasıdır.
  • Subnet’ler virtual network’ler içerisindeki izolasyon sağlayan birimlerdir. Security group’lar direk olarak bu subnet’lere uygulanabilir. Security gereksinimleri sebebiyle uygulamanın belli katmanlarının birbirinden izole olarak sadece belli port ve protokolleri kullanacak şekilde yapılandırılması gerekebilir. Böyle durumlarda virtual network’ler içerisinde subnetler oluşrutulması gereklidir.
  • Network’ler için IP adres range ve subnet’leri oluşturulurken seçilecek range ve subnet’in gerek diğer virtual network’ler gerekse onpremise IP blokları ile çakışmaması gerekir. Kullanılacak blok belirlendikten sonra mevcut ve gelecekteki gereksinimler göz önünde bulundurularak IP adres range’i gerekli sayıda IP içerecek şekilde konfigüre edilmelidir. Sonrasında bu range kullanılarak istenilen subnet’ler kolaylıkla oluşturulabilir.
  • Monitoring network dizaynı yapılırken en başta entegre edilmesi gereken bileşenler arasındadır. Azure mimarisinde network’ü moniter etmek için Azure Network Watcher servisinden faydalanmak gerekir. Azure Network Watcher ile gelen logging ve diagnostic özellikleri ile network’ün performans ve sağlık durumu hakkında kolaylıkla öngörü kazanabilirsiniz. Bunlara ek olarak network watcher servisi ile sanal makinelerden giden ve gelen trafik denetlenebilir ve kontrol amaçlı capture işlemi yapılabilir. Eğer network trafiği performans anlamında daha gelişmiş şekilde monitor edilmek istenirse Log Analystic servisi kullanılmalıdır. Log analytics ile networkün sağlık durumu, ulaşılabilirliği ve erişilebilirliği kolaylıkla monitor edilebilir.
  • Network güvenliği mimari planlama yapılırken düşünülmesi gereken ilk güvenlik önlemidir. Bu anlamda Azure üzerindeki bir networkün güvenliği için kullanılabilecek en öndemli güvenlik önlemi Network Security Group’lardır.NSG’ler VM ve subnet bazında uygulanabilen yazılımsal firewall’lardır. NSG kullanarak VM yada subnet özelinde giden ve gelen trafik yasaklanabilir,filtrelenebilir yada izin verilebilir. Yine aynı şekilde IP forwarding ve User-Defined Routing (UDR) özelliklerini kullanarak trafik yönlendirme işlemlerini yapabilirsiniz.
  • Organizasyonların gereksinimlerini göz önünde bulundurarak Azure üzerinde third-party appliance’ları da güvenlik amaçlı kullanabilirsiniz (örn: F5)
  • Subnetlerinde static ve dynamic ip adresine sahip olacak resource’lara göre ayrıştırılması da mimari açıdan önemlidir.

Virtual networkler neredeyse IAAS çözümlerin çoğu için yapılandırılması gerekli olan Azure bileşenidir. Örneğin bir Vm virtual network olmadan deploy edilemez. Virtual networkler temel olarak barındırdıkları resource’lar için 3 önemli fayda sağlarlar;

  • Isolation: Bunu sağlamak için Virtual network and subnet’leri kullanır.
  • Security : Network watcher, NSG(Network securtiy group) ve Log Analytics bileşenleri ile filtering ve tracking özelikleri sağlanır.
  • Extensibility: Kullanılan mimariye göre sadece Lan, Vnet-to-Vnet yada Vnet-to-Onpremise şeklinde network dizaynları yapılabilir.

Azure üzerinde virtual network farklı şekillerde organizasyon isteğine bağlı olarak dizayn edilebilir. Dizayn işlemi yapılırken genellikle ihtiyaca yönelik olarak aşağıdaki şekilde tasarım ve teknolojiler kullanılır.

  • Aynı region’da ve aynı subscription’da iki network’ün iletişim kurması istenirse : Vnet Peering
  • Aynı region’da ve farklı subscription’da iki network’ün iletişim kurması istenirse: Vnet Peering yada Vnet-to-Vnet VPN
  • Farklı region’da iki network’ün iletişim kurması istenirse: Site-to-site VPN
  • Onpremize datacenter ile Azure virtual network’ün iletişim kurması istenirse: Site-to-site VPN yada Express Route

Network dizaynına ilişkin göz önünde bulundurulması gereken önemli kısımlar bu şekilde. Bir sonraki bölümde görüşmek üzere.

Fırat

Leave a Reply

Your email address will not be published. Required fields are marked *