Ağ Geçidi Boşaltma düzeni

Paylaşılan veya özelleştirilmiş hizmet işlevlerini bir ağ geçidi ara sunucusuna boşaltın. Bu yaklaşım, istemciye yönelik TLS sertifika sonlandırma gibi çapraz kesme sorunlarını hizmetler arasında çoğaltmak yerine ağ geçidinde merkezileştirerek uygulama geliştirmeyi kolaylaştırır.

Birden çok hizmet kimlik doğrulaması, izleme veya protokol çevirisi gibi sorumlulukları paylaştığında, bu endişelerin tek bir ağ geçidinde birleştirilmesi hizmet başına yapılandırma ek yükünü ve dağıtım riskini azaltır.

Bağlam ve sorun

Bazı özellikler birden çok hizmet tarafından ortak olarak kullanılır ve bunlar yapılandırma, yönetim ve bakım gerektirir. Her uygulama dağıtımıyla dağıttığınız paylaşılan veya özelleştirilmiş bir hizmet yönetim yükü ekler ve dağıtım hatası olasılığını artırır. Paylaşılan bir özelliğe yapılan tüm güncelleştirmeleri bu özelliği paylaşan tüm hizmetlere dağıtmanız gerekir.

Belirteç doğrulama, şifreleme ve TLS sertifika yönetimi gibi güvenlik sorunları, ekip üyelerinin son derece özel becerilere sahip olmasını gerektirebilir. Örneğin, ağ geçidi olmadan her uygulama örneğinde istemciye yönelik bir sertifika yapılandırmanız ve dağıtmanız gerekebilir. Sona erme tarihini izlemeniz ve bunu bu örneklerin tümünde güncellemeniz, test etmeniz ve doğrulamanız gerekir.

Kimlik doğrulama, yetkilendirme, günlüğe kaydetme, izleme veya azaltma gibi diğer ortak hizmetlerin çok sayıda dağıtımda uygulanması ve yönetilmesi zor olabilir. Bu tür işlevlerin birleştirilmesi ek yükü ve hata olasılığını azaltır.

Çözüm

Bazı özellikleri bir ağ geçidine boşaltabilirsiniz. Ağ geçidi daha sonra istemciye yönelik sertifika yönetimi, kimlik doğrulama, TLS sonlandırma, izleme, protokol dönüştürme ve hız sınırlama gibi ortak konuları arka uç hizmetleri adına üstlenir.

Aşağıdaki diyagramda, gelen TLS bağlantılarını sonlandıran ve paylaşılan özellikleri uygulayan bir ağ geçidi gösterilmektedir. Ağ geçidi arka uç sertifikasını doğrular ve arka uç hizmetine ayrı bir TLS bağlantısı üzerinden trafiği yeniden şifreler.

TLS üzerinden bir ağ geçidine bağlanan istemcinin diyagramı.

Bu düzenin avantajları şunlardır:

  • Her arka uç hizmetinde uygulamak yerine kimlik doğrulaması, azaltma ve istek günlüğü gibi paylaşılan yapılandırmayı merkezileştirerek hizmetlerin geliştirilmesini basitleştirin. Merkezileştirme tutarlılığı artırır ve hizmet yükseltmelerini daha kolay hale getirir.

  • Özel uzmanlık gerektiren güvenlik gibi özellikleri özel ekiplerin uygulamasını sağlar. Çekirdek ekibiniz böylece uygulamanın işlevselliğine odaklanabilir ve uzmanlık gerektiren ancak farklı alanları ilgilendiren bu ortak teknik gereksinimleri ilgili uzmanlara bırakabilir.

  • İstek ve yanıtların günlüğe kaydedilmesi ve izlenmesi için biraz tutarlılık sağlar. Bir hizmet doğru şekilde enstrümante edilmemiş olsa bile, ağ geçidi temel düzeyde izleme ve günlük kaydı sağlayabilir.

  • Karbon kullanan trafik yönetimini merkezileştirin. Ağ geçidi gerçek zamanlı karbon yoğunluğu sinyallerine göre önbelleğe alma, hız sınırlama ve günlüğe kaydetme davranışlarını ayarlayabilir. Azure API Management bu özellikleri belirli bölgelerde ve klasik katmanlarda (Geliştirici, Temel, Standart ve Premium) sınırlı önizlemede sağlar. Kullanılabilirlik ve yapılandırma ayrıntıları için bkz. Azure API Management'de çevre açısından sürdürülebilir API'ler.

