Düzenle

Aracılığıyla paylaş


Azure API Management giriş bölgesi hızlandırıcısı

Azure API Management
Azure Application Gateway
Azure Functions
.NET

API'ler, şirketlerin ve müşterilerin hizmetlere hem şirket içinde hem de dışarıdan erişmesinde giderek daha belirgin hale gelmiştir. API'ler dahili olarak iş kolu uygulamalarına, ev yapımı çözümlere ve üçüncü taraf tümleştirmelerine erişmek için kullanılır. Dışarıdan daha fazla şirket üretken olmaya ve API'lerinden para kazanmaya çalışıyor. Bu eğilim göz önünde bulundurularak API Management, API'leri hem iç hem de dış hedef kitlelere yönetme, yönetme ve yayımlamaya yönelik standart bir yaklaşımın merkezi bir bileşeni haline gelir.

Azure Uygulaması Lication Gateway'in yardımıyla artık Azure API Management aracılığıyla sunulan API'lerin erişimini korumak ve kısıtlamak mümkündür. Bu makalede, tek bir API Management örneği aracılığıyla hem iç hem de dış API'leri yönetebileceğiniz bir çözüm açıklanmaktadır. Güvenli bir duruşu doğrudan İnternet üzerinden kullanıma sunulmadan koruyabilirsiniz, ancak bunun yerine bir Application Gateway üzerinden erişilir.

Not

Bu mimari, Bulut Benimseme Çerçevesi Azure API Management giriş bölgesi hızlandırıcısının temeli olarak kullanılır.

Mimari

API Management giriş bölgesi hızlandırıcısının mimarisini gösteren diyagram.

Bu mimari diyagram, bir aboneliğin kapsamını, özel etki alanlarının çözümlendiği bir Özel DNS bölgesini ve APIM-CS sanal ağı sanal ağ adlarının kapsamını temsil eden tümü kapsayan bir kutuyla başlar. Aboneliğin en üstünde, bunun şirket içi iş yükü olduğunu belirten bir kutu bulunur. Kutunun içinde bir sunucu simgesi vardır. Kanal, siteden siteye bağlantıyı gösterir veya Azure ExpressRoute, Azure aboneliğindeki API Management örneğine bağlanır. Azure aboneliğini gösteren büyük kutunun içinde yedi küçük kutu daha bulunur. Kutulardan dördü üst satırda, üç kutu ise alt satırda yer alır. Her kutu, ekli bir ağ güvenlik grubuna sahip ayrı bir alt ağı temsil eder. En soldan, üst satırdaki en soldaki kutuda Azure Uygulaması Lication Gateway'e eklenmiş bir genel IP adresi vardır. Application Gateway, App GW alt ağı adlı alt ağ ile birlikte yedi küçük kutudan birinde de bulunur. Sağ tarafta APIM alt ağı adlı alt ağ ile API Management örneğini içeren başka bir kutu bulunur. Yanında üst satırdaki üçüncü kutu bulunur ve pe alt ağı adlı alt bilgisayarınızda Azure İşlevleri örneği için özel bir uç nokta bulunur. Üst satırdaki en sağdaki kutu, Azure İşlev Uygulamaları'nı içeren arka uç alt ağı, işlevin Azure Uygulaması Hizmeti planı ve İşlev Uygulaması ile ilişkili depolama hesabıdır. Alt satırda, soldan başlayarak, Bastion alt ağından Azure Bastion'ı içeren bir kutudur. İkinci kutu, Atlama Kutusu Alt Ağı'ndaki yönetim jumbox VM'sini içerir. Alt satırdaki son kutu, DevOps alt ağı içinde bulunan DevOps Aracısı'dır. Görüntünün sağ alt kısmında, ilgili simgeleriyle birlikte üç paylaşılan kaynak bulunur. Soldan sağa şu kutular bulunur: anahtar kasası, uygulama içgörüleri ve log analytics çalışma alanı. İki iş akışı kümesi vardır. İlk iş akışı siyah dairelerde, diğer iş akışı ise sonraki bölümlerde açıklanacak mavi dairelerde gösterilir. Siyah iş akışı, dışarıdan kullanılabilen API'lerin erişimini gösterir. Akış, Genel IP adresine erişen kullanıcıdan başlar. Ok daha sonra Application Gateway'in yönünü, Application Gateway'den özel uç noktaya ve özel uç noktadan İşlev Uygulaması'na yönlendirir. Mavi iş akışı, siteden siteye bağlantıyı veya ExpressRoute aracılığıyla belirten bir işlem hattı simgesi aracılığıyla API Management örneğini gösteren bir okla şirket içi bir sunucudan başlar. Akışın geri kalanı yukarıda açıklananla aynıdır: API Management'tan özel uç noktaya ve özel uç noktadan Azure İşlevi'ne.

Bu mimari, ilkelerin Azure giriş bölgesi hızlandırıcısından gerçekleştiğini ve yapının yönetim grubundan aşağı doğru yönlendirildiğini varsayar.

Bu mimarinin bir Visio dosyasını indirin.

İş Akışı

