Referenční architektura Azure Spring Apps

Poznámka

Azure Spring Apps je nový název služby Azure Spring Cloud. I když má služba nový název, uvidíte na některých místech na chvíli 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, který používá typický podnikový hvězdicový návrh pro použití Azure Spring Apps. V návrhu se Služba Azure Spring Apps nasazuje v jednom paprsku, který závisí na sdílených službách hostovaných v centru. Architektura je sestavená pomocí komponent, které umožňují dosáhnout principů v architektuře 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á ze serveru Spring Cloud Config, 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™, služby Application Configuration Service pro VMware Tanzu®, registru služby VMware Tanzu®, brány Spring Cloud pro VMware Tanzu® a portálu API pro VMware Tanzu®.®

Implementaci této architektury najdete v tématu Referenční architektura aplikací Azure Spring na GitHubu.

Mezi možnosti nasazení pro tuto architekturu 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 jsou 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ě:

  • Modul runtime 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 tématu Nasazení Azure Spring Apps ve virtuální síti.

Upozornění

Vybraná velikost podsítě se nemůže překrývat s existujícím adresovým prostorem 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 nuance každého z nich.

Soukromé aplikace

Následující seznam popisuje požadavky na infrastrukturu pro privátní aplikace. Tyto požadavky jsou typické ve vysoce regulovaných prostředích.

  • Podsíť musí obsahovat pouze jednu instanci Azure Spring Apps.
  • Mělo by se vynutit dodržování alespoň jednoho srovnávacího testu zabezpečení.
  • Záznamy DNS (Domain Name Service) hostitele aplikace by měly být uložené v Azure Privátní DNS.
  • Závislosti služeb Azure by měly komunikovat prostřednictvím koncových bodů služby nebo Private Link.
  • Neaktivní uložená data by měla být zašifrovaná.
  • Přenášená data by měla být šifrovaná.
  • Je možné použít kanály nasazení DevOps (například Azure DevOps) a vyžadovat síťové připojení k Azure Spring Apps.
  • Odchozí provoz by měl procházet přes centrální síťové virtuální zařízení (NVA) (například 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ě privátní.
  • Přístup Microsoftu k zabezpečení nulová důvěra (Zero Trust) vyžaduje, aby se tajné kódy, certifikáty a přihlašovací údaje ukládaly do zabezpečeného trezoru. Doporučenou službou je Azure Key Vault.
  • Překlad názvů hostitelů místně a v cloudu by měl být obousměrný.
  • Žádný přímý výstup na veřejný internet 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í měnit.

Následující seznam obsahuje komponenty, které tvoří návrh:

  • Místní síť
    • DNS (Domain Name Service)
    • brána
  • Předplatné centra
    • podsíť Application Gateway
    • podsíť Azure Firewall
    • Podsíť sdílených služeb
  • Připojené předplatné
    • Podsíť Azure Bastion
    • partnerský uzel Virtual Network

Následující seznam popisuje služby Azure v této referenční architektuře:

  • Azure Key Vault: hardwarově podporovaná služba správy přihlašovacích údajů, která má úzkou integraci se službami identit Microsoftu a výpočetními prostředky.

  • Azure Monitor: Komplexní sada monitorovacích služeb pro aplikace, které se nasazují v Azure i místně.

  • Azure Pipelines: plně funkční služba kontinuální integrace / průběžného vývoje (CI/CD), která může automaticky nasazovat aktualizované aplikace Spring Boot do Azure Spring Apps.

  • Microsoft Defender for Cloud: jednotný systém správy zabezpečení a ochrany před hrozbami pro úlohy v místním prostředí, v několika cloudech a v 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é ve vysoce regulovaných prostředích.

  • Podsíť musí obsahovat pouze jednu instanci Azure Spring Apps.
  • Mělo by se vynutit dodržování alespoň jednoho srovnávacího testu zabezpečení.
  • Záznamy DNS (Domain Name Service) hostitele aplikace by měly být uložené v Azure Privátní DNS.
  • 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 Private Link.
  • Neaktivní uložená data by měla být zašifrovaná.
  • Přenášená data by měla být šifrovaná.
  • Je možné použít kanály nasazení DevOps (například Azure DevOps) a vyžadovat síťové připojení k Azure Spring Apps.
  • Odchozí provoz by měl procházet přes centrální síťové virtuální zařízení (NVA) (například Azure Firewall).
  • Příchozí provoz by měl spravovat alespoň Application Gateway nebo Azure Front Door.
  • Internetové směrovatelné adresy by měly být uložené ve veřejném DNS Azure.
  • Přístup Microsoftu k zabezpečení nulová důvěra (Zero Trust) vyžaduje, aby se tajné kódy, certifikáty a přihlašovací údaje ukládaly do zabezpečeného trezoru. Doporučenou službou je Azure Key Vault.
  • Překlad názvů hostitelů místně a v cloudu by měl být obousměrný.
  • Žádný přímý výstup na veřejný internet 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í měnit.

Následující seznam obsahuje komponenty, které tvoří návrh:

  • Místní síť
    • DNS (Domain Name Service)
    • brána
  • Předplatné centra
    • podsíť Application Gateway
    • podsíť Azure Firewall
    • Podsíť sdílených služeb
  • Připojené předplatné
    • Podsíť Azure Bastion
    • partnerský uzel Virtual Network

Následující seznam popisuje služby Azure v této referenční architektuře:

  • Aplikace Azure Firewall: funkce 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: Nástroj pro vyrovnávání zatížení zodpovědný za provoz aplikací s protokolem TLS (Transport Layer Security) pracujícím ve vrstvě 7.

  • Azure Key Vault: hardwarově podporovaná služba správy přihlašovacích údajů, která má úzkou integraci se službami identit Microsoftu a výpočetními prostředky.

  • Azure Monitor: Komplexní sada monitorovacích služeb pro aplikace, které se nasazují v Azure i místně.

  • Azure Pipelines: plně funkční služba kontinuální integrace / průběžného vývoje (CI/CD), která může automaticky nasazovat aktualizované aplikace Spring Boot do Azure Spring Apps.

  • Microsoft Defender for Cloud: jednotný systém správy zabezpečení a ochrany před hrozbami pro úlohy v místním prostředí, v několika cloudech a v 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. S internetem komunikuje jenom virtuální síť hub-virtual-network:

Připojení k místnímu prostředí Azure Spring Apps

Aplikace v Azure Spring Apps můžou komunikovat s různými prostředky Azure, místními a externími prostředky. 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) typu Site-to-Site.

Důležité informace o architektuře Azure Well-Architected Framework

Azure Well-Architected Framework je sada zásad, které je třeba dodržovat při vytváření silného základu infrastruktury. 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ých systémů je rozmach infrastruktury realitou. Výsledkem této skutečnosti jsou neočekávané a nekontrolovatelné náklady. Služba Azure Spring Apps je vytvořená pomocí komponent, které se škálovat tak, aby uspokojily poptávku a optimalizovaly náklady. Základem této architektury je Azure Kubernetes Service (AKS). Služba je navržená tak, aby snižovala složitost a provozní režii při správě Kubernetes, což zahrnuje efektivitu provozních nákladů clusteru.

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ůže zlepšit využití a nákladovou efektivitu.

Ke snížení provozních nákladů můžete také použít Application Insights a Azure Monitor. S přehledem, který poskytuje komplexní řešení 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 a zlepšit tak celkové náklady a výkon systému.

Efektivita provozu

Azure Spring Apps řeší několik aspektů efektivity provozu. Tyto aspekty můžete kombinovat, abyste zajistili efektivní fungování služby 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 abyste se vyhnuli chybám lidského faktoru.
  • K ukládání dat protokolů a telemetrických dat můžete použít Azure Monitor a Application Insights. Můžete vyhodnotit shromážděná data protokolů a metrik, abyste zajistili stav a výkon vašich aplikací. Funkce 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í Microsoft Defender for Cloud můžete zajistit, že aplikace zachovávají 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 postavená na AKS. I když AKS poskytuje určitou úroveň odolnosti prostřednictvím clusteringu, jde tato referenční architektura ještě dále tím, že zahrnuje služby a aspekty architektury, aby se zvýšila dostupnost aplikace v případě selhání komponent.

Díky dobře definovanému návrhu hvězdicové architektury je základem této architektury, že ji můžete nasadit do více oblastí. V případě použití privátní aplikace architektura používá Azure Privátní DNS k zajištění trvalé dostupnosti během geografického selhání. V případě použití veřejné aplikace zajišťuje dostupnost služba Azure Front Door a Azure Application Gateway.

Zabezpečení

