Azure Uygulaması lication Gateway planlama ve uygulama

Tamamlandı

Azure Application Gateway, web uygulamalarınıza gelen trafiği yönetmenizi sağlayan bir web trafiği (OSI katman 7) yük dengeleyicisidir. Geleneksel yük dengeleyiciler aktarım katmanında (OSI katman 4 - TCP ve UDP) çalışır ve trafiği kaynak IP adresi ve bağlantı noktasına göre hedef bir IP adresi ve bağlantı noktasına yönlendirir.

Application Gateway, URI yolu veya konak üst bilgileri gibi bir HTTP isteğinin ek özniteliklerine göre yönlendirme kararları verebilir. Örneğin, gelen URL’yi temel alarak trafiği yönlendirebilirsiniz. Bu nedenle, /images gelen URL'deyse, trafiği görüntüler için yapılandırılmış belirli bir sunucu kümesine (havuz olarak bilinir) yönlendirebilirsiniz. /video URL'deyse, bu trafik videolar için iyileştirilmiş başka bir havuza yönlendirilir.

Azure Uygulaması Lication Gateway örneğini gösteren diyagram.

Bu yönlendirme türü, uygulama katmanı (OSI katman 7) yük dengelemesi olarak bilinir. Azure Application Gateway, URL tabanlı yönlendirmeyi ve daha fazlasını yapabilir.

Application Gateway bileşenleri

Uygulama ağ geçidi, istemciler için tek bir iletişim noktası görevi görür. Gelen uygulama trafiğini Azure VM'leri, sanal makine ölçek kümeleri, Azure Uygulaması Hizmeti ve şirket içi/dış sunucuları içeren birden çok arka uç havuzuna dağıtır.

Azure uygulama ağ geçidi bileşenlerini gösteren diyagram.

Altyapı

Application Gateway altyapısı sanal ağı, alt ağları, ağ güvenlik gruplarını ve kullanıcı tanımlı yolları içerir.

Ön uç IP adresi

Uygulama ağ geçidini genel IP adresine, özel IP adresine veya her ikisine de sahip olacak şekilde yapılandırabilirsiniz. İstemcilerin İnternet üzerinden İnternet'e yönelik sanal IP (VIP) üzerinden erişmesi gereken bir arka uç barındırdığınızda genel IP gereklidir.

İnternet'e açık olmayan bir iç uç nokta için genel IP adresi gerekli değildir. Özel ön uç yapılandırması, İnternet'e açık olmayan iç iş kolu uygulamaları için kullanışlıdır. İnternet'e açık olmayan ancak hepsini bir kez deneme yük dağıtımı, oturum sürekliliği veya TLS sonlandırması gerektiren bir güvenlik sınırı içindeki çok katmanlı bir uygulamadaki hizmetler ve katmanlar için de kullanışlıdır.

Yalnızca bir genel IP adresi ve bir özel IP adresi desteklenir. Uygulama ağ geçidini oluştururken ön uç IP'sini seçersiniz.

Not

Application Gateway ön ucu çift yığınLı IP adreslerini (genel önizleme) destekler. En fazla dört ön uç IP oluşturabilirsiniz. İkisi IPv4 adresleri (genel ve özel) ve ikisi IPv6 adresleridir (genel ve özel).

  • Genel IP adresi için yeni bir genel IP adresi oluşturabilir veya mevcut bir genel IP'yi uygulama ağ geçidiyle aynı konumda kullanabilirsiniz. Daha fazla bilgi için bkz. Statik ve dinamik genel IP adresi.
  • Özel IP adresi için, uygulama ağ geçidinin oluşturulduğu alt ağdan bir özel IP adresi belirtebilirsiniz. Application Gateway v2 SKU dağıtımları için, ağ geçidine özel bir IP adresi eklediğinizde statik bir IP adresi tanımlanmalıdır. Application Gateway v1 SKU dağıtımları için bir IP adresi belirtmezseniz, alt ağdan otomatik olarak kullanılabilir bir IP adresi seçilir. Seçtiğiniz IP adresi türü (statik veya dinamik) daha sonra değiştirilemez.

Ön uç IP adresi, ön uç IP'sinde gelen istekleri denetleyen bir dinleyiciyle ilişkilendirilir.

Aynı bağlantı noktası numarasına sahip özel ve genel dinleyiciler oluşturabilirsiniz. Ancak, Application Gateway alt ağıyla ilişkilendirilmiş herhangi bir ağ güvenlik grubuna (NSG) dikkat edin. NSG'nizin yapılandırmasına bağlı olarak, uygulama ağ geçidinizin genel ve özel ön uç IP'leri olarak Hedef IP adreslerini içeren bir gelen izin verme kuralına ihtiyacınız olabilir. Aynı bağlantı noktasını kullandığınızda, uygulama ağ geçidiniz gelen akışın Hedefini ağ geçidinizin ön uç IP'lerine değiştirir.

Gelen kuralı:

  • Kaynak: Gereksinimlerinize göre
  • Hedef: Uygulama ağ geçidinizin genel ve özel ön uç IP'leri.
  • Hedef bağlantı noktası: Yapılandırılan dinleyicilere göre
  • Protokol: TCP

Giden kuralı: Belirli bir gereksinim yok

Dinleyiciler

Dinleyici, bağlantı noktası, protokol, konak ve IP adresini kullanarak gelen bağlantı isteklerini denetleyen mantıksal bir varlıktır. Dinleyiciyi yapılandırırken, bunlar için ağ geçidindeki gelen istekteki karşılık gelen değerlerle eşleşen değerler girmeniz gerekir.

Azure portalını kullanarak bir uygulama ağ geçidi oluşturduğunuzda, dinleyici için protokolü ve bağlantı noktasını seçerek de varsayılan bir dinleyici oluşturursunuz. Dinleyicide HTTP2 desteğinin etkinleştirilip etkinleştirilmeyeceğini seçebilirsiniz. Uygulama ağ geçidini oluşturduktan sonra, bu varsayılan dinleyicinin (appGatewayHttpListener) ayarlarını düzenleyebilir veya yeni dinleyiciler oluşturabilirsiniz.