Sorunlar ve dikkat edilmesi gerekenler

Bu deseni nasıl uygulayabileceğinize karar vermek için aşağıdaki noktaları göz önünde bulundurun:

  • Yüksek kullanılabilirlik ve dayanıklılık. Ağ geçidinin yüksek oranda kullanılabilir ve hataya dayanıklı olduğundan emin olun. Ağ geçidinizin birden çok örneğini çalıştırarak tek hata noktalarından kaçının. Ağ geçidi istemci bağlantılarını sonlandırdığından ve istek gövdelerini arabelleğe alabildiği için, örnek hataları sırasında uçuş içi isteklerin nasıl işleneceğini göz önünde bulundurun. Bir ağ geçidi örneği kaldırıldığında veya yeniden başlatıldığında aktif oturumların kesintiye uğramamasını sağlamak için bağlantı boşaltma ya da kontrollü kapatma mekanizmalarını kullanın.

  • Kapasite ve ölçeklendirme. Ağ geçidinin uygulama ve uç noktalarınızın kapasite ve ölçeklendirme gereksinimlerini karşılayacak şekilde tasarlandığından emin olun. Ağ geçidinin uygulama için bir performans sorunu haline gelmediğinden ve yeterince ölçeklenebilir olduğundan emin olun. Ağ geçidi yalnızca ortalama yük değil, en yoğun trafik artışlarını işlemek için sağlanmalıdır. Maliyeti azaltmak için ağ geçidinin yetersiz sağlanması, arkasındaki her hizmetin performansını doğrudan düşürür.

  • Yük devretme kapsamı. Merkezileştirilmeleri, tekrarlanan uygulama ve yönetimi azaltıyorsa, birden çok hizmet veya rota tarafından paylaşılan özellikleri merkezi bir bileşene devredin.

  • İş mantığının ayrıştırılması. İş mantığını asla ağ geçidine boşaltmayın.

  • İşlem izleme. İşlemleri izlemeniz gerekiyorsa, günlüğe kaydetme amacıyla korelasyon kimlikleri oluşturmayı göz önünde bulundurun.

  • Gecikme ek yükü. Ağ geçidi her isteğe bir ağ atlama ekler. TLS sonlandırma, kimlik doğrulaması veya istek incelemesi gibi ağ geçidinin gerçekleştirdiği boşaltılan her işlev, istek yoluna işleme süresi ekler. Ağ geçidi bağlantı havuzu oluşturma ve arka uç hizmetlerine yönelik etkin tutma bağlantıları, her istek için yeni bağlantılar oluşturmak yerine bağlantıları yeniden kullanarak gecikme maliyetini kısmen dengeleyebilir. Ağ geçidi atlamasının ve boşaltılan işlevlerin birleştirilmiş gecikme süresinin iş yükünün performans hedefleri için kabul edilebilir olup olmadığını değerlendirin.

  • operasyonel karmaşıklık. Merkezi bir ağ geçidi, yönetimi birleştirir ancak operasyonel sorumluluğu da yoğunleştirir. Paylaşılan bir sorun olarak ağ geçidi yapılandırmasını, sertifika yaşam döngüsünü, ilke güncelleştirmelerini ve sürüm yükseltmelerini yönetmeniz gerekir. Ağ geçidinden sorumlu ekibin, ağ geçidini bağımlı olan tüm hizmetlerin ölçeğinde yönetebilecek kapasiteye ve araçlara sahip olduğundan emin olun.

  • Güvenlik etkileri. Ağ geçidi, kimlik doğrulaması, TLS sonlandırma ve istek denetimi gibi çapraz kesme güvenlik işlevlerini merkezileştirdiğinden yüksek değerli bir hedeftir. Ağ geçidinin ele geçirilmesi, kendisine bağlı tüm hizmetleri açığa çıkarabilir. Ağ geçidini güçlendirin, yönetim arayüzünü kısıtlayın ve onu, koruduğu arka uç hizmetlerinden bağımsız olarak, anomali belirtileri açısından izleyin.

  • Ağ geçidinin aşılmasını önleme. Arka uç hizmetlerini yalnızca hedeflenen ağ geçidi yolu üzerinden istekleri kabul etmek üzere yapılandırın. Aksi takdirde, istemciler bir arka uca doğrudan bağlanabilir ve ağ geçidindeki kimlik doğrulama, hız sınırlaması, istek incelemesi ve günlükleme işlemlerini atlayabilir.

  • Kimlik yayma. Her arka ucun orijinal çağıranı mı, ağ geçidinin iş yükü kimliğini mi, yoksa her ikisini birden mi yetkilendirdiğini tanımlayın. Çağıran belirteçlerini veya güvenilir claim’leri yalnızca arka uç devredilmiş kullanıcı bağlamı gerektirdiğinde koruyun. Ağ geçidinin kimliğini arka uca karşı her zaman ayrı olarak doğrulayın. Doğrulanmamış iletilen üst bilgileri kimlik kanıtı olarak kabul etmeyin.

  • TLS bakımı. Ağ geçidi TLS'yi sonlandırırsa, TLS'yi arka uçta yeniden yükleyin. Trafiği şifrelenmemiş HTTP üzerinden iletmeyin. Tüm ağları güvenilmeyen olarak kabul edin. Bu topoloji yine de arka uç sertifikalarını vermek, döndürmek ve iptal etmek için bir işlem gerektirir.

  • İletme başlıkları ve istemci bağlamı. Ağ geçidi istemci bağlantılarını sonlandırıp arka uç hizmetlerine yeni bağlantılar kurduğunda, ağ geçidi açıkça iletmediği sürece istemci IP adresi, özgün protokol ve ana bilgisayar adı gibi bilgiler kaybolur. Risk azaltma stratejileri için bkz. Ters ara sunucu ile arka uç web uygulaması arasında özgün HTTP ana bilgisayar adını koruma.

