Akcelerátor cílových zón služby Azure API Management

Azure API Management
Azure Application Gateway
Azure Functions
.NET

Rozhraní API jsou stále důležitější v tom, jak společnosti a zákazníci přistupují ke službám interně i externě. Interně se rozhraní API používají pro přístup k podnikovým aplikacím, home-built řešením a integracím třetích stran. Mimo to se více společností snaží být produktivní a zpeněžovat svá rozhraní API. S ohledem na tento trend se služba API Management stává centrální komponentou standardního přístupu ke správě, řízení a publikování rozhraní API pro interní i externí cílové skupiny.

Díky Aplikace Azure lication Gateway je teď možné chránit a omezit přístup k rozhraním API, která se obsluhují prostřednictvím služby Azure API Management. Tento článek popisuje řešení, ve kterém můžete spravovat interní i externí rozhraní API prostřednictvím jedné instance služby API Management. Můžete udržovat zabezpečený stav před zveřejněním přímo přes internet, ale místo toho je přístupný prostřednictvím služby Application Gateway.

Poznámka:

Tato architektura se používá jako základ pokynů pro Azure API Management v cílových zónách Azure v architektuře přechodu na cloud.

Architektura

Diagram znázorňující architekturu akcelerátoru cílové zóny služby API Management

Tento diagram architektury začíná polem zahrnujícím vše, které představuje rozsah předplatného, zónu Privátní DNS, kde se přeloží privátní domény, a rozsah názvů virtuálních sítí APIM-CS. Nad předplatným je pole, které označuje, že se jedná o místní úlohu. V poli je ikona serveru. Kanál označuje připojení typu site-to-site nebo se Azure ExpressRoute připojuje k instanci služby API Management v předplatném Azure. Sedm dalších menších polí je uvnitř velké krabice, která zobrazuje předplatné Azure. Čtyři pole jsou na horním řádku a tři jsou v dolním řádku. Každé jednotlivé pole představuje samostatnou podsíť s připojenou skupinou zabezpečení sítě. Zleva nejvíce existuje veřejná IP adresa, která je připojená k bráně Aplikace Azure lication Gateway v levém horním řádku. Application Gateway se nachází také v jednom ze sedmi menších polí s podsítí s názvem Podsíť App GW. Napravo je další pole, které obsahuje instanci služby API Management s podsítí s názvem APIM. Vedle něj je třetí pole v horním řádku, které obsahuje privátní koncový bod pro instanci služby Azure Functions v podsíti s názvem PE. Pravé pole na horním řádku je back-endová podsíť, která obsahuje aplikace Funkcí Azure, plán služby Aplikace Azure služby pro funkci a účet úložiště přidružený k aplikaci funkcí. Na dolním řádku, počínaje vlevo, je pole, které obsahuje Azure Bastion v podsíti Bastion. Druhé pole obsahuje virtuální počítač jumboxu pro správu v podsíti Jump Box. Poslední pole na dolním řádku je agent DevOps obsažený v podsíti DevOps. V pravém dolním rohu obrázku jsou tři sdílené prostředky s příslušnými ikonami. Zleva doprava jsou následující pole: trezor klíčů, Application Insights a pracovní prostor služby Log Analytics. Existují dvě sady pracovních postupů. První pracovní postup je označen černými kruhy a druhý pracovní postup je označen modrými kruhy, které budou vysvětleny v pozdějších částech. Černý pracovní postup označuje přístup k rozhraním API, která jsou k dispozici externě. Tok začíná od uživatele, který přistupuje k veřejné IP adrese. Šipka pak odkazuje na směr služby Application Gateway, ze služby Application Gateway do privátního koncového bodu a z privátního koncového bodu do aplikace funkcí. Modrý pracovní postup začíná z místního serveru se šipkou, která odkazuje na instanci služby API Management, prostřednictvím ikony kanálu, která označuje připojení typu site-to-site nebo přes ExpressRoute. Zbytek toku je stejný, jak je popsáno výše: ze služby API Management do privátního koncového bodu a z privátního koncového bodu do funkce Azure Functions.

Tato architektura předpokládá, že zásady jsou zavedené z akcelerátoru cílové zóny Azure a že struktura je řízená směrem dolů ze skupiny pro správu.

Stáhněte si soubor aplikace Visio s touto architekturou.

Workflow

Hybridní scénář (modré kruhy)

Tento scénář vyžaduje připojení typu site-to-site nebo Azure ExpressRoute k místnímu prostředí.

  1. Místní aplikace vyžaduje přístup k internímu rozhraní API, které se obsluhuje prostřednictvím služby Azure API Management.
  2. API Management se připojuje k back-endovým rozhraním API hostovaným ve službě Azure Functions. Toto připojení je prostřednictvím privátního koncového bodu, který je dostupný prostřednictvím plánu Azure Functions Premium a je hostovaný ve vlastní podsíti.
  3. Privátní koncový bod bezpečně přistupuje k internímu rozhraní API hostovaným ve službě Azure Functions.

Scénář externího přístupu (černé kruhy)

  1. Externí aplikace přistupuje k veřejné IP adrese nebo vlastnímu plně kvalifikovanému názvu domény, který je připojený ke službě Aplikace Azure lication Gateway.
  2. Application Gateway funguje jako firewall webových aplikací, který vyžaduje certifikáty PFX pro ukončení protokolu SSL.
  3. Api Management se připojuje k back-endovým rozhraním API hostovaným ve službě Azure Functions prostřednictvím privátního koncového bodu. Tento koncový bod je dostupný prostřednictvím plánu Azure Functions Premium a je hostovaný ve vlastní podsíti.
  4. Privátní koncový bod bezpečně přistupuje k externě dostupnému rozhraní API hostovaného ve službě Azure Functions.

Komponenty

Architektura používá následující komponenty:

  • Azure API Management je spravovaná služba, která umožňuje spravovat služby v hybridních a multicloudových prostředích. Api Management funguje jako fasáda pro abstrakci back-endové architektury a poskytuje kontrolu a zabezpečení pro pozorovatelnost a spotřebu rozhraní API pro interní i externí uživatele.

  • Azure Functions je bezserverové řešení, které vám umožní soustředit se více na bloky kódu, které je možné s minimální správou infrastruktury provádět. Funkce je možné hostovat v různých plánech hostování, zatímco tato referenční architektura využívá plán Premium kvůli použití privátních koncových bodů.

  • Aplikace Azure lication Gateway je spravovaná služba, která funguje jako nástroj pro vyrovnávání zatížení vrstvy 7 a firewall webových aplikací. V tomto scénáři služba Application Gateway chrání interní instanci APIM, která umožňuje používat interní a externí režim.

  • Zóny Azure DNS Privátní DNS umožňují spravovat a překládat názvy domén ve virtuální síti, aniž byste museli implementovat vlastní řešení DNS. Zónu Privátní DNS je možné zarovnat k jedné nebo více virtuálním sítím prostřednictvím propojení virtuálních sítí. Vzhledem k tomu, že služba Azure Functions je vystavená prostřednictvím privátního koncového bodu, který tato referenční architektura používá, musíte použít privátní zónu DNS.

  • Azure MonitorApplication Insights pomáhá vývojářům zjišťovat anomálie, diagnostikovat problémy a porozumět vzorům použití. Application Insights nabízí rozšiřitelnou správu a monitorování výkonu aplikací pro živé webové aplikace. Podporují se různé platformy, včetně .NET, Node.js, Javy a Pythonu. Podporuje aplikace hostované v Azure, místně, v hybridním prostředí nebo v jiných veřejných cloudech. Application Insights je součástí této referenční architektury, která monitoruje chování nasazené aplikace.

  • Azure MonitorLog Analytics umožňuje upravovat a spouštět dotazy na protokoly s daty v protokolech služby Azure Monitor, volitelně z webu Azure Portal. Vývojáři můžou spouštět jednoduché dotazy pro sadu záznamů nebo pomocí Log Analytics provádět pokročilou analýzu. Pak můžou vizualizovat výsledky. Služba Log Analytics je nakonfigurovaná jako součást této referenční architektury, aby agregovala všechny protokoly monitorování pro další analýzu a vytváření sestav.

  • Azure Virtual Machines je výpočetní prostředek, který se dá použít k hostování mnoha různých úloh. V této referenční architektuře se virtuální počítače používají k poskytování serveru jumpbox pro správu a také hostitele pro agenta DevOps nebo GitHub Runner.

  • Azure Key Vault je cloudová služba, která bezpečně ukládá tajné kódy a přistupuje k nim, od klíčů rozhraní API a hesel až po certifikáty a kryptografické klíče. Tato referenční architektura používá Azure Key Vault k ukládání certifikátů SSL používaných službou Application Gateway.

  • Azure Bastion je platforma jako služba, která je zřízená ve virtuální síti vývojáře. Poskytuje zabezpečené připojení RDP/SSH k virtuálním počítačům vývojáře přes protokol TLS z webu Azure Portal. U služby Azure Bastion už virtuální počítače k připojení přes protokol RDP/SSH nevyžadují veřejnou IP adresu. Tato referenční architektura používá Azure Bastion pro přístup k agentu DevOps nebo serveru GitHub Runner nebo serveru jump box pro správu.