Dinleyici türü

Dinleyici, gelen bağlantı isteklerini denetleyen mantıksal bir varlıktır. İstekle ilişkilendirilmiş protokol, bağlantı noktası, ana bilgisayar adı ve IP adresi dinleyici yapılandırmasıyla ilişkili öğelerle aynıysa dinleyici isteği kabul eder.

Uygulama ağ geçidini kullanmadan önce en az bir dinleyici eklemeniz gerekir. Bir uygulama ağ geçidine bağlı birden çok dinleyici olabilir ve bunlar aynı protokol için kullanılabilir.

Bir dinleyici istemcilerden gelen istekleri algıladıktan sonra, uygulama ağ geçidi bu istekleri kuralda yapılandırılan arka uç havuzundaki üyelere yönlendirir.

Dinleyiciler aşağıdaki bağlantı noktalarını ve protokolleri destekler.

Bağlantı Noktaları

Bağlantı noktası, dinleyicinin istemci isteğini dinlediği yerdir. v1 ve v2 SKU'ları için bağlantı noktalarını aşağıdaki gibi yapılandırabilirsiniz.

SKU Desteklenen bağlantı noktası aralığı Özel durumlar
V2 1 - 64999 22
V1 1 - 65502 3389

Protokoller

Application Gateway dört protokolü destekler: HTTP, HTTPS, HTTP/2 ve WebSocket:

Not

HTTP/2 protokol desteği yalnızca uygulama ağ geçidi dinleyicilerine bağlanan istemciler tarafından kullanılabilir. Arka uç sunucu havuzları ile iletişim her zaman HTTP/1.1 üzerinden yapılır. Varsayılan olarak HTTP/2 desteği devre dışıdır. Etkinleştirmeyi seçebilirsiniz.

  • Dinleyici yapılandırmasında HTTP ve HTTPS protokolleri arasında belirtin.
  • WebSockets ve HTTP/2 protokolleri için destek yerel olarak sağlanır ve WebSocket desteği varsayılan olarak etkinleştirilir. WebSocket desteğini isteğe bağlı olarak etkinleştirmek veya devre dışı bırakmak için kullanıcı tarafından yapılandırılabilen bir ayar yoktur. WebSockets'i hem HTTP hem de HTTPS dinleyicileriyle kullanın.

TLS sonlandırması için BIR HTTPS dinleyicisi kullanın. HTTPS dinleyicisi şifreleme ve şifre çözme çalışmalarını uygulama ağ geçidinize boşaltır, böylece web sunucularınız ek yükten etkilenmez.

Yönlendirme kuralı isteme

Azure portalını kullanarak bir uygulama ağ geçidi oluşturduğunuzda, varsayılan bir kural (kural1) oluşturursunuz. Bu kural, varsayılan dinleyiciyi (appGatewayHttpListener) varsayılan arka uç havuzuna (appGatewayBackendPool) ve varsayılan arka uç HTTP ayarlarına (appGatewayBackendHttp Ayarlar) bağlar. Ağ geçidini oluşturduktan sonra varsayılan kuralın ayarlarını düzenleyebilir veya yeni kurallar oluşturabilirsiniz.

Kural türü

