Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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üne alındığında 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 öğe 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.
Not
Bu mimari, Azure Bulut Benimseme Çerçevesi'ndeki bir Azure iniş bölgesinde API Management için kılavuzun temelini oluşturur.
Mimari
Bu mimarinin bir Visio dosyasını indirin.
Bu mimari, ilkelerin Azure giriş bölgesi başvuru uygulamasından geçerli olduğunu ve yapının yönetim grubundan 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 ağına dağıtılır ve gelen istekleri incelemek ve filtrelemek için Web Uygulaması Güvenlik Duvarı (WAF) ilkeleriyle korunur.
Trafik, uygulama ağ geçidinden ayrı bir API Management alt ağından oluşan 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.
Özel Etki Alanı Adı Sistemi (DNS) bölgeleri , özel bir DNS çözümü uygulamaya gerek kalmadan bir 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'da, ş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ından Azure İzleyici Günlüklerindeki verilere yönelik günlük sorgularını düzenlemenize ve çalıştırmanıza olanak tanıyan 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'i 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 dizileri güvenli bir şekilde depolayan ve erişen 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 bir HTTP tabanlı 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. Yerleşik idare ve güvenliğin yanı sıra tümleşik sürekli tümleştirme ve sürekli teslim (CI/CD) sağlar.
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 , mikro hizmetleri ve kapsayıcılı uygulamaları sunucusuz bir platformda çalıştırmanızı sağlayan, tam olarak yönetilen sunucusuz bir kapsayıcı hizmetidir.
Çok bölgeli dağıtımlar için, 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, iş yükünün kalitesini artırmak için kullanabileceğiniz bir dizi yol gösteren ilke 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ölgedeki iki veya daha fazla kullanılabilirlik alanına yayılmış en az iki ölçek birimi 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 merkez-uç tasarımı veya Azure Sanal 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üvenlik Projesi (OWASP) API'sinin ilk 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.
API Management ö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 için bir iç API Management örneğinin dış erişimi için Application Gateway kullanın.
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 İşlevleri 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 İşlevleri'ne erişebilmesini sağlar.
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 ortak bir sistem durumu uç noktası oluşturmak için URL'yi
/status-0123456789abcdefkullanı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 aracılar veya runners genel İnternet ü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'da kullanılabilir. Gerekli tüm IaC dosyalarını ve dağıtım yönergelerini içerir.
Katkıda Bulunanlar
Microsoft bu makaleyi korur. Bu makaleyi aşağıdaki katkıda bulunanlar yazdı.
Asıl yazarlar:
- Pete Messina | Üst Düzey Bulut Çözümü Mimarı
- Anthony Nevico | Üst Düzey Bulut Çözümü Mimarı
Nonpublic LinkedIn profillerini görmek için LinkedIn'de oturum açın.
Sonraki adımlar
- Azure giriş bölgesinde API Management'ın benimsenmesi için Bulut Benimseme Çerçevesi kılavuzu
- API Management terminolojisi
- Application Gateway belgeleri