Bu desen ne zaman kullanılır?

Bu düzeni aşağıdaki durumlarda kullanın:

  • Uygulama dağıtımının TLS sertifikaları veya şifreleme gibi paylaşılan bir sorunu vardır.
  • Uygulama dağıtımlarında yaygın olarak kullanılan bir özelliğin bellek kaynakları, depolama kapasitesi veya ağ bağlantıları gibi farklı kaynak gereksinimleri olabilir.
  • Ağ güvenliği, hız sınırlama veya ağ sınırına ilişkin diğer konular gibi sorunların sorumluluğunu daha uzmanlaşmış bir ekibe devretmek istiyorsunuz.

Bu düzen aşağıdaki durumlarda uygun olmayabilir:

  • Ağ geçidi, arka uç hizmet değişikliklerini ağ geçidi yapılandırma değişiklikleriyle sıkı bir şekilde bağlayan hizmete özgü mantık veya yönlendirme kuralları içermelidir. Ağ geçidi katmanını iç hizmetlerle birleştirmek, arka uç güncelleştirmelerinin ağ geçidi yeniden dağıtımını zorlayabileceği ve dağıtım bağımsızlığını azaltabileceği anlamına gelir.
  • Boşaltılan sorun hafiftir ve iş yükü gecikme süresine duyarlıdır. Ek ağ geçidi üzerinden ağ atlanması, ek yük merkezileştirme avantajından daha fazla olduğunda gerekçelendirilmeyebilir.
  • Endişeleri paylaşılan bir ağ geçidinde merkezileştirmek, değişiklik yönetimi performans sorununa neden olur. Ağ geçidi ekibinin yayın döngüsü hizmet ekiplerinden daha yavaşsa yük boşaltma işlemi sertifikalar, kimlik doğrulama ilkeleri veya ağ kuralları güncelleştirmelerini geciktirebilir.