Karma senaryo (mavi daireler)

Bu senaryo için siteden siteye veya şirket içi ortamınıza Azure ExpressRoute bağlantısı gerekir.

  1. Şirket içi uygulama, Azure API Management aracılığıyla sunulan bir iç API'ye erişim gerektirir.
  2. API Management, Azure İşlevleri üzerinde barındırılan arka uç API'lerine bağlanır. Bu bağlantı, Azure İşlevleri Premium planı aracılığıyla kullanılabilen ve kendi alt akında barındırılan özel bir uç nokta üzerinden yapılır.
  3. Özel uç nokta, Azure İşlevleri üzerinde barındırılan iç API'ye güvenli bir şekilde erişir.

Dış Erişim Senaryosu (siyah daireler)

  1. Dış uygulama, Azure Uygulaması lication Gateway'e bağlı bir genel IP adresine veya özel FQDN'ye erişir.
  2. Application Gateway, SSL sonlandırması için PFX sertifikaları gerektiren web uygulaması güvenlik duvarı görevi görür.
  3. API Management, Azure İşlevleri üzerinde barındırılan arka uç API'lerine bir özel uç nokta üzerinden bağlanır. Bu uç nokta, Azure İşlevleri Premium planı aracılığıyla kullanılabilir ve kendi alt asında barındırılır.
  4. Özel uç nokta, Azure İşlevleri üzerinde barındırılan harici olarak kullanılabilir API'ye güvenli bir şekilde erişir.

Bileşenler

Mimari aşağıdaki bileşenleri kullanır:

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

  • Azure İşlevleri, en düşük altyapı yönetimiyle yürütülebilecek kod bloklarına daha fazla odaklanmanızı sağlayan sunucusuz bir çözümdür. İşlevler çeşitli barındırma planlarında barındırılabilirken, bu başvuru mimarisi özel uç noktaların kullanımı nedeniyle premium planı kullanır.

  • Azure Uygulaması Lication Gateway , 7. katman yük dengeleyici ve web uygulaması güvenlik duvarı işlevi gören yönetilen bir hizmettir. Bu senaryoda, uygulama ağ geçidi iç APIM örneğini korur ve bu sayede iç ve dış modu kullanabilirsiniz.

  • Azure DNS Özel 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ır. bir Özel DNS bölgesi, sanal ağ bağlantıları aracılığıyla bir veya daha fazla sanal ağa hizalanabilir. Bu başvuru mimarisinin kullandığı özel bir uç nokta üzerinden kullanıma sunulan Azure İşlevleri nedeniyle, özel bir DNS bölgesi kullanmanız gerekir.

  • Azure İzleyiciApplication Insights , geliştiricilerin anomalileri algılamalarına, sorunları tanılamalarına ve kullanım desenlerini anlamalarına yardımcı olur. 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. Application Insights, dağıtılan uygulamanın davranışlarını izlemek için bu başvuru mimarisinin bir parçası olarak yer alır.

  • Azure İzleyiciLog Analytics , isteğe bağlı olarak Azure portalından Azure İzleyici Günlüklerindeki verilerle günlük sorgularını düzenlemenize ve çalıştırmanıza olanak tanır. Geliştiriciler bir dizi kayıt için basit sorgular çalıştırabilir veya gelişmiş analiz gerçekleştirmek için Log Analytics'i kullanabilir. Daha sonra sonuçları görselleştirebilirler. Log Analytics, daha fazla analiz ve raporlama için tüm izleme günlüklerini toplamak üzere bu başvuru mimarisinin bir parçası olarak yapılandırılır.

  • Azure Sanal Makineler, birçok farklı iş yükünü barındırmak için kullanılabilecek bir bilgi işlem kaynağıdır. Bu başvuru mimarisinde sanal makineler, yönetim sıçrama kutusu sunucusu ve DevOps aracısı veya GitHub çalıştırıcısı için bir konak sağlamak için kullanılır.

  • Azure Key Vault , API anahtarlarından parolalara, sertifikalara ve şifreleme anahtarlarına kadar çeşitli gizli dizileri güvenli bir şekilde depolayan ve erişen bir bulut hizmetidir. Bu başvuru mimarisi, Application Gateway tarafından kullanılan SSL sertifikalarını depolamak için Azure Key Vault kullanır.

  • Azure Bastion , geliştiricinin sanal ağı içinde sağlanan bir hizmet olarak platformdur. Azure portalından TLS üzerinden geliştiricinin sanal makinelerine güvenli RDP/SSH bağlantısı sağlar. Azure Bastion ile sanal makinelerin RDP/SSH aracılığıyla bağlanması için artık genel IP adresi gerekmez. Bu başvuru mimarisinde DevOps aracısına, GitHub çalıştırıcı sunucusuna veya yönetim atlama kutusu sunucusuna erişmek için Azure Bastion kullanılı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 yönetimi bir iç ağ olarak 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. Bunlar CI/CD şablonları , işlemi bölmek ve geliştirme ekiplerinizin API'ye göre değişiklik dağıtabilmesini sağlamak için kullanılabilir. DevOps çalıştırıcıları tarafından yürütülürler.