Kural oluşturduğunuzda, temel ve yol tabanlı arasında seçim yapabilirsiniz.

  • İlişkili dinleyicideki tüm istekleri (örneğin, blog.contoso.com/*) tek bir arka uç havuzuna iletmek istiyorsanız temel'i seçin.
  • Belirli URL yollarından gelen istekleri belirli arka uç havuzlarına yönlendirmek istiyorsanız yol tabanlı seçeneğini belirleyin. Yol deseni yalnızca URL'nin yoluna uygulanır, sorgu parametrelerine uygulanmaz.

İlişkili dinleyici

Dinleyiciyle ilişkilendirilmiş istek yönlendirme kuralının isteğin yönlendirilecek arka uç havuzunu belirlemek üzere değerlendirilmesini sağlamak için bir dinleyiciyi kuralla ilişkilendirin.

İlişkili arka uç havuzu

Dinleyicinin aldığı isteklere hizmet eden arka uç hedeflerini içeren arka uç havuzunu kuralla ilişkilendirin.

  • Temel bir kural için yalnızca bir arka uç havuzuna izin verilir. İlişkili dinleyicideki tüm istekler bu arka uç havuzuna iletilir.
  • Yol tabanlı bir kural için, her URL yoluna karşılık gelen birden çok arka uç havuzu ekleyin. Girilen URL yoluyla eşleşen istekler ilgili arka uç havuzuna iletilir. Ayrıca, varsayılan bir arka uç havuzu ekleyin. Kuraldaki herhangi bir URL yolu ile eşleşmeyen istekler bu havuza iletilir.

İlişkili arka uç HTTP ayarı

Her kural için bir arka uç HTTP ayarı ekleyin. İstekler, bu ayarda belirtilen bağlantı noktası numarası, protokol ve diğer bilgiler kullanılarak uygulama ağ geçidinden arka uç hedeflerine yönlendirilir.

Temel bir kural için yalnızca bir arka uç HTTP ayarına izin verilir. İlişkili dinleyicideki tüm istekler, bu HTTP ayarı kullanılarak ilgili arka uç hedeflerine iletilir.

Yol tabanlı bir kural için, her URL yoluna karşılık gelen birden çok arka uç HTTP ayarı ekleyin. Bu ayardaki URL yolu ile eşleşen istekler, her URL yoluna karşılık gelen HTTP ayarları kullanılarak ilgili arka uç hedeflerine iletilir. Ayrıca, varsayılan bir HTTP ayarı ekleyin. Bu kuraldaki url yoluyla eşleşmeyen istekler, varsayılan HTTP ayarı kullanılarak varsayılan arka uç havuzuna iletilir.

Yeniden yönlendirme ayarı

Yeniden yönlendirme temel bir kural için yapılandırılmışsa, ilişkili dinleyicideki tüm istekler hedefe yönlendirilir. Bu genel yeniden yönlendirmedir. Yeniden yönlendirme yol tabanlı bir kural için yapılandırılmışsa, yalnızca belirli bir site alanındaki istekler yeniden yönlendirilir. Buna örnek olarak /cart/* tarafından belirtilen bir alışveriş sepeti alanı verilmiştir. Bu, yol tabanlı yeniden yönlendirmedir.

Dinleyici

Trafiği ağ geçidindeki bir dinleyiciden diğerine yönlendirmek için yeniden yönlendirme hedefi olarak dinleyiciyi seçin. HTTP'den HTTPS'ye yeniden yönlendirmeyi etkinleştirmek istediğinizde bu ayar gereklidir. Gelen HTTP isteklerini denetleyen kaynak dinleyiciden gelen HTTPS isteklerini denetleyen hedef dinleyiciye trafiği yeniden yönlendirir. Yeniden yönlendirme hedefine iletilen isteğe özgün istekten sorgu dizesini ve yolunu eklemeyi de seçebilirsiniz.

Yeniden yönlendirme yapılandırma ayarları sayfasının bir örneğini gösteren ekran görüntüsü.

Dış site

Bu kuralla ilişkili dinleyicideki trafiği bir dış siteye yeniden yönlendirmek istediğinizde dış siteyi seçin. Özgün istekteki sorgu dizesini yeniden yönlendirme hedefine iletilen isteğe eklemeyi seçebilirsiniz. Yolu özgün istekteki dış siteye iletemezsiniz.

HTTP üst bilgilerini ve URL’sini yeniden yazma

Yeniden yazma kurallarını kullanarak, istek ve yanıt paketleri uygulama ağ geçidi aracılığıyla istemci ve arka uç havuzları arasında hareket ettikçe HTTP(S) isteği ve yanıt üst bilgilerini ve URL yolu ve sorgu dizesi parametrelerini ekleyebilir, kaldırabilir veya güncelleştirebilirsiniz.

Üst bilgiler ve URL parametreleri statik değerlere veya diğer üst bilgiler ve sunucu değişkenlerine ayarlanabilir. Bu, istemci IP adreslerini ayıklama, arka uç hakkındaki hassas bilgileri kaldırma, daha fazla güvenlik ekleme gibi önemli kullanım örneklerine yardımcı olur.

HTTP ayarları

Uygulama ağ geçidi, burada belirttiğiniz yapılandırmayı kullanarak trafiği arka uç sunucularına yönlendirir. BIR HTTP ayarı oluşturduktan sonra, bunu bir veya daha fazla istek yönlendirme kuralıyla ilişkilendirmeniz gerekir.

Azure Uygulaması lication Gateway, kullanıcı oturumlarını korumak için ağ geçidi tarafından yönetilen tanımlama bilgilerini kullanır. Kullanıcı Application Gateway'e ilk isteği gönderdiğinde, yanıtta oturum ayrıntılarını içeren bir karma değeri olan bir benşim tanımlama bilgisi ayarlar, böylece benzim tanımlama bilgisini taşıyan sonraki istekler yapışkanlığı korumak için aynı arka uç sunucusuna yönlendirilir.

Bu özellik, bir kullanıcı oturumunu aynı sunucuda tutmak istediğinizde ve oturum durumu bir kullanıcı oturumu için sunucuda yerel olarak kaydedildiğinde kullanışlıdır. Uygulama tanımlama bilgisi tabanlı benzimliği işleyemiyorsa bu özelliği kullanamazsınız. Bunu kullanmak için istemcilerin tanımlama bilgilerini desteklediğinden emin olun.

Not

Bazı güvenlik açığı taramaları, Güvenli veya HttpOnly bayrakları ayarlanmadığından Application Gateway benzimliği tanımlama bilgisini işaret edebilir. Bu taramalar, tanımlama bilgisindeki verilerin tek yönlü karma kullanılarak oluşturulduğunu dikkate almaz. Tanımlama bilgisi herhangi bir kullanıcı bilgisi içermez ve yalnızca yönlendirme için kullanılır.

Bağlantı boşaltma

Bağlan boşaltma, planlı hizmet güncelleştirmeleri sırasında arka uç havuzu üyelerini düzgün bir şekilde kaldırmanıza yardımcı olur. Aşağıdaki arka uç örnekleri için geçerlidir:

  • arka uç havuzundan açıkça kaldırıldı,
  • ölçeği daraltma işlemleri sırasında kaldırıldı veya
  • sistem durumu yoklamaları tarafından iyi durumda değil olarak bildirilir.

Arka Uç Ayarı'nda Bağlan Boşaltma'yı etkinleştirerek bu ayarı tüm arka uç havuzu üyelerine uygulayabilirsiniz. Bir arka uç havuzundaki tüm kayıt kaldırma örneklerinin yeni istek/bağlantı almamasını sağlarken, yapılandırılan zaman aşımı değerine kadar mevcut bağlantıları korur. Bu, WebSocket bağlantıları için de geçerlidir.

Yapılandırma Türü Value
arka uç ayarında Bağlan boşaltma etkin olmadığında varsayılan değer 30 saniye
Arka Uç Ayarı'nda Bağlan Ion Boşaltma etkinleştirildiğinde kullanıcı tanımlı değer 1 - 3600 saniye

Bunun tek istisnası, ağ geçidi tarafından yönetilen oturum benzimi nedeniyle örneklerin kaydını kaldırmaya yönelik isteklerdir ve kayıt kaldırma örneklerine iletilmeye devam edecektir.

Protokol

Application Gateway, istekleri arka uç sunucularına yönlendirmek için hem HTTP hem de HTTPS'yi destekler. HTTP'yi seçerseniz arka uç sunucularına gelen trafik şifrelenmemiş olur. Şifrelenmemiş iletişim kabul edilebilir değilse HTTPS'yi seçin.

Dinleyicide HTTPS ile birlikte bu ayar uçtan uca TLS'yi destekler. Bu, şifrelenmiş hassas verileri arka uca güvenli bir şekilde iletmenizi sağlar. Arka uç havuzundaki uçtan uca TLS'nin etkinleştirildiği her arka uç sunucusu, güvenli iletişime izin vermek için bir sertifikayla yapılandırılmalıdır.

Bağlantı noktası

Bu ayar, arka uç sunucularının uygulama ağ geçidinden gelen trafiği dinlediği bağlantı noktasını belirtir. 1 ile 65535 arasında bir bağlantı noktası yapılandırabilirsiniz.

Güvenilen kök sertifika

Arka uç protokolü olarak HTTPS'yi seçerseniz Application Gateway, uçtan uca SSL için arka uç havuzuna güvenmek için güvenilir bir kök sertifika gerektirir. Varsayılan olarak, İyi bilinen CA sertifikası kullan seçeneği Hayır olarak ayarlanır. Otomatik olarak imzalanan bir sertifika veya iç Sertifika Yetkilisi tarafından imzalanan bir sertifika kullanmayı planlıyorsanız, Application Gateway'e arka uç havuzunun kullanacağı eşleşen ortak sertifikayı sağlamanız gerekir. Bu sertifikanın içindeki Application Gateway'e doğrudan yüklenmesi gerekir. CER biçimi.

Arka uç havuzunda güvenilen bir genel Sertifika Yetkilisi tarafından imzalanan bir sertifika kullanmayı planlıyorsanız, İyi bilinen CA sertifikası kullan seçeneğini Evet olarak ayarlayabilir ve ortak sertifika yüklemeyi atlayabilirsiniz.

İstek zaman aşımı

Bu ayar, uygulama ağ geçidinin arka uç sunucusundan yanıt almak için beklediği saniye sayısıdır.

Arka uç yolunu geçersiz kıl

Bu ayar, istek arka uca iletildiğinde kullanmak üzere isteğe bağlı bir özel iletme yolu yapılandırmanızı sağlar. Gelen yolun geçersiz kılma arka uç yolu alanındaki özel yolla eşleşen herhangi bir bölümü, iletilen yola kopyalanır. Aşağıdaki tabloda bu özelliğin nasıl çalıştığı gösterilmektedir:

HTTP ayarı temel bir istek yönlendirme kuralına eklendiğinde:

Özgün istek Arka uç yolunu geçersiz kıl İstek arka uca iletildi
/Ev/ /Geçersiz kılma/ /override/home/
/home/secondhome/ /Geçersiz kılma/ /override/home/secondhome/

HTTP ayarı yol tabanlı bir istek yönlendirme kuralına eklendiğinde:

Özgün istek Yol kuralı Arka uç yolunu geçersiz kıl İstek arka uca iletildi
/pathrule/home/ /pathrule* /Geçersiz kılma/ /override/home/
/pathrule/home/secondhome/ /pathrule* /Geçersiz kılma/ /override/home/secondhome/
/Ev/ /pathrule* /Geçersiz kılma/ /override/home/
/home/secondhome/ /pathrule* /Geçersiz kılma/ /override/home/secondhome/
/pathrule/home/ /pathrule/home* /Geçersiz kılma/ /Geçersiz kılma/
/pathrule/home/secondhome/ /pathrule/home* /Geçersiz kılma/ /override/secondhome/
/pathrule/ /pathrule/ /Geçersiz kılma/ /Geçersiz kılma/

Özel yoklama kullanma

Bu ayar, özel bir araştırmayı bir HTTP ayarıyla ilişkilendirir. Http ayarıyla yalnızca bir özel araştırma ilişkilendirebilirsiniz. Özel bir araştırmayı açıkça ilişkilendirmezseniz, arka ucun durumunu izlemek için varsayılan yoklama kullanılır. Arka uçlarınızın sistem durumu izlemesi üzerinde daha fazla denetim için özel bir yoklama oluşturmanızı öneririz.

Not

Özel yoklama, karşılık gelen HTTP ayarı bir dinleyiciyle açıkça ilişkilendirilmediği sürece arka uç havuzunun durumunu izlemez.

Konak adını yapılandırma

Application Gateway, arka uçla kurulan bağlantının, istemci tarafından Application Gateway'e bağlanmak için kullanılandan farklı bir ana bilgisayar adı kullanmasına olanak tanır. Bu yapılandırma bazı durumlarda yararlı olsa da, ana bilgisayar adını istemci ve uygulama ağ geçidi ile uygulama ağ geçidi arasında arka uç hedefine farklı olacak şekilde geçersiz kılma işlemi dikkatle yapılmalıdır.

Üretimde, istemci tarafından kullanılan ana bilgisayar adının uygulama ağ geçidine doğru, uygulama ağ geçidi tarafından kullanılan ana bilgisayar adıyla arka uç hedefinde tutulması önerilir. Bu, mutlak URL'ler, yeniden yönlendirme URL'leri ve konağa bağlı tanımlama bilgileriyle ilgili olası sorunları önler.

Bundan sapan Application Gateway'i ayarlamadan önce, mimari merkezi: Ters ara sunucu ile arka uç web uygulaması arasında özgün HTTP ana bilgisayar adını koruma makalesinde daha ayrıntılı olarak açıklandığı gibi bu yapılandırmanın etkilerini gözden geçirin.

Bir HTTP ayarının, Application Gateway tarafından arka uça bağlanmak için kullanılan Ana Bilgisayar HTTP üst bilgisini etkileyen iki yönü vardır:

  • Arka uç adresinden ana bilgisayar adını seçin
  • Ana bilgisayar adı geçersiz kılma

Arka uç adresinden ana bilgisayar adını seçin

Bu özellik, istekteki konak üst bilgisini dinamik olarak arka uç havuzunun ana bilgisayar adına ayarlar. Bir IP adresi veya FQDN kullanır.

Bu özellik, arka ucun etki alanı adı uygulama ağ geçidinin DNS adından farklı olduğunda ve arka uç doğru uç noktaya çözümlenmesi için belirli bir ana bilgisayar üst bilgisine bağlı olduğunda yardımcı olur.

Örnek bir durum, arka uç olarak çok kiracılı hizmetlerdir. Uygulama hizmeti, tek bir IP adresiyle paylaşılan alan kullanan çok kiracılı bir hizmettir. Bu nedenle, bir uygulama hizmetine yalnızca özel etki alanı ayarlarında yapılandırılan konak adları aracılığıyla erişilebilir.

Varsayılan olarak, özel etki alanı adı example.azurewebsites.net. Uygulama hizmetine açıkça kaydedilmemiş bir ana bilgisayar adı aracılığıyla veya uygulama ağ geçidinin FQDN'sini kullanarak uygulama hizmetinize erişmek için, uygulama hizmetinin ana bilgisayar adına yönelik özgün istekte ana bilgisayar adını geçersiz kılabilirsiniz. Bunu yapmak için arka uç adres ayarından konak adını seçin ayarını etkinleştirin.

Mevcut özel DNS adı uygulama hizmetine eşlenen özel bir etki alanı için, önerilen yapılandırma arka uç adresinden konak adını seçmeyi etkinleştirmemektir.

Ana bilgisayar adı geçersiz kılma

Bu özellik, uygulama ağ geçidinde gelen istekteki konak üst bilgisini belirttiğiniz konak adıyla değiştirir.

Örneğin, ana bilgisayar adı ayarında www.contoso.com belirtilirse, istek arka uç sunucusuna iletildiğinde *https://appgw.eastus.cloudapp.azure.com/path1 özgün isteği *https://www.contoso.com/path1 olarak değiştirilir.

Arka uç havuzu

Arka uç havuzunu dört arka uç üyesi türüne işaret edebilirsiniz: belirli bir sanal makine, sanal makine ölçek kümesi, IP adresi/FQDN veya uygulama hizmeti.

Arka uç havuzu oluşturduktan sonra bir veya daha fazla istek yönlendirme kuralıyla ilişkilendirmeniz gerekir. Ayrıca, uygulama ağ geçidinizdeki her arka uç havuzu için sistem durumu yoklamalarını yapılandırmanız gerekir. İstek yönlendirme kuralı koşulu karşılandığında, uygulama ağ geçidi trafiği ilgili arka uç havuzundaki iyi durumdaki sunuculara (sistem durumu yoklamaları tarafından belirlendiği gibi) iletir.

Durum araştırmaları

Azure Uygulaması lication Gateway, arka uç havuzundaki tüm sunucuların durumunu izler ve iyi durumda olmadığını düşündüğü herhangi bir sunucuya trafik göndermeyi otomatik olarak durdurur. Yoklamalar böyle iyi durumda olmayan bir sunucuyu izlemeye devam eder ve yoklamalar bunu iyi durumda olarak algılar algılamaz ağ geçidi trafiği bir kez daha yönlendirmeye başlar.

Varsayılan yoklama, ilişkili Arka Uç Ayarı'ndan ve diğer önceden ayarlanmış yapılandırmalardan bağlantı noktası numarasını kullanır. Özel Yoklamalar'ı kullanarak bunları kendi yönteminizle yapılandırabilirsiniz.

Yoklama davranışı

Kaynak IP adresi

Yoklamaların kaynak IP adresi arka uç sunucu türüne bağlıdır:

  • Arka uç havuzundaki sunucu genel bir uç noktaysa, kaynak adres uygulama ağ geçidinizin ön uç genel IP adresi olacaktır.
  • Arka uç havuzundaki sunucu özel bir uç noktaysa, kaynak IP adresi uygulama ağ geçidi alt ağınızın adres alanından olacaktır.

Yoklama işlemleri

Bir ağ geçidi, kuralı bir Arka Uç Ayarı ve Arka Uç Havuzu (ve elbette Dinleyici) ile ilişkilendirerek kuralı yapılandırdıktan hemen sonra yoklamaları tetiklemeye başlar. Çizimde ağ geçidinin tüm arka uç havuzu sunucularını bağımsız olarak yoklaması gösterilmektedir. Gelmeye başlayan gelen istekler yalnızca iyi durumdaki sunuculara gönderilir. Başarılı bir yoklama yanıtı alınana kadar arka uç sunucusu varsayılan olarak iyi durumda değil olarak işaretlenir.

Azure uygulama ağ geçidi sistem durumu yoklama işlemlerinin bir örneğini gösteren diyagram.

Gerekli yoklamalar, Arka Uç Sunucusu ve Arka Uç Ayarı'nın benzersiz bileşimine göre belirlenir. Örneğin, her birinin farklı bağlantı noktası numaralarına sahip iki sunucusu ve iki arka uç ayarı olan tek bir arka uç havuzuna sahip bir ağ geçidi düşünün. Bu ayrı arka uç ayarları ilgili kuralları kullanılarak aynı arka uç havuzuyla ilişkilendirildiğinde, ağ geçidi her sunucu için yoklamalar ve arka uç ayarının birleşimini oluşturur. Bunu Arka uç sistem durumu sayfasında görüntüleyebilirsiniz.

Arka uç sistem durumu ayarlarının bir örneğini gösteren ekran görüntüsü.

Ayrıca, uygulama ağ geçidinin tüm örnekleri arka uç sunucularını birbirinden bağımsız olarak yoklar.

Not

Arka uç sistem durumu raporu ilgili araştırmanın yenileme aralığına göre güncelleştirilir ve kullanıcının isteğine bağlı değildir.

Varsayılan sistem durumu yoklaması

Herhangi bir özel yoklama yapılandırması ayarlamadığınızda bir uygulama ağ geçidi varsayılan sistem durumu araştırmasını otomatik olarak yapılandırıyor. İzleme davranışı, arka uç havuzunda yapılandırılan IP adreslerine veya FQDN'ye HTTP GET isteğinde bulunarak çalışır. Arka uç http ayarları HTTPS için yapılandırılmışsa varsayılan yoklamalar için, araştırma arka uç sunucularının durumunu test etmek için HTTPS kullanır.

Örneğin: Uygulama ağ geçidinizi 80 numaralı bağlantı noktasında HTTP ağ trafiğini almak için A, B ve C arka uç sunucularını kullanacak şekilde yapılandırabilirsiniz. Varsayılan sistem durumu izleme, her istek için 30 saniyelik zaman aşımı ile iyi durumda bir HTTP yanıtı için her 30 saniyede bir üç sunucuyu test eder. İyi durumdaki bir HTTP yanıtının 200 ile 399 arasında bir durum kodu vardır. Bu durumda, durum yoklaması için HTTP GET isteği gibi http://127.0.0.1/görünür. Ayrıca bkz. Application Gateway'de HTTP yanıt kodları.

Varsayılan yoklama denetimi A sunucusu için başarısız olursa, uygulama ağ geçidi istekleri bu sunucuya iletmeyi durdurur. Varsayılan yoklama yine de 30 saniyede bir A sunucusunu denetlemeye devam eder. A sunucusu varsayılan sistem durumu yoklamasından bir isteğe başarıyla yanıt verdiği zaman, uygulama ağ geçidi istekleri sunucuya yeniden iletmeye başlar.

Varsayılan sistem durumu yoklaması ayarları

Yoklama özelliği Value Açıklama
Yoklama URL'si <protocol>://127.0.0.1:<port>/ Protokol ve bağlantı noktası, yoklamanın ilişkilendirildiği arka uç HTTP ayarlarından devralınır
Aralık 30 Bir sonraki sistem durumu yoklaması gönderilmeden önce saniye cinsinden bekleme süresi.
Zaman aşımı 30 Uygulama ağ geçidinin araştırmayı iyi durumda değil olarak işaretlemeden önce yoklama yanıtını beklediği saniye cinsinden süre. Yoklama iyi durumda olarak döndürülüyorsa, karşılık gelen arka uç hemen iyi durumda olarak işaretlenir.
Sağlıksız durum eşiği 3 Normal sistem durumu yoklamasında hata olması durumunda gönderilecek yoklama sayısını yönetir. v1 SKU'da, arka ucun durumunu hızla belirlemek ve yoklama aralığını beklememek için bu ek sistem durumu yoklamaları hızlı bir şekilde gönderilir. v2 SKU'su için sistem durumu yoklamaları aralığı bekler. Arka uç sunucusu, ardışık yoklama hatası sayısı iyi durumda olmayan eşiğe ulaştıktan sonra aşağı doğru işaretlenir.

Varsayılan yoklama, sistem durumunu belirlemek için yalnızca <protocol>://127.0.0.1:<port> adresine bakar. Sistem durumu araştırmasını özel bir URL'ye gidecek veya diğer ayarları değiştirecek şekilde yapılandırmanız gerekiyorsa, özel yoklamalar kullanmanız gerekir.

Özel sistem durumu yoklaması

Özel yoklamalar, sistem durumu izlemesi üzerinde daha ayrıntılı denetim sahibi olmanıza olanak sağlar. Özel yoklamaları kullanırken, arka uç havuzu örneğini iyi durumda değil olarak işaretlemeden önce özel bir konak adı, URL yolu, yoklama aralığı ve kabul etmek için kaç başarısız yanıt yapılandırabilirsiniz.

Özel sistem durumu yoklaması ayarları

Aşağıdaki tabloda, özel durum yoklaması özellikleri için tanımlar sağlanır.

Yoklama özelliği Açıklama
Ad Yoklamanın adı. Bu ad, arka uç HTTP ayarlarında araştırmayı tanımlamak ve bunlara başvurmak için kullanılır.
Protokol Araştırmayı göndermek için kullanılan protokol. Bunun ilişkili olduğu arka uç HTTP ayarlarında tanımlanan protokolle eşleşmesi gerekir
Ana Bilgisayar Yoklamanın gönder iletişim kutusuna konağın adı. v1 SKU'da bu değer yalnızca yoklama isteğinin konak üst bilgisi için kullanılır. v2 SKU'da hem konak üst bilgisi hem de SNI olarak kullanılır
Yol Yoklamanın göreli yolu. Geçerli bir yol '/' ile başlar
Bağlantı noktası Tanımlanmışsa, bu hedef bağlantı noktası olarak kullanılır. Aksi takdirde, ilişkilendirdiği HTTP ayarlarıyla aynı bağlantı noktasını kullanır. Bu özellik yalnızca v2 SKU'sunda kullanılabilir
Aralık Saniye cinsinden araştırma aralığı. Bu değer, ardışık iki yoklama arasındaki zaman aralığıdır
Zaman aşımı Yoklama saniyeler içinde zaman aşımına uğrar. Bu zaman aşımı süresi içinde geçerli bir yanıt alınmazsa yoklama başarısız olarak işaretlenir
Sağlıksız durum eşiği Yoklama yeniden deneme sayısı. Arka uç sunucusu, ardışık yoklama hatası sayısı iyi durumda olmayan eşiğe ulaştıktan sonra aşağı doğru işaretlenir

Yoklama eşleştirme

Varsayılan olarak, durum kodu 200 ile 399 arasında olan bir HTTP(S) yanıtı iyi durumda kabul edilir. Özel sistem durumu yoklamaları ayrıca iki eşleştirme ölçütünü de destekler. Eşleşen ölçütler, isteğe bağlı olarak iyi durumda yanıt oluşturanların varsayılan yorumunu değiştirmek için kullanılabilir.

Eşleşen ölçütler şunlardır:

  • HTTP yanıt durum kodu eşleşmesi - Kullanıcı tarafından belirtilen http yanıt kodunu veya yanıt kodu aralıklarını kabul etmek için yoklama eşleştirme ölçütü. Tek tek virgülle ayrılmış yanıt durum kodları veya bir durum kodu aralığı desteklenir.
  • HTTP yanıt gövdesi eşleşmesi - HTTP yanıt gövdesine bakan ve kullanıcı tarafından belirtilen bir dizeyle eşleşen yoklama eşleştirme ölçütü. Eşleşme yalnızca yanıt gövdesinde kullanıcı tarafından belirtilen dizenin varlığını arar ve tam bir normal ifade eşleşmesi değildir. Belirtilen eşleşme 4090 karakter veya daha kısa olmalıdır.

Eşleşme ölçütleri cmdlet'i New-AzApplicationGatewayProbeHealthResponseMatch kullanılarak belirtilebilir.

Örneğin:

Azure PowerShell

$match = New-AzApplicationGatewayProbeHealthResponseMatch -StatusCode 200-399
$match = New-AzApplicationGatewayProbeHealthResponseMatch -Body "Healthy"

Eşleştirme ölçütleri, PowerShell'de bir -Match işleç kullanılarak yoklama yapılandırmasına eklenebilir.

Özel yoklama kullanım örnekleri

  • Arka uç sunucusu yalnızca kimliği doğrulanmış kullanıcılara erişime izin veriyorsa, uygulama ağ geçidi yoklamaları 200 yerine 403 yanıt kodu alır. İstemciler (kullanıcılar) canlı trafik için kendi kimliklerini doğrulamaya bağlı olduğundan, yoklama trafiğini beklenen yanıt olarak 403'leri kabul etmek üzere yapılandırabilirsiniz.
  • Arka uç sunucusunda farklı alt etki alanlarına hizmet vermek için joker sertifika (*.contoso.com) yüklü olduğunda, başarılı bir TLS yoklaması oluşturmak ve bu sunucuyu iyi durumda olarak bildirmek için kabul edilen belirli bir konak adına (SNI için gereklidir) sahip özel bir yoklama kullanabilirsiniz. Arka Uç Ayarı'nda "override hostname" ayarı HAYIR olarak ayarlandığında, arka uçtan olduğu gibi farklı gelen ana bilgisayar adları (alt etki alanları) geçirilir.

Ağ güvenlik grubu (NSG) ile ilgili dikkat edilmesi gerekenler

Genel önizlemede NSG kuralları aracılığıyla Application Gateway alt ağı üzerinde ayrıntılı denetim yapılabilir. Daha fazla ayrıntı için buraya bakın.

Geçerli işlevsellikle bazı kısıtlamalar vardır:

Application Gateway v1 SKU'su için 65503-65534 numaralı TCP bağlantı noktalarında ve v2 SKU için 65200-65535 numaralı TCP bağlantı noktalarında gelen İnternet trafiğine, hedef alt ağı Herhangi biri ve kaynağı GatewayManager hizmet etiketi olarak izin vermelisiniz. Bu bağlantı noktası aralığı Azure altyapısı iletişimi için gereklidir.

Ayrıca, giden İnternet bağlantısı engellenemez ve AzureLoadBalancer etiketinden gelen trafiğe izin verilmelidir.

Uygulama ağ geçidi nasıl çalışır?

Azure uygulama ağ geçidinin nasıl çalıştığını gösteren diyagram.

Uygulama ağ geçidi isteği nasıl kabul eder?

  1. İstemci bir uygulama ağ geçidine istek göndermeden önce, bir Etki Alanı Adı Sistemi (DNS) sunucusu kullanarak uygulama ağ geçidinin etki alanı adını çözümler. Tüm uygulama ağ geçitleri azure.com etki alanında olduğundan Azure DNS girişini denetler.
  2. Azure DNS, IP adresini istemciye döndürür. Bu, uygulama ağ geçidinin ön uç IP adresidir.
  3. Uygulama ağ geçidi, bir veya daha fazla dinleyicide gelen trafiği kabul eder. Dinleyici, bağlantı isteklerini denetleyen mantıksal bir varlıktır. İstemcilerden uygulama ağ geçidine bağlantılar için ön uç IP adresi, protokol ve bağlantı noktası numarasıyla yapılandırılır.
  4. Bir web uygulaması güvenlik duvarı (WAF) kullanılıyorsa, uygulama ağ geçidi istek üst bilgilerini ve varsa gövdeyi WAF kurallarında denetler. Bu eylem, isteğin geçerli bir istek mi yoksa bir güvenlik tehdidi mi olduğunu belirler. İstek geçerliyse arka uça yönlendirilir. İstek geçerli değilse ve WAF Önleme modundaysa güvenlik tehdidi olarak engellenir. Algılama modundaysa istek değerlendirilir ve günlüğe kaydedilir, ancak yine de arka uç sunucusuna iletilir.

Azure Uygulaması lication Gateway, iç uygulama yük dengeleyici veya İnternet'e yönelik uygulama yük dengeleyici olarak kullanılabilir. İnternet'e yönelik bir uygulama ağ geçidi genel IP adreslerini kullanır. İnternet'e yönelik bir uygulama ağ geçidinin DNS adı, genel IP adresiyle genel olarak çözümlenebilir. Sonuç olarak, İnternet'e yönelik uygulama ağ geçitleri istemci isteklerini İnternet'ten yönlendirebilir.

İç uygulama ağ geçitleri yalnızca özel IP adreslerini kullanır. Özel veya Özel DNS bölge kullanıyorsanız, etki alanı adı, Application Gateway'in özel IP adresiyle dahili olarak çözümlenebilir olmalıdır. Bu nedenle, iç yük dengeleyiciler yalnızca uygulama ağ geçidi için bir sanal ağa erişimi olan istemcilerden gelen istekleri yönlendirebilir.

Uygulama ağ geçidi isteği nasıl yönlendirir?

İstek geçerliyse ve WAF tarafından engellenmiyorsa, uygulama ağ geçidi dinleyiciyle ilişkili istek yönlendirme kuralını değerlendirir. Bu eylem, isteğin hangi arka uç havuzuna yönlendirileceğini belirler.

İstek yönlendirme kuralına bağlı olarak, uygulama ağ geçidi dinleyicideki tüm isteklerin belirli bir arka uç havuzuna mı, istekleri URL yoluna göre farklı arka uç havuzlarına mı yönlendireceğini yoksa istekleri başka bir bağlantı noktasına mı yoksa dış siteye mi yönlendireceğini belirler.

Uygulama ağ geçidi arka uç havuzunu seçtiğinde, isteği havuzdaki iyi durumdaki arka uç sunucularından birine (y.y.y.y) gönderir. Sunucunun sistem durumu bir sistem durumu yoklaması tarafından belirlenir. Arka uç havuzu birden çok sunucu içeriyorsa, uygulama ağ geçidi istekleri iyi durumdaki sunucular arasında yönlendirmek için hepsini bir kez deneme algoritması kullanır. Bu yük, sunuculardaki istekleri dengeler.

Uygulama ağ geçidi arka uç sunucusunu belirledikten sonra, HTTP ayarlarına göre arka uç sunucusuyla yeni bir TCP oturumu açar. HTTP ayarları, arka uç sunucusuyla yeni bir oturum oluşturmak için gereken protokolü, bağlantı noktasını ve yönlendirmeyle ilgili diğer ayarları belirtir.

HTTP ayarlarında kullanılan bağlantı noktası ve protokol, uygulama ağ geçidi ile arka uç sunucuları arasındaki trafiğin şifrelenip şifrelenmediğini (dolayısıyla uçtan uca TLS'yi gerçekleştirerek) veya şifrelenmemiş olup olmadığını belirler.

Not

Kurallar, v1 SKU'su için portalda listelendikleri sırayla işlenir.

Bir uygulama ağ geçidi özgün isteği arka uç sunucusuna gönderdiğinde, ana bilgisayar adı, yol ve protokolü geçersiz kılmayla ilgili HTTP ayarlarında yapılan tüm özel yapılandırmaları kabul eder. Bu eylem tanımlama bilgisi tabanlı oturum benzini, bağlantı boşaltmayı, arka uçtan konak adı seçimini vb. korur.

Arka uç havuzu:

  • Genel bir uç noktadır, uygulama ağ geçidi sunucuya ulaşmak için ön uç genel IP'sini kullanır. Ön uç genel IP adresi yoksa, giden dış bağlantı için bir ip adresi atanır.
  • Dahili olarak çözümlenebilir bir FQDN veya özel IP adresi içeren uygulama ağ geçidi, isteği özel IP adreslerini kullanarak arka uç sunucusuna yönlendirir.
  • Bir dış uç nokta veya harici olarak çözümlenebilir bir FQDN içerir, uygulama ağ geçidi ön uç genel IP adresini kullanarak isteği arka uç sunucusuna yönlendirir. Alt ağ hizmet uç noktaları içeriyorsa, uygulama ağ geçidi isteği özel IP adresi aracılığıyla hizmete yönlendirir. DNS çözümlemesi, yapılandırılmışsa özel bir DNS bölgesini veya özel DNS sunucusunu temel alır veya azure tarafından sağlanan varsayılan DNS'yi kullanır. Ön uç genel IP adresi yoksa, giden dış bağlantı için bir ip adresi atanır.

Arka uç sunucusu DNS çözümlemesi

Bir arka uç havuzunun sunucusu Tam Etki Alanı Adı (FQDN) ile yapılandırıldığında, Application Gateway etki alanı adının IP adreslerini almak için bir DNS araması gerçekleştirir. IP değeri, gelen isteklerin sunulması sırasında hedeflere daha hızlı ulaşmasını sağlamak için uygulama ağ geçidinizin önbelleğinde depolanır.

Application Gateway bu önbelleğe alınmış bilgileri söz konusu DNS kaydının TTL'sine (yaşam süresi) eşdeğer bir süre boyunca saklar ve TTL'nin süresi dolduğunda yeni bir DNS araması gerçekleştirir. Bir ağ geçidi, sonraki DNS sorgusu için IP adresinde bir değişiklik algılarsa trafiği bu güncelleştirilmiş hedefe yönlendirmeye başlar. DNS aramasının yanıt alamaması veya kaydın artık mevcut olmaması gibi sorunlarda ağ geçidi bilinen son iyi IP adreslerini kullanmaya devam eder. Bu, veri yolu üzerinde en az etkiyi sağlar.

  • Application Gateway'in Sanal Ağ özel DNS sunucuları kullanırken, tüm sunucuların aynı olması ve aynı DNS değerleriyle tutarlı bir şekilde yanıt vermesi çok önemlidir.
  • Şirket içi özel DNS sunucularının kullanıcıları, Özel uç nokta için bir Özel DNS bölgesi kullanırken Azure DNS Özel Çözümleyicisi (önerilen) veya DNS ileticisi VM aracılığıyla Azure DNS bağlantısı sağlamalıdır.

İstekte yapılan değişiklikler

Application Gateway, istekleri arka uçtan iletmeden önce tüm isteklere altı ek üst bilgi ekler. Bu üst bilgiler x-forwarded-for, x-forwarded-port, x-forwarded-proto, x-original-host, x-original-url ve x-appgw-trace-id şeklindedir. x-forwarded-for üst bilgisinin biçimi, IP:bağlantı noktasının virgülle ayrılmış bir listesidir.

x-forwarded-proto için geçerli değerler HTTP veya HTTPS'dir. X-forwarded-port, isteğin uygulama ağ geçidine ulaştığı bağlantı noktasını belirtir. X-original-host üst bilgisi, isteğin geldiği özgün ana bilgisayar üst bilgisini içerir. Bu üst bilgi, trafik arka uçtan yönlendirilmeden önce gelen ana bilgisayar üst bilgisinin değiştirildiği Azure web sitesi tümleştirmesinde kullanışlıdır. Oturum benzimliği bir seçenek olarak etkinleştirildiyse ağ geçidi tarafından yönetilen benzite tanımlama bilgisi ekler.

X-appgw-trace-id, her istemci isteği için uygulama ağ geçidi tarafından oluşturulan ve arka uç havuzu üyesine iletilen istekte sunulan benzersiz bir guid'dir. Guid, tire olmadan sunulan 32 alfasayısal karakterden oluşur (örneğin: ac882cd65a2712a0fe1289ec2bb6aee7). Bu guid, uygulama ağ geçidi tarafından alınan ve Tanılama Günlüklerindeki transactionId özelliği aracılığıyla bir arka uç havuzu üyesiyle başlatılan bir isteği ilişkilendirmek için kullanılabilir.

Http üst bilgilerini ve URL'sini Yeniden Yaz'ı kullanarak istek ve yanıt üst bilgilerini ve URL'yi değiştirmek veya bir yol geçersiz kılma ayarı kullanarak URI yolunu değiştirmek için uygulama ağ geçidini yapılandırabilirsiniz. Ancak, bunu yapmak için yapılandırılmadığı sürece, tüm gelen istekler arka uçla karıştırılır.