Pro zákazníky v segmentech, které jsou úzce řízeny a omezeny dodržováním předpisů, je důležité mít izolované a vyhrazené prostředí, zejména pro obchodní aplikace. I když je zabezpečení front a center, tyto kritické aplikace také vyžadují schopnost škálovat a provádět ve scénářích vysokého využití paměti nebo vysokých požadavků za sekundu. Toto řešení poskytuje příklad, jak můžete hostovat obchodní aplikace. Pomocí služby App Service Environment můžete zajistit, aby bylo možné řešit zabezpečení i výkon současně. Při nasazování tohoto řešení budete mít flexibilitu používat existující prostředky v cílové zóně Azure, která představuje vaše prostředky ve virtuální síti centra. Nebo můžete toto řešení nasadit jako samostatnou úlohu.
Poznámka:
Tento článek obsahuje nasaditelnou architekturu, která odpovídá pokynům k architektuře přechodu na cloud pro App Service v cílových zónách Azure.
Architektura
Celá tato image je v oboru předplatného a privátní zóny DNS. Označuje se ikonou předplatného a ikonou zóny Azure Privátní DNS v levém horním rohu. Pod těmito ikonami jsou vedle sebe dva bloky. Představují dvě virtuální sítě a mezi nimi partnerský vztah virtuálních sítí. Blok vlevo představuje virtuální síť centra a blok vpravo představuje paprskovou virtuální síť. V levém poli jsou tři menší pole. Každé pole označuje jinou podsíť a její přidruženou skupinu zabezpečení sítě. Od levého horního rohu je instance služby Azure Bastion v podsíti Služby Azure Bastion a vpravo nahoře je virtuální počítač jumpboxu, který se nachází v podsíti jumpboxu. Vpravo dole je třetí a poslední pole ve virtuální síti centra, které obsahuje server agenta CI/CD, který se nachází v podsíti CI/CD. Pole napravo, které představuje virtuální síť paprsku, obsahuje pouze jednu menší podsíť App Service Environment, která má v ní instanci služby App Service Environment v3. Menší pole představuje App Service Environment. Ikona služby App Service je uvnitř daného pole. V dolní části image jsou sdílené prostředky, které jsou také nasazeny v rámci procesu. Sdílené prostředky odleva doprava zahrnují Azure Key Vault, pracovní prostor Azure Log Analytics a Aplikace Azure lication Insights.
Stáhněte si soubor aplikace Visio s touto architekturou.
Workflow
V této architektuře jsou tři toky s popisky: Operace (oranžová), Nasazení (zelená) a Uživatel (fialová).
Operace
- Operátoři nebo správci budou chtít provádět úlohy správy na serveru kontinuální integrace nebo průběžného nasazování (CI/CD) nebo v koncovém bodu Kudu pro službu App Service Environment. Nejprve se budou muset připojit k hostiteli Služby Azure Bastion.
- Pomocí hostitele Služby Azure Bastion pak může operátor nebo správce použít protokol RDP (Remote Desk Protocol) pro přístup k serveru jumpbox.
- Na serveru jumpbox může operátor nebo správce RDP připojit k serveru CI/CD a provádět požadované úlohy, jako jsou upgrady agentů, upgrady operačního systému atd. Operátor nebo správce se také může připojit ze serveru jumpbox ke koncovému bodu Kudu instance služby App Service Environment, provádět úlohy správy nebo provádět pokročilé řešení potíží.
Nasazení
- Nasazení řešení se provádí prostřednictvím serveru agenta CI/CD. Agent DevOps na tomto serveru se připojí ke službě Azure Pipelines při spuštění nového nasazení.
- Artefakty se pak nasadí do služby App Service připojením ke službě App Service Environment přes partnerský vztah virtuálních sítí.
Uživatelská
- Uživatelé se můžou připojit k nasazené službě App Service přes síť společnosti. V případě potřeby můžou používat Azure ExpressRoute nebo VPN a/nebo přes jakýkoli platný partnerský vztah virtuálních sítí Azure.
Komponenty
Řešení používá následující služby Azure:
Aplikace Azure Service Environment v3 (ASEv3) je funkcí služby Aplikace Azure Service a je jednou tenantovou službou pro zákazníky, kteří vyžadují vysoké škálování, izolaci sítě, zabezpečení a/nebo vysoké využití paměti. Aplikace se hostují v plánech služby App Service, které se vytvářejí ve službě App Service Environment v3, s možnostmi použití různých úrovní v rámci plánu služby Izolované verze 2. Ve srovnání s dřívější verzí služby App Service Environment jsme provedli řadu vylepšení, mezi která patří mimo jiné, závislost sítě, čas škálování a odebrání poplatku za kolek. Toto řešení používá službu App Service Environment v3, která je nakonfigurovaná pro interní přístup.
Azure Privátní DNS umožňuje spravovat a překládat názvy domén ve virtuální síti, aniž byste museli implementovat vlastní řešení DNS. Zónu azure Privátní DNS je možné zarovnat k jedné nebo více virtuálním sítím prostřednictvím propojení virtuální sítě. Vzhledem k interní povaze služby App Service Environment v3, kterou tato referenční architektura používá, se k překladu názvů domén aplikací hostovaných ve službě App Service Environment vyžaduje privátní zóna DNS.
Aplikace Azure lication Insights je funkce služby Azure Monitor, která vývojářům pomáhá 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 Log Analytics je funkce služby Azure Monitor , která 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 analýzu a vytváření sestav.
Azure Virtual Machines je škálovatelný výpočetní prostředek na vyžádání, který se dá použít k hostování několika 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 k poskytování hostitele pro agenta DevOps nebo GitHub Runneru.
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. Služba Azure Key Vault se nasadí jako součást infrastruktury této architektury, aby se usnadnila správa tajných kódů pro budoucí nasazení kódu.
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 jumpbox pro správu.
Alternativy
Zvažte přidání brány Aplikace Azure lication gateway před instancí služby App Service, která poskytuje funkci firewallu webových aplikací (WAF), která chrání webové aplikace před běžným zneužitím a ohrožením zabezpečení.
Spouštěč GitHubu v místním prostředí je možné použít místo místního agenta Azure DevOps.
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.
- Vezměte v úvahu vaše požadavky na redundanci zón v této referenční implementaci a také možnosti redundance zón všech ostatních služeb Azure ve vašem řešení. App Service Environment v3 podporuje redundanci zón rozložením instancí do všech tří zón v cílové oblasti. Tuto konfiguraci je možné nastavit pouze při vytváření služby App Service Environment a nemusí být dostupná ve všech oblastech. Další informace najdete v tématu Podpora zón dostupnosti pro App Service Environment. Tato referenční implementace implementuje redundanci zón, ale můžete ji změnit klonováním tohoto úložiště a nastavením
zoneRedundant
vlastnosti nafalse
.
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í.
- Využijte vhodné použití omezení přístupu, aby služba App Service byla dostupná jenom z platných umístění. Pokud například app service hostuje rozhraní API a předčítá ho APIM, můžete nastavit omezení přístupu tak, aby služba App Service byla přístupná jenom z APIM.
- Vzhledem k tomu, že tato referenční implementace nasadí službu App Service Environment do virtuální sítě (označované jako interní prostředí App Service Environment), všechny aplikace nasazené do služby App Service Environment jsou ze své podstaty izolované v síti v oboru virtuální sítě.
- Ukládejte tajné kódy aplikací (přihlašovací údaje databáze, tokeny rozhraní API a privátní klíče) ve službě Azure Key Vault. Nakonfigurujte aplikaci App Service tak, aby k nim bezpečně přistupovala pomocí spravované identity. Určete, kdy použít Službu Azure Key Vault a konfiguraci Aplikace 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ů.
- I když u instance služby App Service Environment v3 neexistuje žádný poplatek za kolek, poplatky se účtují, když v instanci služby App Service Environment v3 nejsou nakonfigurované žádné plány služby App Service Service. Tento poplatek se účtuje stejnou sazbou jako jedna instance instance Windows I1v2 pro oblast, ve které je nasazená instance služby App Service Environment v3.
- Při konfiguraci zónově redundantní se model nabíjení upraví tak, aby odpovídal základní infrastruktuře nasazené v této konfiguraci. Za další instance můžete být zodpovědní podle cen ASEv3.
- Pro plány služby App Service Environment v3 (označované jako plány Izolované služby V2 App Service) použijte pro výpočetní prostředky azure rezervace a plán úspor Azure s ročním nebo tříletým kontraktem a získejte výrazné úspory oproti průběžným platbám. Další informace najdete v tématu Jak se slevy za rezervace vztahují na izolované instance v2.
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.
- Pomocí Application Insights nebo jiného řešení pro správu výkonu aplikací můžete monitorovat a zjistit, jak se vaše aplikace chová v různých prostředích.
- Existují dva způsoby, jak povolit Application Insights. V různých prostředích shromážděte telemetrická data do různých instancí Application Insights.
- Pokud má vaše aplikace více komponent oddělených do různých služeb, můžete chtít jejich chování prozkoumat společně. Shromážděte telemetrická data do stejné instance Application Insights, ale označte je různými názvy cloudových rolí.
- Exportujte data Application Insights do pracovního prostoru Služby Azure Log Analytics . Pro organizaci doporučujeme použít jeden pracovní prostor.
- Do návrhu aplikací a funkcí zahrňte provozní řídicí panely, které zajistí podporu řešení v produkčním prostředí.
- Implementujte kontroly stavu pro koncové body a pak je použijte pro sondy stavu, kontroly závislostí a testy dostupnosti.
- Zvažte použití předpon a přípon s dobře definovanými konvencemi k jednoznačné identifikaci každého nasazeného prostředku. Tyto zásady vytváření názvů se vyhýbají konfliktům, když nasadíte řešení vedle sebe a zlepšíte celkovou flexibilitu a propustnost týmu.
- V závislosti na konfiguraci sítě nemusí být služba App Service dostupná z veřejného internetu a použití agentů hostovaných ve veřejném prostředí nebude fungovat pro nasazení. V tomto scénáři používejte agenty v místním prostředí.
Nasazení tohoto scénáře
Pokud chcete začít a lépe porozumět specifikám této implementace, projděte si referenční prostředky implementace v uživatelské příručce pro nasazení referenční implementace.
- Doporučujeme naklonovat toto úložiště a upravit referenční prostředky implementace tak, aby vyhovovaly vašim požadavkům a konkrétním pokynům cílové zóny vaší organizace.
- Před nasazením se ujistěte, že instanční objekt, který se používá k nasazení řešení, má požadovaná oprávnění k vytvoření typů prostředků, které jsme uvedli výše.
- Zvažte službu CI/CD, kterou použijete k nasazení referenční implementace. Vzhledem k tomu, že tato referenční implementace je interní prostředí App Service Environment, budete potřebovat agenta v místním prostředí, abyste mohli spouštět kanály nasazení. Máte možnost použít agenta DevOps nebo GitHub Runner. Projděte si uživatelskou příručku ke konkrétním požadovaným hodnotám konfigurace.
- Vezměte v úvahu oblasti, do kterých chcete nasadit tuto referenční implementaci. Zkontrolujte seznam oblastí ASEv3 a ujistěte se, že jsou pro nasazení povolené vybrané oblasti.
Přispěvatelé
Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.
Hlavní autoři:
- Pete Messina | Senoir Cloud Solution Architect
- Nabeel Prior | Vedoucí architekt cloudových řešení
Pokud chcete zobrazit neveřejné profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
- Zabezpečení ve službě Azure App Service
- Sítě pro App Service
- Pokyny pro architekturu přechodu na cloud pro Službu App Service v cílových zónách Azure
Další informace o těchto klíčových službách:
- Aplikace Azure Service Environment v3 (ASEv3)
- Zóny azure Privátní DNS
- Azure Application Insights
- Azure Log Analytics
- Přehled služby Azure Virtual Machines
- Koncepty služby Azure Key Vault
- Azure Bastion
Související prostředky
- Podnikové nasazení s vysokou dostupností pomocí služby App Services Environment
- Podnikové nasazení s využitím služby App Service Environment
- Podnikové nasazení s vysokou dostupností pomocí služby App Service Environment
- Web elektronického obchodování běžící v zabezpečeném prostředí App Service Environment