Zabezpečení této architektury je řešeno dodržováním oborově definovaných kontrolních mechanismů 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žší úrovně oprávnění. IAM-05" Ovládací prvky v této architektuře pocházejí z Cloud Control Matrix (CCM) od CSA (Cloud Security Alliance ) a microsoft Azure Foundations Benchmark (MAFB) od Center for Internet Security (CIS). V použitých ovládacích prvcích se zaměřujeme na primární principy návrhu zabezpečení, jako jsou zásady správného řízení, sítě a zabezpečení aplikací. Je vaší zodpovědností zpracovat principy návrhu identit, správy přístupu a úložiště, které souvisejí s cílovou infrastrukturou.

Zásady správného řízení

Primární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 CCM dcs-08 doporučuje řízení příchozího a výchozího přenosu dat pro datové centrum. Aby se ovládací prvek uspokojil, architektura používá hvězdicovou architekturu pomocí skupin zabezpečení sítě (NSG) k filtrování provozu mezi prostředky mezi východem a západem. Architektura také filtruje provoz mezi centrálními službami v centru a prostředky v paprsku. Architektura používá instanci Azure Firewall ke správě provozu mezi internetem a prostředky v architektuře.

Následující seznam ukazuje ovládací prvek, který se zabývá zabezpečením datacentra v tomto odkazu:

ID ovládacího prvku CSA CCM Doména ovládacího prvku CSA CCM
DCS-08 Zabezpečení datacentra Neoprávněný vstup osob

Síť

Návrh sítě podporující tuto architekturu je odvozený z tradičního hvězdicového modelu. Toto rozhodnutí zajišťuje, že izolace sítě je základní konstruktor. CcM control 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řebírá kontrolu implementací skupin zabezpečení sítě pro provoz mezi východem a západem (v rámci datového centra) a Azure Firewall pro provoz sever-jih (mimo datové centrum). CCM řídící IPY-04 doporučuje, aby infrastruktura používala zabezpečené síťové protokoly pro výměnu dat mezi službami. Služby Azure, které tuto architekturu podporují, používají standardní zabezpečené protokoly, jako je TLS pro HTTP a SQL.

Následující seznam obsahuje ovládací prvky CCM, které řeší zabezpečení sítě v této referenční dokumentaci:

ID ovládacího prvku CSA CCM Doména ovládacího prvku CSA CCM
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 ovládacího prvku CIS
6,2 Ujistěte se, že je přístup SSH z internetu omezený.
6.3 Ujistěte se, že žádné databáze SQL nepovolují příchozí přenos dat 0.0.0.0/0 (LIBOVOLNÁ IP adresa).
6.5 Ujistěte se, že Network Watcher je povoleno.
6.6 Ujistěte se, že příchozí přenos dat pomocí protokolu UDP je omezený z internetu.

Azure Spring Apps při nasazení v zabezpečeném prostředí vyžaduje, aby se provoz správy při odchozím přenosu dat z Azure. Musíte povolit pravidla sítě a aplikací uvedená v tématu Odpovědnost zákazníka za spouštění Azure Spring Apps ve virtuální síti.

Zabezpečení aplikací

Tento princip návrhu pokrývá základní součásti identity, ochrany dat, správy klíčů a konfigurace aplikací. Aplikace nasazená ve službě Azure Spring Apps se záměrně spouští s nejmenšími oprávněními potřebnými ke své funkci. Sada ovládacích prvků autorizace přímo souvisí s ochranou dat při používání služby. Správa klíčů posiluje tento přístup k zabezpečení vícevrstých aplikací.

Následující seznam obsahuje ovládací prvky CCM, které se týkají správy klíčů v tomto odkazu:

ID ovládacího prvku CSA CCM Doména ovládacího prvku CSA CCM
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 Šifrování a správa klíčů – Ochrana citlivých dat
EKM-04 Šifrování a správa klíčů – Úložiště a přístup

Z 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é se zaměřují na správu klíčů v tomto odkazu:

ID ovládacího prvku CIS Popis ovládacího prvku CIS
8.1 Ujistěte se, že je u všech klíčů 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 trezor klíčů je možné obnovit.

Cis řídí 8.1 a 8.2 doporučují, aby byla pro přihlašovací údaje nastavená data vypršení platnosti, aby se zajistilo vynucení obměně. Cis Control 8.4 zajišťuje, že obsah trezoru klíčů je možné obnovit, aby se zachovala kontinuita podnikových procesů.

Aspekty zabezpečení aplikací jsou základem pro použití této referenční architektury k podpoře ú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ích architektur azure Spring Apps .