İş yükü tasarımı

Bir mimar, Azure İyi Tasarlanmış Çerçeve yapılarında ele alınan hedefleri ve ilkeleri ele almak için ağ geçidi boşaltma deseninin iş yükünün tasarımında nasıl kullanılabileceğini değerlendirmelidir. Örneğin:

Temel Bu desen sütun hedeflerini nasıl destekler?
Güvenilirlik tasarımı kararları, iş yükünüzün hatalı çalışmaya dayanıklı olmasına ve bir hata oluştuktan sonra tamamen çalışır duruma geldiğinden emin olmasına yardımcı olur. Bu sorumluluğun bir ağ geçidine yüklenmesi, arka uç düğümlerindeki uygulama kodunun karmaşıklığını azaltır. Bazı durumlarda, yük boşaltma işlevselliği tamamen platform tarafından sağlanan güvenilir bir özellik ile değiştirilir.

- RE:01 Basitlik ve verimlilik
Güvenlik tasarımı kararları, iş yükünüzün verilerinin ve sistemlerinin gizliliğini, bütünlüğünü ve kullanılabilirliğini sağlamaya yardımcı olur. İstek akışına ağ geçidi eklemek, web uygulaması güvenlik duvarları ve istemci TLS ilkeleri gibi denetimleri merkezileştirmenizi sağlar. Platform tarafından sağlanan tüm boşaltılmış işlevler zaten gelişmiş güvenlik sunar.

- SE:06 Ağ denetimleri
- SE:08 Güvenlik kaynaklarının güçlendirilmesi
Maliyet İyileştirme, iş yükünüzün yatırım getirisinisürdürmeye ve geliştirmeye odaklanır. Bu düzen, düğüm başına harcanan kaynaklardan gelen maliyetleri ağ geçidi uygulamasına yeniden yönlendirmenizi sağlar. Merkezi işleme modelindeki maliyetler genellikle dağıtılmış modelin maliyetlerinden daha düşüktür.

- CO:14 Birleştirme
Operasyonel Mükemmellik, standartlaştırılmış süreçler ve ekip uyumu aracılığıyla iş yükü kalitesinin sunulmasına yardımcı olur. Bu düzende, boşaltılan işlevselliğin yapılandırması ve bakımları, birden çok düğümden yönetim gerektirmek yerine tek bir noktayla ilişkilendirilir. Bu merkezileştirme, çapraz kesme endişelerinin nasıl uygulandığını standartlaştırarak rutin ve geçici operasyonel değişiklikleri tutarlı ve öngörülebilir hale getirir.

- OE:02 Standartlaştırma işlemleri
Performans Verimliliği , ölçeklendirme, veri ve kod iyileştirmeleri aracılığıyla iş yükünüzün talepleri verimli bir şekilde karşılamasını sağlar. İstek işlemine yük boşaltma ağ geçidi eklemek, işlev ağ geçidinde merkezi olduğundan düğüm başına daha az kaynak kullanmanıza olanak tanır. Boşaltılan işlevselliğin uygulanmasını uygulama kodundan bağımsız olarak iyileştirebilirsiniz. Platform tarafından sağlanan boşaltılmış işlevlerin yüksek performans göstermesi muhtemeldir.

- PE:03 Hizmetleri seçme

Bu model bir sütun içinde dengeleri ortaya çıkartıyorsa, bunları diğer sütunların hedeflerine karşı değerlendirin.