Alternatifler

API Management örneğinin bağlandığı arka uç hizmetleri için, bu başvuru uygulamasında kullanılan Azure İşlevleri ek olarak çeşitli alternatifler mevcuttur:

  • Azure Uygulaması Hizmeti , 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 desteklenir. Uygulamalar Windows veya Linux tabanlı ortamlarda çalışabilir ve ölçeklendirilebilir.
  • Azure Kubernetes Service tümleşik sürekli tümleştirme ve sürekli teslim (CI/CD) deneyimi, idare ve güvenlik için tam olarak yönetilen Kubernetes kümeleri sunar.
  • Azure Logic Apps , otomatik iş akışları oluşturan ve çalıştıran bulut tabanlı bir platformdur. Örnek başvuru mimarisi, Azure'da temel kurumsal tümleştirme sayfasında bulunabilir.
  • Azure Container Apps , sunucusuz bir platformda mikro hizmetleri ve kapsayıcılı uygulamaları çalıştırmanızı sağlar.

Ç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, bir iş yükünün kalitesini artırmak için kullanılabilecek bir dizi yol gösteren ilke olan Azure İyi Tasarlanmış Çerçeve'nin yapı taşlarını uygular. Daha fazla bilgi için bkz . Microsoft Azure İyi Tasarlanmış Çerçeve.

Güvenilirlik

Güvenilirlik, uygulamanızın müşterilerinize sağladığınız taahhütleri karşılayabilmesini sağlar. Daha fazla bilgi için bkz . Güvenilirlik sütununa genel bakış.

  • Bölge başına iki kullanılabilirlik alanına yayılmış en az iki ölçek birimi API Management dağıtın. Bu yöntem kullanılabilirliğinizi ve performansınızı en üst düzeye çıkarır.
  • Sanal ağ eşlemesi bir bölgede harika performans sağlar, ancak en fazla 500 ağ ölçeklenebilirlik sınırına sahiptir. Daha fazla iş yükünün bağlanması gerekiyorsa merkez uç tasarımı veya Azure vWAN kullanın.

Güvenlik

Güvenlik, kasıtlı saldırılara ve değerli verilerinizin ve sistemlerinizin kötüye kullanılmasına karşı güvence sağlar. Daha fazla bilgi için bkz . Güvenlik sütununa genel bakış.

  • API Management doğrulama ilkeleri , BIR OpenAPI şemasında API isteklerini ve yanıtlarını doğrulamak için kullanılabilir. Bu özellikler bir Web Uygulaması Güvenlik Duvarı yerine kullanılamaz, ancak 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.
  • Yaygın web uygulaması açıklarına ve güvenlik açıklarına karşı koruma sağlamak için API Management'ın önüne Azure Web Uygulaması Güvenlik Duvarı (WAF) dağıtın.
  • APIM ilkelerindeki hassas bilgileri korumak için Key Vault gizli dizileriyle adlandırılmış değerler uygulayın.
  • ApiM örneğini korumak ve karma bağlantıyı etkinleştirmek için bir iç APIM örneğine dış erişim 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ölgede harika performans sağlar, ancak en fazla 500 ağ ölçeklenebilirlik sınırına sahiptir. Daha fazla iş yükünün bağlanması gerekiyorsa merkez uç tasarımı veya Azure vWAN kullanın.

Maliyet iyileştirme

Maliyet iyileştirmesi, gereksiz giderleri azaltmanın ve operasyonel verimlilikleri iyileştirmenin yollarını aramaktır. Daha fazla bilgi için bkz . Maliyet iyileştirme sütununa genel bakış.

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 sütununa genel bakış.

  • API Management yapılandırmaları ARM şablonları olarak temsil edilmeli ve kod olarak altyapı düşüncesini benimseymelisiniz.
  • 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 yönetim örneğinizin durumunu doğrulamaya yardımcı olmak için özel sistem durumu yoklamaları oluşturun. Uygulama ağ geçidinde APIM hizmeti için ortak bir sistem durumu uç noktası oluşturmak için URL'yi /status-0123456789abcdef kullanın.
  • Anahtar kasasında güncelleştirilen sertifikalar, 4 saat içinde güncelleştirilen API Management'ta otomatik olarak döndürülür.
  • Bölge başına iki kullanılabilirlik alanına yayılmış en az iki ölçek birimi API Management dağıtın. Bu yöntem kullanılabilirliği ve performansı en üst düzeye çıkarır.

Bu senaryoyu dağıtın

Bu mimari GitHub'da kullanılabilir. Gerekli tüm kod olarak altyapı dosyalarını ve dağıtım yönergelerini içerir.

Katkıda Bulunanlar

Bu makale Microsoft tarafından yönetilir. Başlangıçta aşağıdaki katkıda bulunanlar tarafından yazılmıştır.

Asıl yazarlar:

Genel olmayan LinkedIn profillerini görmek için LinkedIn'de oturum açın.

Sonraki adımlar

Şu önemli kaynaklara bakın:

Bu önemli hizmetler hakkında daha fazla bilgi edinin: