Azure API Management giriş bölgesi mimarisi

Azure API Management
Azure Application Gateway
Azure İşlevleri
.NET

API'ler, kuruluşların ve müşterilerinin hem iç sistemlerde hem de dış kanallar aracılığıyla hizmetlere erişme şekliyle giderek daha da ayrılmaz hale gelmiştir. API'ler dahili olarak iş kolu (LoB) uygulamalarına, özel çözümlere ve iş ortağı tümleştirmelerine erişimi kolaylaştırır. Harici olarak, giderek artan sayıda kuruluş üretkenliği artırmaya ve API'nin para kazanma yoluyla gelir elde etmesine odaklanmaktadır. Bu eğilim göz önünde bulundurulduğunda, Azure API Management hem iç hem de dış paydaşlar için API'lerin standartlaştırılmış idaresi, yayını ve gözetiminde temel bir unsur görevi görür.

Azure Application Gateway, API'ler için bir güvenlik denetim noktası görevi görür. Kullanıcıların doğrudan İnternet üzerinden bağlanmasına izin vermek yerine, tüm trafiği bir uygulama ağ geçidi üzerinden yönlendirirsiniz. Bu kurulum, API'lerinizi korumaya yardımcı olmak için ek erişim denetimleri ekler. Bu yaklaşımla, hem kuruluşunuzdaki iç API'leri hem de kuruluşunuzun dışındaki dış API'leri desteklemek için tek bir API Management örneği kullanabilir ve genel kullanıma açık API'leri ağ geçidinin arkasında güvenli tutabilirsiniz.

Mimari

Diyagramda API Management için güvenli bir temel mimari gösterilmektedir.

Bu mimarinin Visio dosyasını karşıdan yükleyin.

Bu mimari, ilkelerin Azure giriş bölgesi referans uygulamasından mevcut olduğunu ve yapının yönetim grubundan yukarıdan aşağı doğru yönlendirildiğini varsayar.

İş Akışı

  • Genel IP adresleri, dış trafiğin giriş noktası olarak hizmet veren bir uygulama ağ geçidine atanır. Bu uç nokta API'leri özel bir etki alanı aracılığıyla kullanıma sunar.

  • Uygulama ağ geçidi kendi alt akında dağıtılır ve gelen istekleri incelemek ve filtrelemek için Web Application Firewall (WAF) ilkeleriyle korunur.

  • Trafik, uygulama ağ geçidinden ayrı bir alt ağda bulunan API Management'a (Premium) yönlendirilir. API Management örneği, doğrudan genel erişimi engelleyen iç modda yapılandırılır.

  • Özel uç noktalar, API Management'ı yalnızca sanal ağa sunulan arka uç uygulama sunucularına güvenli bir şekilde bağlamak için kullanılır. API Management ayrıca Azure anahtar kasaları gibi bağımlılıkları düzenli aralıklarla bağlar. Bu özel bağlantının tümü genellikle ayrılmış bir özel uç nokta alt ağındaki uç noktalarla gerçekleşir.

  • Log Analytics çalışma alanları ve Application Insights günlüğe kaydetme, izleme ve telemetri için tümleşiktir.

Bileşenler

  • API Management , hibrit ve çoklu bulut ortamlarında hizmetleri yönetmenize olanak tanıyan yönetilen bir hizmettir. Hem iç hem de dış kullanıcılar tarafından API gözlemlenebilirliği ve tüketimi için denetim ve güvenlik sağlar. Bu mimaride API Management, arka uç mimarisini soyutlama cephesi görevi görür.

  • Application Gateway , katman 7 yük dengeleyici ve WAF olarak hizmet veren yönetilen bir hizmettir. Application Gateway, iç ve dış modların kullanılmasını sağlayan iç API Management örneğini korur. Bu mimaride API Management, API'lerin güvenliğini sağlar ve Application Gateway WAF gibi tamamlayıcı özellikler ekler.

  • Private Etki Alanı Adı Sistemi (DNS) bölgeleri özel bir DNS çözümü uygulamaya gerek kalmadan sanal ağ içindeki etki alanı adlarını yönetmenize ve çözümlemenize olanak tanıyan bir Azure DNS özelliğidir. Özel bir DNS bölgesi, sanal ağ bağlantıları aracılığıyla bir veya daha fazla sanal ağa hizalanabilir. Bu mimaride, sanal ağ içinde düzgün ad çözümlemesi sağlamak için özel bir DNS bölgesi gereklidir.

  • Application Insights , geliştiricilerin anomalileri algılamalarına, sorunları tanılamalarına ve kullanım desenlerini anlamalarına yardımcı olan genişletilebilir bir uygulama performansı yönetim hizmetidir. Application Insights, canlı web uygulamaları için genişletilebilir uygulama performansı yönetimi ve izleme özellikleri sunar. .NET, Node.js, Java ve Python gibi çeşitli platformlar desteklenir. Azure, şirket içinde, karma ortamda veya diğer genel bulutlarda barındırılan uygulamaları destekler. Bu mimaride Application Insights, dağıtılan uygulamanın davranışlarını izler.

  • Log Analytics isteğe bağlı olarak Azure portalının içinden Azure Monitor Günlüklerindeki verilerde günlük sorgularını düzenlemenizi ve çalıştırmanızı sağlayan bulut tabanlı bir veri çözümleme aracıdır. Geliştiriciler kayıtları almak için basit sorgular çalıştırabilir veya gelişmiş analiz için Log Analytics kullanabilir ve ardından sonuçları görselleştirebilir. Bu mimaride Log Analytics analiz ve raporlama için tüm platform kaynak günlüklerini toplar.

  • Azure Key Vault, gizli bilgileri güvenli bir şekilde depolayan ve erişim sağlayan bir bulut hizmetidir. Bu gizli diziler API anahtarlarından ve parolalarından sertifikalara ve şifreleme anahtarlarına kadar değişir. Bu mimaride, Key Vault Application Gateway'in kullandığı Güvenli Yuva Katmanı (SSL) sertifikalarını depolar.