Pokud používáte nástroj DevOps, jako je Azure DevOps nebo GitHub, pak agenti hostovaní v cloudu nebo spouštěčé pracují přes veřejný internet. Vzhledem k tomu, že je správa rozhraní API v této architektuře nastavená na interní síť, budete muset použít agenta DevOps, který má přístup k virtuální síti. Agent DevOps vám pomůže nasadit zásady a další změny rozhraní API ve vaší architektuře. Ty Šablony CI/CD se dají použít k přerušení procesu a k tomu, aby vývojové týmy mohly nasazovat změny pro každé rozhraní API. Běžci DevOps je spouští.

Alternativy

Pro back-endové služby, ke kterým se instance API Management připojuje, je k dispozici několik alternativ kromě azure Functions, které se používají v této referenční implementaci:

  • služba Aplikace Azure je plně spravovaná služba založená na protokolu HTTP, která vytváří, nasazuje a škáluje webové aplikace. Podporují se všechny platformy .NET, .NET Core, Java, Ruby, Node.js, PHP a Python. Aplikace můžou spouštět a škálovat v prostředích se systémem Windows nebo Linux.
  • Azure Kubernetes Service nabízí plně spravované clustery Kubernetes pro integrované prostředí kontinuální integrace a průběžné doručování (CI/CD), zásady správného řízení a zabezpečení.
  • Azure Logic Apps je cloudová platforma, která vytváří a spouští automatizované pracovní postupy. Ukázkovou referenční architekturu najdete v základní podnikové integraci v Azure.
  • Azure Container Apps umožňuje spouštět mikroslužby a kontejnerizované aplikace na bezserverové platformě.

U nasazení ve více oblastech zvažte použití služby Azure Front Door k zajištění rychlého, spolehlivého a zabezpečeného přístupu mezi uživateli a statickým a dynamickým webovým obsahem vašich aplikací.

Další příklady toho, jak služba Application Gateway může chránit rozhraní API, najdete v tématu Ochrana rozhraní API pomocí služby Application Gateway a služby API Management.

Důležité informace

Tyto aspekty implementují pilíře dobře architektuře Azure, což je sada hlavních principů, které je možné použít ke zlepšení kvality úlohy. Další informace naleznete v tématu Microsoft Azure Well-Architected Framework.

Spolehlivost

Spolehlivost zajišťuje, že vaše aplikace může splňovat závazky, které uděláte pro vaše zákazníky. Další informace najdete v tématu Přehled pilíře spolehlivosti.

  • Nasaďte aspoň dvě jednotky škálování služby API Management, které jsou rozložené do dvou zón dostupnosti v jednotlivých oblastech. Tato metoda maximalizuje vaši dostupnost a výkon.
  • Partnerský vztah virtuálních sítí poskytuje skvělý výkon v oblasti, ale má limit škálovatelnosti maximálně 500 sítí. Pokud potřebujete připojení k více úlohám, použijte návrh hvězdicového paprsku nebo virtuální síť WAN Azure.

Zabezpečení

Zabezpečení poskytuje záruky proti záměrným útokům a zneužití cenných dat a systémů. Další informace najdete v tématu Přehled pilíře zabezpečení.

  • Zásady ověřování služby API Management jsou k dispozici k ověření požadavků a odpovědí rozhraní API ve schématu OpenAPI. Tyto funkce nejsou náhradou za firewall webových aplikací, ale můžou poskytovat další ochranu před některými hrozbami. Přidání zásad ověřování může mít vliv na výkon, proto doporučujeme použít zátěžové testy výkonu k vyhodnocení jejich dopadu na propustnost rozhraní API.
  • Nasaďte službu Azure Web Application Firewall (WAF) před api Management, abyste zajistili ochranu před běžným zneužitím a ohrožením zabezpečení webových aplikací.
  • Použijte pojmenované hodnoty s tajnými klíči key vaultu k ochraně citlivých informací v zásadách APIM.
  • Application Gateway slouží k externímu přístupu k interní instanci APIM k ochraně instance APIM a k povolení hybridního připojení.
  • Nasaďte bránu služby API Management ve virtuální síti, která podporuje hybridní připojení a vyšší zabezpečení.
  • Partnerský vztah virtuálních sítí poskytuje skvělý výkon v oblasti, ale má limit škálovatelnosti maximálně 500 sítí. Pokud potřebujete připojení k více úlohám, použijte návrh hvězdicového paprsku nebo virtuální síť WAN Azure.

Optimalizace nákladů

Optimalizace nákladů se zabývá způsoby, jak snížit zbytečné výdaje a zlepšit efektivitu provozu. Další informace najdete v tématu Přehled pilíře optimalizace nákladů.

  • Kvůli potřebě zóny dostupnosti a podpory virtuální sítě jsme vybrali úroveň Premium služby API Management podle cen pro každou oblast. V této úloze je navíc služba Azure Functions hostovaná v plánu Premium kvůli potřebě přístupu k virtuální síti.
  • Pro testování konceptu nebo prototypů doporučujeme použít jiné úrovně služby API Management (například Developer nebo Standard).

Provozní dokonalost

Efektivita provozu zahrnuje provozní procesy, které nasazují aplikaci a udržují ji spuštěnou v produkčním prostředí. Další informace najdete v tématu Přehled pilíře efektivity provozu.

  • Konfigurace služby API Management by měly být reprezentovány jako šablony ARM a měli byste využít myšlení infrastruktury jako kódu.
  • Ke správě, verzi a aktualizaci konfigurací služby API Management použijte proces CI/CD.
  • Vytvořte vlastní sondy stavu, které vám pomůžou ověřit stav vaší instance služby API Management. Pomocí adresy URL /status-0123456789abcdef vytvořte společný koncový bod stavu pro službu APIM v aplikační bráně.
  • Certifikáty aktualizované v trezoru klíčů se automaticky obměňují ve službě API Management, která se aktualizuje do 4 hodin.
  • Nasaďte aspoň dvě jednotky škálování služby API Management, které jsou rozložené do dvou zón dostupnosti v jednotlivých oblastech. Tato metoda maximalizuje dostupnost a výkon.

Nasazení tohoto scénáře

Tato architektura je dostupná na GitHubu. Obsahuje všechny potřebné soubory infrastruktury jako kódu a pokyny k nasazení.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autoři:

Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.

Další kroky

Projděte si tyto klíčové zdroje informací:

Další informace o těchto klíčových službách: