Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Azure Spring Apps je nový název služby Azure Spring Cloud. Přestože má služba nový název, na některých místech uvidíte starý název, protože pracujeme na aktualizaci prostředků, jako jsou snímky obrazovky, videa a diagramy.
Tento článek se vztahuje na: ✔️ Standard ✔️ Enterprise
Tato referenční architektura je základem využívajícím typický podnikový návrh hub a spoke k využití Azure Spring Apps. V návrhu jsou Azure Spring Apps nasazeny v jedné větvi, která je závislá na sdílených službách hostovaných v centru. Architektura je sestavená pomocí komponent pro dosažení zásad v rozhraní Microsoft Azure Well-Architected Framework.
Azure Spring Apps má dvě varianty: plán Standard a plán Enterprise.
Plán Azure Spring Apps Standard se skládá z Spring Cloud Config Serveru, registru služby Spring Cloud a služby sestavení kpack.
Plán Azure Spring Apps Enterprise se skládá ze služby VMware Tanzu® Build Service, Aplikační konfigurační služby™ pro VMware Tanzu®, VMware Tanzu® Service Registry, brány Spring Cloud pro VMware Tanzu® a portálu API pro VMware Tanzu®.
Implementace této architektury najdete v referenční architektuře Azure Spring Apps na GitHubu.
Mezi možnosti nasazení této architektury patří Azure Resource Manager (ARM), Terraform, Azure CLI a Bicep. Artefakty v tomto úložišti poskytují základ, který můžete přizpůsobit pro své prostředí. Prostředky, jako je Azure Firewall nebo Application Gateway, můžete seskupit do různých skupin prostředků nebo předplatných. Toto seskupení pomáhá oddělit různé funkce, jako je infrastruktura IT, zabezpečení, týmy obchodních aplikací atd.
Plánování adresního prostoru
Azure Spring Apps vyžaduje dvě vyhrazené podsítě:
- Provozní doba služby
- Aplikace Spring Boot
Každá z těchto podsítí vyžaduje vyhrazený cluster Azure Spring Apps. Více clusterů nemůže sdílet stejné podsítě. Minimální velikost každé podsítě je /28. Počet instancí aplikací, které může Azure Spring Apps podporovat, se liší v závislosti na velikosti podsítě. Podrobné požadavky na virtuální síť najdete v části Požadavky na virtuální síť v části Nasazení služby Azure Spring Apps ve virtuální síti.
Varování
Vybraná velikost podsítě se nemůže překrývat s existujícím adresními prostory virtuální sítě a neměla by se překrývat s žádnými rozsahy adres partnerských nebo místních podsítí.
Případy použití
Obvyklá využití pro tuto architekturu:
- Privátní aplikace: Interní aplikace nasazené v hybridních cloudových prostředích
- Veřejné aplikace: Externě přístupné aplikace
Tyto případy použití jsou podobné s výjimkou pravidel zabezpečení a síťového provozu. Tato architektura je navržená tak, aby podporovala drobné odlišnosti každého.
Soukromé aplikace
Následující seznam popisuje požadavky na infrastrukturu pro privátní aplikace. Tyto požadavky jsou typické v vysoce regulovaných prostředích.
- Podsíť musí mít pouze jednu instanci Azure Spring Apps.
- Dodržování alespoň jednoho srovnávacího testu zabezpečení by se mělo vynutit.
- Záznamy DNS (Domain Name Service) hostitele aplikace by měly být uložené v privátním DNS Azure.
- Závislosti služeb Azure by měly komunikovat prostřednictvím koncových bodů služby nebo služby Private Link.
- Data v klidovém stavu by měla být šifrována.
- Přenášená data by měla být šifrovaná.
- Kanály nasazení DevOps je možné použít (například Azure DevOps) a vyžadovat síťové připojení k Azure Spring Apps.
- Odchozí provoz by měl procházet centrálním síťovým virtuálním zařízením (NVA), například bránou Azure Firewall.
- Pokud se k načtení vlastností konfigurace z úložiště používá konfigurační server Azure Spring Apps , musí být úložiště soukromé.
- Přístup zabezpečení nulové důvěryhodnosti od Microsoftu vyžaduje, aby byly tajné kódy, certifikáty a přihlašovací údaje uložené v zabezpečeném trezoru. Doporučená služba je Azure Key Vault.
- Řešení názvů hostitelů v lokální infrastruktuře a v cloudu by mělo být obousměrné.
- Žádný přímý výchozí přenos dat do veřejného internetu s výjimkou provozu řídicí roviny.
- Skupiny prostředků spravované nasazením Azure Spring Apps se nesmí upravovat.
- Podsítě spravované nasazením Azure Spring Apps se nesmí upravovat.
Následující seznam obsahuje součásti, které tvoří návrh:
- Místní síť
- Domain Name Service (DNS)
- Brána
- Předplatné hubu
- Podsíť služby Application Gateway
- Podsíť brány Azure Firewall
- Podsíť sdílených služeb
- Připojené předplatné
- Podsíť Služby Azure Bastion
- Propojení virtuální sítě
Následující seznam popisuje služby Azure v této referenční architektuře:
Azure Key Vault: služba pro správu přihlašovacích údajů na hardwaru, která má úzkou integraci se službami identit Microsoftu a výpočetními prostředky.
Azure Monitor: kompletní sada monitorovacích služeb pro aplikace, které nasazují jak v Azure, tak v místním prostředí.
Azure Pipelines: plně vybraná služba kontinuální integrace / průběžný vývoj (CI/CD), která může automaticky nasazovat aktualizované aplikace Spring Boot do Azure Spring Apps.
Microsoft Defender pro cloud: jednotný systém správy zabezpečení a ochrany před hrozbami pro úlohy v místním prostředí, několika cloudech a Azure.
Azure Spring Apps: spravovaná služba navržená a optimalizovaná speciálně pro aplikace Spring Boot založené na Javě a . Aplikace Steeltoe založené na technologii NET.
Následující diagramy představují dobře navrženou hvězdicovou architekturu, která řeší výše uvedené požadavky:
Veřejné aplikace
Následující seznam popisuje požadavky na infrastrukturu pro veřejné aplikace. Tyto požadavky jsou typické v vysoce regulovaných prostředích.
- Podsíť musí mít pouze jednu instanci Azure Spring Apps.
- Dodržování alespoň jednoho srovnávacího testu zabezpečení by se mělo vynutit.
- Záznamy DNS (Domain Name Service) hostitele aplikace by měly být uložené v privátním DNS Azure.
- Měla by být povolená služba Azure DDoS Protection.
- Závislosti služeb Azure by měly komunikovat prostřednictvím koncových bodů služby nebo služby Private Link.
- Data v klidovém stavu by měla být šifrována.
- Přenášená data by měla být šifrovaná.
- Kanály nasazení DevOps je možné použít (například Azure DevOps) a vyžadovat síťové připojení k Azure Spring Apps.
- Odchozí provoz by měl procházet centrálním síťovým virtuálním zařízením (NVA), například bránou Azure Firewall.
- Příchozí provoz by měl být spravován minimálně prostřednictvím služby Application Gateway nebo Azure Front Door.
- Internetové směrovatelné adresy by měly být uložené ve službě Azure Public DNS.
- Přístup zabezpečení nulové důvěryhodnosti od Microsoftu vyžaduje, aby byly tajné kódy, certifikáty a přihlašovací údaje uložené v zabezpečeném trezoru. Doporučená služba je Azure Key Vault.
- Řešení názvů hostitelů v lokální infrastruktuře a v cloudu by mělo být obousměrné.
- Žádný přímý výchozí přenos dat do veřejného internetu s výjimkou provozu řídicí roviny.
- Skupiny prostředků spravované nasazením Azure Spring Apps se nesmí upravovat.
- Podsítě spravované nasazením Azure Spring Apps se nesmí upravovat.
Následující seznam obsahuje součásti, které tvoří návrh:
- Místní síť
- Domain Name Service (DNS)
- Brána
- Předplatné hubu
- Podsíť služby Application Gateway
- Podsíť brány Azure Firewall
- Podsíť sdílených služeb
- Připojené předplatné
- Podsíť Služby Azure Bastion
- Propojení virtuální sítě
Následující seznam popisuje služby Azure v této referenční architektuře:
Azure Application Firewall: funkce služby Azure Application Gateway, která poskytuje centralizovanou ochranu aplikací před běžným zneužitím a ohrožením zabezpečení.
Azure Application Gateway: vyrovnávač zatížení zodpovědný za správu aplikačního provozu s funkčností TLS offload na vrstvě 7.
Azure Key Vault: služba pro správu přihlašovacích údajů na hardwaru, která má úzkou integraci se službami identit Microsoftu a výpočetními prostředky.
Azure Monitor: kompletní sada monitorovacích služeb pro aplikace, které nasazují jak v Azure, tak v místním prostředí.
Azure Pipelines: plně vybraná služba kontinuální integrace / průběžný vývoj (CI/CD), která může automaticky nasazovat aktualizované aplikace Spring Boot do Azure Spring Apps.
Microsoft Defender pro cloud: jednotný systém správy zabezpečení a ochrany před hrozbami pro úlohy v místním prostředí, několika cloudech a Azure.
Azure Spring Apps: spravovaná služba navržená a optimalizovaná speciálně pro aplikace Spring Boot založené na Javě a . Aplikace Steeltoe založené na technologii NET.
Následující diagramy představují promyšlenou hub-and-spoke architekturu, která řeší výše uvedené požadavky. Pouze rozbočovač-virtuální síť komunikuje s internetem:
Připojení Azure Spring Apps v lokálním prostředí
Aplikace v Azure Spring Apps můžou komunikovat s různými místními a externími prostředky Azure. Pomocí hvězdicového návrhu můžou aplikace směrovat provoz externě nebo do místní sítě pomocí ExpressRoute nebo virtuální privátní sítě VPN (Site-to-Site).
Úvahy o rámci pro dobře navrženou architekturu Azure
Azure Well-Architected Framework je sada hlavních principů, které se mají sledovat při vytváření silného základu infrastruktury. Tato architektura obsahuje následující kategorie: optimalizace nákladů, efektivita provozu, efektivita výkonu, spolehlivost a zabezpečení.
Optimalizace nákladů
Vzhledem k povaze návrhu distribuovaného systému je infrastruktura rozrůstaná realitou. Výsledkem této reality jsou neočekávané a nekontrolovatelné náklady. Služba Azure Spring Apps je vytvořená pomocí komponent, které se škáluje, aby splňovala poptávku a optimalizovala náklady. Jádrem této architektury je Azure Kubernetes Service (AKS). Služba je navržená tak, aby snížila složitost a provozní režii při správě Kubernetes, což zahrnuje efektivitu v provozních nákladech na cluster.
Do jedné instance Azure Spring Apps můžete nasadit různé aplikace a typy aplikací. Služba podporuje automatické škálování aplikací aktivovaných metrikami nebo plány, které můžou zlepšit využití a nákladovou efektivitu.
K nižším provozním nákladům můžete použít také Application Insights a Azure Monitor. Díky viditelnosti poskytované komplexním řešením protokolování můžete implementovat automatizaci pro škálování komponent systému v reálném čase. Můžete také analyzovat data protokolu a odhalit tak nedostatky v kódu aplikace, které můžete řešit, aby se zlepšily celkové náklady a výkon systému.
Provozní excelentnost
Azure Spring Apps řeší několik aspektů efektivity provozu. Tyto aspekty můžete kombinovat, abyste zajistili, že služba funguje efektivně v produkčních prostředích, jak je popsáno v následujícím seznamu:
- Pomocí Služby Azure Pipelines můžete zajistit, aby nasazení byla spolehlivá a konzistentní a zároveň vám pomohla vyhnout se lidské chybě.
- K ukládání dat protokolu a telemetrie můžete použít Azure Monitor a Application Insights. Shromážděná data protokolů a metrik můžete vyhodnotit, abyste zajistili stav a výkon vašich aplikací. Application Performance Monitoring (APM) je plně integrovaný do služby prostřednictvím agenta Javy. Tento agent poskytuje přehled o všech nasazených aplikacích a závislostech bez nutnosti dalšího kódu. Další informace najdete v blogovém příspěvku Snadné monitorování aplikací a závislostí v Azure Spring Apps.
- Pomocí programu Microsoft Defender for Cloud můžete zajistit, aby aplikace udržovaly zabezpečení tím, že poskytují platformu pro analýzu a vyhodnocení poskytnutých dat.
- Služba podporuje různé vzory nasazení. Další informace najdete v tématu Nastavení přípravného prostředí v Azure Spring Apps.
Spolehlivost
Služba Azure Spring Apps je založená na AKS. I když AKS poskytuje úroveň odolnosti prostřednictvím clusteringu, jde tato referenční architektura ještě více tím, že začlení služby a aspekty architektury, aby se zvýšila dostupnost aplikace, pokud dojde k selhání komponent.
Základem této architektury, která je založená na dobře definovaném hvězdicovém návrhu, je zajištěno, že ji můžete nasadit do více oblastí. V případě použití privátní aplikace architektura používá Azure Private DNS k zajištění trvalé dostupnosti během geografického selhání. V případě použití veřejné aplikace zajišťuje služba Azure Front Door a Azure Application Gateway dostupnost.
Bezpečnost
Zabezpečení této architektury je řešeno dodržováním oborově definovaných kontrol a srovnávacích testů. V tomto kontextu "řízení" znamená stručný a dobře definovaný osvědčený postup, například "Při implementaci přístupu k informačnímu systému použít princip nejnižších oprávnění". IAM-05" Kontrolní mechanismy v této architektuře pocházejí z cloudových řídicích matic (CCM) aliance cloudových zabezpečení (CSA) a srovnávacího testu MAFB (Microsoft Azure Foundations Benchmark ) centrem pro internet security (CIS). V použitých ovládacích prvcích se zaměřujeme na primární principy návrhu zabezpečení zásad správného řízení, sítí a zabezpečení aplikací. Je vaší zodpovědností zvládnout principy návrhu identity, správy přístupu a úložiště v souvislosti s vaší cílovou infrastrukturou.
Vládnutí
Hlavním aspektem zásad správného řízení, které tato architektura řeší, je oddělení prostřednictvím izolace síťových prostředků. V rámci CCM DCS-08 doporučuje řízení přístupů a odchodů pro datové centrum. Aby splnila požadavky na řízení, používá architektura návrh hub and spoke spolu se skupinami zabezpečení sítě (NSG) k filtrování východo-západního provozu mezi prostředky. Architektura také filtruje provoz mezi centrálními službami v uzlu a prostředky ve větvi. Tato architektura používá instanci služby Azure Firewall ke správě provozu mezi internetem a prostředky v rámci architektury.
Následující seznam ukazuje ovládací prvek, který řeší zabezpečení datacentra v tomto odkazu:
| ID kontrolního prvku CSA CCM | Kontrolní doména CCM CSA |
|---|---|
| DCS-08 | Přístup neoprávněných osob zabezpečení datacentra |
Síť
Návrh sítě podporující tuto architekturu je odvozen od tradičního hvězdicového modelu. Toto rozhodnutí zajišťuje, že izolace sítě je základním prvkem. Řízení CCM IVS-06 doporučuje, aby provoz mezi sítěmi a virtuálními počítači byl omezen a monitorován mezi důvěryhodnými a nedůvěryhodnými prostředími. Tato architektura přijímá kontrolu implementací skupin zabezpečení sítě pro provoz mezi východem a západem (v rámci "datového centra") a bránou Azure Firewall pro provoz na sever (mimo "datové centrum"). CCM control IPY-04 doporučuje, aby infrastruktura používala zabezpečené síťové protokoly pro výměnu dat mezi službami. Služby Azure podporující tuto architekturu používají standardní zabezpečené protokoly, jako je TLS pro HTTP a SQL.
Následující seznam ukazuje ovládací prvky CCM, které řeší zabezpečení sítě v tomto odkazu:
| ID kontrolního prvku CSA CCM | Kontrolní doména CCM CSA |
|---|---|
| IPY-04 | Síťové protokoly |
| IVS-06 | Zabezpečení sítě |
Implementace sítě je dále zabezpečena definováním kontrolních mechanismů z MAFB. Ovládací prvky zajišťují, aby provoz do prostředí byl omezen z veřejného internetu.
Následující seznam obsahuje ovládací prvky CIS, které řeší zabezpečení sítě v tomto odkazu:
| ID ovládacího prvku CIS | Popis kontroly CIS |
|---|---|
| 6.2 | Ujistěte se, že přístup SSH je omezený z internetu. |
| 6.3 | Ujistěte se, že žádné SQL databáze neumožňují přístup z 0.0.0.0/0 (jakákoli IP adresa). |
| 6.5 | Ujistěte se, že je služba Network Watcher povolená. |
| 6.6 | Ujistěte se, že příchozí přenos dat používající protokol UDP je omezený z internetu. |
Azure Spring Apps vyžaduje, aby provoz pro správu při nasazení v zabezpečeném prostředí odcházel z Azure. Musíte povolit pravidla sítě a aplikací uvedená v zodpovědnostech zákazníka za spouštění azure Spring Apps ve virtuální síti.
Zabezpečení aplikací
Tento princip návrhu se zabývá základními komponentami identity, ochrany dat, správy klíčů a konfigurace aplikací. Aplikace nasazená v Azure Spring Apps se záměrně spouští s nejnižšími oprávněními potřebnými k fungování. Sada autorizačních ovládacích prvků přímo souvisí s ochranou dat při používání služby. Správa klíčů posiluje tento přístup k zabezpečení vrstvených aplikací.
Následující seznam ukazuje ovládací prvky CCM, které řeší správu klíčů v tomto odkazu:
| ID kontrolního prvku CSA CCM | Kontrolní doména CCM CSA |
|---|---|
| EKM-01 | Nárok na šifrování a správu klíčů |
| EKM-02 | Generování klíčů pro šifrování a správu klíčů |
| EKM-03 | Ochrana citlivých dat šifrováním a správou klíčů |
| EKM-04 | Šifrování a správa klíčů – úložiště a přístup |
Od CCM, EKM-02 a EKM-03 doporučují zásady a postupy pro správu klíčů a použití šifrovacích protokolů k ochraně citlivých dat. EKM-01 doporučuje, aby všechny kryptografické klíče měly identifikovatelné vlastníky, aby je bylo možné spravovat. EKM-04 doporučuje použití standardních algoritmů.
Následující seznam obsahuje ovládací prvky CIS, které řeší správu klíčů v tomto odkazu:
| ID ovládacího prvku CIS | Popis kontroly CIS |
|---|---|
| 8.1 | Ujistěte se, že je pro všechny klíče nastavené datum vypršení platnosti. |
| 8.2 | Ujistěte se, že je pro všechny tajné kódy nastavené datum vypršení platnosti. |
| 8.4 | Ujistěte se, že je trezor klíčů obnovitelný. |
Kontroly CIS 8.1 a 8.2 doporučují nastavit data vypršení platnosti pro přihlašovací údaje, aby bylo zajištěno pravidelné obměňování. Kontrola CIS 8.4 zajišťuje, že obsah trezoru klíčů je možné obnovit, aby se zachoval provozní kontinuita.
Aspekty zabezpečení aplikací nastavily základ pro použití této referenční architektury pro podporu úloh Spring v Azure.
Další kroky
Prozkoumejte tuto referenční architekturu prostřednictvím nasazení ARM, Terraformu a Azure CLI, která jsou k dispozici v úložišti referenční architektury Azure Spring Apps .