Alternatifler

API Management örneğinin bağlandığını arka uç hizmetleri için çeşitli alternatifler mevcuttur:

  • Azure App Service web uygulamalarını derleyen, dağıtan ve ölçeklendirin tam olarak yönetilen http tabanlı bir hizmettir. .NET, .NET Core, Java, Ruby, Node.js, PHP ve Python destekler. Uygulamalar Windows veya Linux tabanlı ortamlarda çalışabilir ve ölçeklendirilebilir.

  • Azure Kubernetes Service (AKS), tam olarak yönetilen kümeler sunan yönetilen bir Kubernetes teklifidir. Entegre sürekli entegrasyon ve sürekli teslimat (CI/CD) sağlarken, yerleşik yönetim ve güvenlik özelliklerini de içerir.

  • Azure Logic Apps otomatik iş akışları oluşturan ve çalıştıran bulut tabanlı bir platformdur. Daha fazla bilgi için örnek başvuru mimarisine bakın.

  • Azure Container Apps, sunucusuz bir platformda mikro hizmetleri ve kapsayıcılı uygulamaları çalıştırmanızı sağlayan tam olarak yönetilen sunucusuz bir kapsayıcı hizmetidir.

Çok bölgeli dağıtımlarda, kullanıcılarınız ile uygulamalarınızın statik ve dinamik web içeriği arasında hızlı, güvenilir ve güvenli erişim sağlamak için Azure Front Door kullanmayı göz önünde bulundurun.

Application Gateway'in API'leri nasıl koruyabileceğine ait ek örnekleri görmek için bkz. Application Gateway ve API Management ile API'leri koruma.

Dikkat edilmesi gereken noktalar

Bu önemli noktalar, bir iş yükünün kalitesini artırmak için kullanabileceğiniz bir dizi yol gösteren ilke kümesi olan Azure Well-Architected Framework'ün yapı taşlarını uygular. Daha fazla bilgi için bkz. Well-Architected Framework.

Güvenilirlik

Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesine yardımcı olur. Daha fazla bilgi için bkz . Güvenilirlik için tasarım gözden geçirme denetim listesi.

  • Her bölgede en az iki kullanılabilirlik alanına yayılan iki veya daha fazla ölçek birimi ile API Management'ı dağıtın. Kapasite ölçümlerini izleyin ve bir kullanılabilirlik alanındaki birimler kaybolsa bile çalışmaya devam edebilmeniz için yeterli kapasite birimleri sağlayın.

  • Kullanılabilirlik alanlarını ve çok bölgeli dağıtımları desteklediğinden Premium katmanını kullanmanızı öneririz. Bu özellik, bir bölge veya bölge kapansa bile hizmetlerinizin çalışmaya devam etmesi anlamına gelir. Bu özellikler kesintiler veya olağanüstü durumlar sırasında uygulamanızın korunmasına yardımcı olur.

  • Olağanüstü durum kurtarma için API Management'ı sistem tarafından atanan kimlik yerine kullanıcı tarafından atanan yönetilen kimlikle ayarlayın. Kaynağı yeniden dağıtabilir veya silerseniz, erişimi daha kolay geri yükleyebilmeniz için kimlik ve izinleri yerinde kalır. Yedeklemeleri otomatikleştirmek için Azure Pipelines kullanın. Daha fazla güvenilirlik için hizmetlerinizi birden fazla bölgeye dağıtmanız gerekip gerekmediğini belirleyin.

  • Sanal ağ eşlemesi bir bölge içinde güçlü performans sağlar, ancak 500 ağ ölçeklenebilirlik sınırına sahiptir. Daha fazla iş yükü bağlamanız gerekiyorsa hub-spoke tasarımı veya Azure Virtual WAN kullanın.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanımına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik için tasarım gözden geçirme denetim listesi.

  • API Management doğrulama ilkeleri , API isteklerini ve yanıtlarını bir OpenAPI şemasına göre doğrular. Bu özellikler WAF'nin yerini almasa da bazı tehditlere karşı ek koruma sağlayabilir. Doğrulama ilkeleri eklemenin performansı etkileyebileceğinden, API aktarım hızı üzerindeki etkilerini değerlendirmek için performans yük testlerini kullanmanızı öneririz.

  • API'ler için Microsoft Defender API Management'ta yayımlanan API'ler için tam yaşam döngüsü koruması, algılama ve yanıt sağlar. Anahtar özelliklerden biri, makine öğrenmesi tabanlı ve kural tabanlı algılamaları kullanarak çalışma zamanı anomali gözlemleri aracılığıyla Açık Web Uygulaması Güvenliği Project (OWASP) API'sinin en iyi 10 güvenlik açığının açıklarını algılamaktır.

  • API Management çalışma alanları , API'lerinizi düzenlemenize ve yalıtmanıza yardımcı olur. Bu yaklaşım, bunlara kimlerin erişebileceğini ve bunları yönetebileceğini denetlemeyi kolaylaştırır. Her çalışma alanının kendi izinleri olabilir, böylece erişimi yalnızca ihtiyacı olan kişilerle veya ekiplerle sınırlayabilirsiniz. Bu ayırma, yanlışlıkla değişiklik veya yetkisiz erişim riskini azaltır ve daha güvenli bir API ortamını destekler.

  • Hassas bilgileri API Management ilkelerinde korumak için Key Vault sırlarını API Management adlandırılmış değerleri olarak kullanın.

  • Application Gateway kullanarak bir iç API Yönetimi (API Management) örneğinin dış erişimini sağlamak, API Yönetimi örneğini korumak, WAF kullanarak yaygın web uygulaması açıklarına ve güvenlik açıklarına karşı savunmak ve karma bağlantıyı etkinleştirmek.

  • Karma bağlantıyı ve artırılmış güvenliği desteklemek için API Management ağ geçidini bir sanal ağa dağıtın.

  • Sanal ağ eşlemesi bir bölgedeki performansı artırır ve sanal ağlar arasında özel iletişim sağlar.

  • WAF kullandığınızda, gelen trafiği kötü amaçlı davranış açısından inceleyen bir katman eklersiniz. Bu koruma, SQL ekleme ve siteler arası betik oluşturma gibi yaygın tehditleri engellemeye yardımcı olur. Application Gateway ve dağıtılmış hizmet reddi (DDoS) koruması, aşırı trafiğin veya bağlantı taşmasının API Management örneğini bunaltmasını önlemeye yardımcı olur. Daha fazla bilgi için bkz. Application Gateway ve API Management kullanarak API'leri koruma.

  • Azure Functions için özel uç noktalar, sanal ağınızdaki özel bir IP adresi üzerinden işlev uygulamalarınıza güvenli bir şekilde bağlanmanızı sağlar. Bu kurulum, işlevlerinizin genel İnternet'e açık olmasını önleyerek yetkisiz erişim riskini azaltır. Bu mimaride özel uç noktalar yalnızca ağınızdaki güvenilen kaynakların Azure Functions erişebilmesini sağlar.

Ters vekil sunucu arkasında API Management ilkelerinin yönetilmesi

Web Application Firewall (WAF) ile Application Gateway, API Yönetimi'nin önünde konumlandırılır ve iç API Management örneğine ulaşmadan önce tüm API trafiğini işler. Amaç, istemci isteklerini inceleyen, filtreleyen ve yönlendiren, API Management ise API idaresi, dönüştürme ve arka uç tümleştirmesine odaklanan uç düzeyinde bir güvenlik katmanı eklemektir.

