Modern yazılım mimarisinde, mikro hizmetler ölçeklenebilir, dayanıklı ve bağımsız olarak dağıtılabilir uygulamalar için standart haline geldi. ancak, düzinelerce veya hatta yüzlerce mikro hizmet API'si yönetmek önemli karmaşıklık sağlar - talepler, güvenlik politikaları için, taşıma limitleri ve görünürlük kazanmak için her kritik zorluk için. Azure API Gateway bu zorlukların üstesinden gelmek, tüm mikro hizmet API'leri için merkezileştirilmiş giriş noktası.
Azure API Gateway Gateway
Azure API Gateway, müşterileri ve mikro hizmet arka uçları arasında oturan bir bulut tabanlı hizmettir. Tüm API çağrılarını kabul etmek, tanımlanmış politikaları uygulamak (tatikasyon, throttling, login, dönüşüm), ve uygun geri dönüş hizmeti için talepleri yürütmek. geleneksel monolithic geçitlerinden farklı olarak, Azure API Gateway otomatik olarak trafikle yapılır ve Azure Active Directory, Uygulama İçgörüleri ve Azure Monitor gibi diğer Azure servisleriyle entegre eder.
API ağ geçidini karşılaştırırken, Azure API Gateway, Azure ekosistemiyle sıkı entegrasyon için öne çıkıyor. Ekipler için Azure kullanarak operasyonel yükü sunucuları yönetme ihtiyacını ortadan kaldırarak, yük bakiyelerini veya ters proxyleri de destekliyor.
Azure API Gateway'in temel özellikleri
Routing ve Dönüşüm İste
Azure API Gateway rotaları gelen istekler URL yollarına, başlıklara, sorgu parametrelerine veya ödeme yükleme içeriğine dayanan farklı mikro hizmetlere yol açabilir.You can define multiple backends and map them dynamically using Gateway policy values.In addition, the gateway can transform request and response maaşloads - Örneğin, XML to JSON, striptiz veya ekleme başlıklarına dönüştürmek için, veya geri dönüş isteklerine göndermeden önce URL'leri yeniden yazabilirsiniz.This is the client applications from internal service requirements.
Kimlik ve Yetki
Güvenlik birinci sınıf bir özelliktir. Azure API Gateway çeşitli kimlik doğrulama mekanizmaları destekler:
- [FONT=0)OAuth 2.0 / OpenID Connect) – Azure AD veya herhangi bir OAuth sağlayıcısıyla birlikte, talepleri önceden doğrulamadan önce belirtilmesi için.
- [FONT:0)API Keys[[Dönetici: 1) Geçerli bir anahtar, kamu veya ortak API'ler için faydalı olan müşterilere hızlı bir şekilde erişim.
- [FONT=0]JWT Validation[[Dönemli: 1)[Dönder: 1) İmzayı, seyirciyi ve seyirciyi ve kendi kendine yeten jetonlarını onaylayın.
- [FONT:0)Client Sertifikalar) - mTLS (mutlu TLS) senaryoları için, ağ geçidi sertifikaları kullanarak müşterileri kimlikleri kimlikleri kimliklendirmek için kimlikleri kimliklendirmek için kimlikleri kimlikleri kimliklendirmek için kimlikleri kimlikleri kimliklendirmek için kimlikleri kimlikleri kimliklendirmek için kimlikleri kimlikleri kimlikleri kimliklendirmek için kimlikleri kimlikleri kimliklendirmek için kimlikleri kimliklendirmek için kimlikleri kimlikleri kimliklendirmek için kimlikleri garanti edebilir.
Bu güvenlik politikaları, İZFLT:0)IP filtreleme ile birleştirilmiştir ). ve [[Dön limit[DDDDD][D][D][D][3][D][D][D][FONT][/FONT=0) mikro hizmetlerinize ulaşmadan önce kötü niyetli trafiği engellemek için.
Limiting ve Quotas
Limitleme, müşterileri arasında adil kullanım sağlamak için gereklidir. Azure API Gateway, geri dönüş hizmetlerini etkilemez (örneğin, dakikada 100 talep) ve kontenjanlar (örneğin, 10.000 çağrı) belirlenen zaman limitleri aşılırsa, ağ geçidi geri dönüş hizmetlerini etkilemez.
Performans için Caching for Performance
Geri yüklemeyi azaltmak ve yanıt süresini geliştirmek için, Azure API Gateway yanıt caching'i desteklemektedir. Operasyon başına önbellek girişleri ağ geçidi örnekleriyle paylaşılan bir önbellekli oturumlarda depolanır, böylece ölçeklendirme olayları sırasında bile yanıtlar kullanılabilir.
Analytics ve İzleme
Ağ geçidi aracılığıyla aktığı her istek giriştir. Azure API Gateway, Azure Monitor ve Uygulama İçgörüleri ile belirli bir uç noktası hedeflemek için uyarılabilir.
Azure API Gateway Gateway ile Mikroservice APIs
Merkezileştirilmiş yönetim, API ağ geçidi kullanarak en güçlü argümanlardan biridir. Azure API Gateway, yapabileceğiniz Azure Portal içinde birleştirilmiş pano sunuyor:
- API tanımlarını ( OpenAPI/Swagger format) tanımlamak ve otomatik olarak politikalar üretir.
- Grup ilgili API'ler farklı erişim tiers (özgür, premium, vb.) ile ürünlere bağlanır.
- API'lerinizin mevcut müşterileri kırmadan sürümlerini yönetin.
- Birden çok seviyede politikalar uygulayın - küresel, ürün, API ve operasyon - iyi eğitimli kontrol için.
altyapı için kodlar için, ağ geçidi tanımlayabilirsiniz, API'ler ve Azure Resource Manager şablonları, Bicep veya Terraform kullanarak politikalar. Bu, CI/CD boru hatlarının API değişiklikleri otomatik olarak dağıtmasını sağlar, ortamlara karşı tutarlılığı sağlar.
Azure API Gateway ile Securing APIs with Azure API API Gateway
Güvenlik çok katmanlı bir endişedir. Azure API Gateway, savunma-in- ⁇ in- ⁇ in- ⁇ in- ⁇ in- ⁇ in- ⁇ in prensibini uygulamaya yardımcı olur:
Kimlik ve Hediye Geçerliliği
OAuth 2.0 jetonlarını ( Azure AD veya özel STS'den gelen jetonları) ağ geçidinde geçerli olarak, mikro hizmetlerin kendilerini artık kodlama ve doğru belirteçleri doğrulamaları gerekmez.Bu, kazan plaka kodu azaltır ve güvenlik denetimini azaltır.
Tehdit Koruma Koruma Koruma Tehdit Tehdit Koruma Tehdit Koruma Tehdit Koruma Tehdit Koruma Tehdit Koruma Tehdit Koruma Koruma Koruma Tehdit Koruma Tehdit
Azure API Gateway, Azure Front Door veya Uygulama Gateway'in arkasında dağıtılan Azure Web Uygulama Duvarı (WAF) ile entegre edilebilir. WAF blokları ortak OWASP-style saldırıları (SQL enjeksiyonu, XSS) API ağ geçidine ulaşmadan önce, ağ geçidinin kendisi talep vücutlarını doğrulama, limit içerik uzunluğu doğrulama ve yanlış parasal ücret yükleri reddetme politikaları uygulayabilir.
IP ve Network Security
Belirli IP adreslerine veya aralıklarına trafik kısıtlayabilirsiniz. İç mikro hizmetler için, ağ geçidi yalnızca sanal ağdan aramaları kabul etmek için yapılandırılabilir (VNet), özel uç noktaları ile birlikte, Azure omurgası içindeki tüm arka uç trafiği tutabilirsiniz.
Özel Güvenlik İçin Politika Expressions
Politika ifadeleri, C# benzeri kodları denetim altına alan başlık, sorgu dizeleri veya vücut içeriği ve kararlar vermenize izin verir. Örneğin, özel bir başlık kontrol edebilir ve bir HMAC imzasını talep etmek için onaylarsanız veya bir HMAC imzasını onaylayabilirsiniz. Bu esneklik, ağ geçidinden çıkmadan hemen hemen hemen hemen herhangi bir güvenlik gereksinimini uygulayabilirsiniz.
Performans ve Scaling
Azure API Gateway yüksek aktarım işlemi için tasarlanmıştır. Otomatik olarak talep ve CPU kullanımı sayısına göre ölçeklenir.İki tane tiers vardır: [[Üyetim:0)Developer) ve [[Test ve değerlendirme için) ve ).
Daha da optimize etmek için performans:
- [FONT:0)Enable caching[[[Dönemli pdf) okunabilir, geri dönüş çağrılarını azaltmak için e-posta API'leri okunur.
- [0]Daha fazla havuz kullanmak [Dönegen:0) Birden fazla durumda trafik dağıtmak için dengelemek için yük dengelemek için geri dönüşümlü havuzları kullanın.
- [FONT=0]Implement devre kesici kalıpları[[Dönetici: 1), hatalardan kaçınmak için politikalar yoluyla.
- [FONT=0) Geçin (Döneticiler) ve uygun zaman aralıkları ayarlayın.
İzleme ve Analytics
Azure Monitor entegrasyonu ile, her API çağrısı üzerinde gerçek zamanlı ve tarihsel veriler elde edersiniz.Gruplamada üst API'leri kullanmak, hata oranları ve yanıt süreleri ile görüntülemek için uyarılar oluşturun - örneğin, p95 gecikme süresi 2 saniye veya 4XX hata hızı artışları geçtiğinde.
Azure API Gateway için en iyi uygulamalar
- [FONT=0) Tasarım API'leri akılda ağ geçidi ile tasarlar[DÜT:1) – tutarlı URL kalıpları ve sürümleme şemalarını kullanın (örneğin, [[ENFLT:0).
- [FONT:0) Ağ geçidi politikaları basit[[Dönetici: 1)) tut. - Geçi etkileyen karmaşık politika zincirlerinden kaçının.
- [FONT:0]Combine ağ geçidi Azure Front Door ile ağ geçidi[FONT, geo-solcy ve WAF koruması, API Gateway'den önce Azure Kapısını yerleştirin.
- [FONT:0)Automate dağıtımları[[Dönetici: 1) - Standart bağlantı kurmak ve sürekli olarak ağ geçidi yapılandırmaları uygulamak için altyapı kod kullanın.
- [[Döneticileri ve oranı sınırları [Dönetici:0) Kullanımı[Dönetici:0)Yetersiz bir hizmetten anormal trafiği tespit etmek için bile.
- [FONT:0)Enable tanı logları[[Dönetici: 1) Gemi girişleri Log Analytics'e giriş yapar ve Azure Sentinel ile güvenlik denetimleri için bağlanır.
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Azure API Gateway, Azure'un ekosistemini entegre ederek, yüksek performans, derin görünürlük ve operasyonel basitliğe sahip ekipler için sağlam, karmaşık bir mimariye veya yeşil alan mikro hizmet peyzajını merkezileştirerek yükleri azaltır, Azure Gateway, API'nin ekosistemini entegre ederek, yüksek performans, derin görünürlük elde edebilir ve operasyonel basitliğinizi azaltır.
Daha fazla okuma için:
- [FONT=0) Azure API Yönetim anahtar kavramlar (Microsoft Docs)).
- [FONT=0)OAuth 2.0 spesifikasyon[Dönem: 1 )
- [0]API Gateway modeli mikro hizmette (Azure Architecture Center)).
- [FONT:0) Azure API Yönetiminde limitli olarak sınırlandırılıyor).
- [FONT:0) Azure (Microsoft Docs) ile modelleme).