Example

Azure Application Gateway WAF_v2 bölgesel bir web uygulaması için bu düzeni uygulayabilir. Ağ geçidi istemci TLS bağlantılarını sonlandırır, WAF ve yönlendirme ilkeleri uygular ve arka uç hizmetlerine yeni TLS bağlantıları oluşturur. Bu tasarım, paylaşılan istek işleme sorunlarını arka uç uygulama kodunun dışında tutar.

TLS yük boşaltmalı Uygulama Ağ Geçidi

Aşağıdaki diyagramda Application Gateway'in gelen TLS bağlantılarını nasıl sonlandırıp trafiği inceleyip filtrelediğini ve TLS üzerinden bir arka uç havuzuna iletmeden önce trafiği nasıl yeniden şifrelediğini gösterir.

Application Gateway'in istemcilerden gelen TLS'yi sonlandırmasını, WAF ve yönlendirme kurallarını uygulamayı ve TLS üzerinden trafiği arka uç havuzuna yeniden şifrelemeyi gösteren diyagram.

Bu mimari, paylaşılan özellikleri boşaltmak ve arka uç trafiğini yeniden şifrelemek için aşağıdaki Application Gateway bileşenlerini kullanır:

  • HTTPS dinleyicisi. 443 numaralı bağlantı noktasındaki bir HTTPS dinleyicisi istemcilerden gelen TLS bağlantılarını kabul eder.
  • TLS sertifikası. Azure Key Vault kaynaklı bir PFX sertifikası HTTPS dinleyicisine eklenir. Application Gateway, gelen trafiği inceleyip yönlendirmek için şifrelerini çözer, ardından arka uç havuzuna yeniden şifreler. Arka uç sunucuları yeniden şifrelenmiş bağlantılar için sertifikalara ihtiyaç duyar, ancak çoğu durumda platform tarafından yönetilen sertifikalar kullanılabilir.
  • Arka uç havuzu. Arka uç havuzu, yeniden şifrelenmiş trafiği alan HTTPS sunucuları kümesini tanımlar. Arka uç hedefleri sanal makineler, Azure Sanal Makine Ölçek Kümeleri, IP adresleri veya Azure App Service örnekleri olabilir. İstemcilerin doğrudan bağlanarak Application Gateway'i ve WAF ilkesini atlamaması için arka uç erişimini kısıtlayın.
  • Arka uç HTTP ayarları. Arka uç protokolunu HTTPS olarak, bağlantı noktasını da arka ucun TLS bağlantı noktasına (örneğin, 443) ayarlayın. Sertifika güvenini ve arka uç sertifikasıyla eşleşen bir konak adını yapılandırın. Özel bir sertifika otoritesi için güvenilir kök sertifikayı yapılandırın. Ayrıntılar için bkz. v2 SKU ile uçtan uca TLS.
  • Yönlendirme kuralı. İstek yönlendirme kuralı dinleyiciyi arka uç havuzu ve arka uç HTTP ayarlarıyla ilişkilendirir. Yol tabanlı kurallar farklı URL yollarını farklı arka uç havuzlarına yönlendirebilir.
  • WAF ilkesi. İlke, tüm Geomatch kuralları dahil olmak üzere istekleri incelemek için kullanılan yönetilen ve özel kuralları tanımlar.

Application Gateway trafiğin şifresini çözdiğinden, istek içeriğini akıllı yönlendirme için inceleyebilir, HTTP üst bilgilerini ve URL'lerini yeniden yazabilir ve WAF kurallarını uygulayabilir. Ardından istekleri arka uca iletmeden önce trafiği yeniden şifreler.

Yapılandırma kılavuzu için bkz. Application Gateway ile uçtan uca TLS şifrelemesi.

Destekleyici teknolojiler

Aşağıdaki Azure hizmetleri bu düzeni uygulamanıza yardımcı olabilir:

Sonraki Adımlar