Ancak, bu katmanlı topoloji belirli API Management ilkeleri için davranışsal etkileri vardır: TLS sonlandırması, yönlendirme kararları veya Application Gateway sınırında üst bilgi/bağlantı dönüştürmeleri gerçekleştiğinde, API Management ilke altyapısı beklediği özgün istemci isteği ayrıntılarını göremeyebilir. Bu, ilkelerin API Management'ın doğrudan kullanıma sunulduğundan farklı davranmasına neden olabilir. Örneğin:

  • İstemci IP tabanlı filtreleme: Kaynak IP adreslerine göre trafiğe izin verebileceğiniz veya trafiği reddedebileceğiniz durumlar gibi ip-filter ilkeler artık application gateway'in özel IP'sini gerçek istemci adresi olarak değil kaynak olarak görür. Sonuç olarak, doğru trafiğin filtrelendiğinden ip-filter emin olmak için ilkenin dikkatle planlanması ve yönetilmesi gerekir.

  • İlke sıralama ve bağlam varsayımları: API Management ilkeleri, belirli üst bilgilerin, konak adlarının veya istek özelliklerinin bulunduğu taleplerde çalışacak şekilde tasarlanmıştır. Application Gateway üst bilgileri yeniden yazarsa (yönlendirme, özel etki alanları veya SSL boşaltma için), aşağı akış API Management ilkelerinin dayandığı bağlam bu ilkelerde tanımlananlarla eşleşmeyebilir. Bu, API Management içindeki yönlendirme ilkelerinin, doğrulamanın veya dönüştürme mantığının istemci amacını uyuşmazlaştırmasına neden olabilir.

Application Gateway ve API Management iki uygulama katmanı haline gelir ve API Management'ın gelen istekleri incelemesi, özgün istemci bağlamından bir adım ayrıdır. API Management'ta, ham istemci özniteliklerine bağımlı olan ilkeleri, bu öznitelikler uçtan uca korunmadıkça kullanmaktan kaçınmanız ve HTTP isteğinde bulunan verilere dayalı özel ilkeler oluşturmanız gerekebilir.

Bazı ek öneriler için, ana bilgisayar üst bilgileri gibi verilerin nasıl korunacağı hakkında, Ters proxy ve arka uç web uygulaması arasında özgün HTTP ana bilgisayar adını koruma başlığına bakın.

Maliyet İyileştirme

Maliyet İyileştirme, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarına odaklanır. Daha fazla bilgi için bkz . Maliyet İyileştirme için tasarım gözden geçirme denetim listesi.

  • Bu dağıtım, kullanılabilirlik alanı ve sanal ağ özelliklerini desteklemek için Premium planı kullanır. Ayrılmış örneklere ihtiyacınız yoksa, hem ağ erişimini hem de kullanılabilirlik alanlarını destekleyen Flex Consumption'ı da kullanabilirsiniz. Bu dağıtım için fiyatlandırma hesaplayıcısını gözden geçirin.

  • Kavramların veya prototiplerin kanıtı için Geliştirici veya Standart gibi diğer API Management katmanlarını kullanmanızı öneririz.

Operasyonel Mükemmellik

Operasyonel Mükemmellik, bir uygulamayı dağıtan ve üretimde çalışır durumda tutan operasyon süreçlerini kapsar. Daha fazla bilgi için bkz . Operasyonel Mükemmellik için tasarım gözden geçirme denetim listesi.

  • API Management yapılandırmalarını Azure Resource Manager şablonları olarak temsil edin ve kod olarak altyapı (IaC) yaklaşımını benimseyin.

  • API Management yapılandırmalarını yönetmek, sürüm oluşturmak ve güncelleştirmek için CI/CD işlemi kullanın.

  • API Management örneğinizin durumunu doğrulamaya yardımcı olmak için özel sistem durumu yoklamaları oluşturun. Uygulama ağ geçidinde API Management hizmeti için yaygın bir sağlık uç noktası oluşturmak için URL'yi /status-0123456789abcdef kullanın.

  • Anahtar kasasında güncelleştirilen sertifikalar API Management'ta otomatik olarak döndürülür ve bu da dört saat içindeki değişiklikleri yansıtır.

  • Azure DevOps veya GitHub gibi bir DevOps aracı kullanıyorsanız, bulutta barındırılan yapılandırılmış aracılar veya yürütücüler genel internet üzerinden çalışır. Bu mimarideki API Management bir iç ağa ayarlandığından, sanal ağa erişimi olan bir DevOps aracısı kullanmanız gerekir. DevOps aracısı, mimarinizdeki API'lerde ilkeleri ve diğer değişiklikleri dağıtmanıza yardımcı olur. Geliştirme ekiplerinizin her API için değişiklik dağıtabilmesi için işlemi parçalara ayırmak için bu CI/CD şablonlarını kullanabilirsiniz. DevOps çalıştırıcıları bu tek tek dağıtımları işlemek için şablonları başlatır.

Bu senaryoyu dağıtın

Bu mimari GitHub üzerinde kullanılabilir. Gerekli tüm IaC dosyalarını ve deployment yönergelerini içerir.

Katkıda Bulunanlar

Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.

Asıl yazarlar:

Özel LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar