Kritická základní architektura s ovládacími prvky sítě

Azure Front Door
Azure Firewall
Azure Virtual Network
Azure Kubernetes Service (AKS)

Tato architektura poskytuje pokyny pro návrh klíčové úlohy, která má zavedená přísná síťová řízení, aby se zabránilo neoprávněnému veřejnému přístupu z internetu k prostředkům úloh. Záměrem je zastavit vektory útoku na síťové vrstvě, aby to nemělo vliv na celkovou spolehlivost systému. Například útok DDoS (Distributed Denial of Service) může způsobit nedostupnost prostředku tím, že ho zahlcuje nelegitimním provozem.

Staví na klíčové základní architektuře, která se zaměřuje na maximalizaci spolehlivosti a provozní efektivity bez řízení sítě. Tato architektura přidává funkce pro omezení cest příchozího a výchozího přenosu dat pomocí příslušných funkcí nativních pro cloud, jako jsou Azure Virtual Network (VNet) a privátní koncové body, Azure Private Link, Azure Privátní DNS Zone a další.

Než budete pokračovat v tomto článku, doporučujeme, abyste se seznámili se směrným plánem.

Klíčové strategie návrhu

V tomto případě použití stále platí strategie návrhu pro klíčové směrné plány . Tady jsou další aspekty sítí pro tuto architekturu:

  • Řízení příchozího provozu

    Příchozí nebo příchozí komunikace do virtuální sítě musí být omezená, aby se zabránilo škodlivým útokům.

    Použijte možnosti Web Application Firewall (WAF) na globální úrovni, abyste zastavili útoky na hranici sítě blíže ke zdroji útoku.

    Eliminace veřejného připojení ke službám Azure Jedním z přístupů je použití privátních koncových bodů.

    Před vstupem do sítě zkontrolujte provoz. Skupiny zabezpečení sítě (NSG) v podsítích pomáhají filtrovat provoz tím, že povolí nebo zamítnou tok na nakonfigurované IP adresy a porty. Tato úroveň kontroly také pomáhá při podrobném protokolování.

  • Řízení výchozího provozu

    Je nutné omezit výchozí přenos dat z virtuální sítě do entit mimo danou síť. Chybějící kontroly můžou vést k útokům na exfiltraci dat ze strany škodlivých služeb třetích stran.

    Omezte odchozí provoz do internetu pomocí Azure Firewall. Brána firewall může filtrovat provoz podrobně pomocí plně kvalifikovaného názvu domény (FQDN).

  • Vyvážení kompromisů s bezpečností

    Při přidání funkcí zabezpečení do architektury úloh dochází k významným kompromisům. Můžete si všimnout určitého dopadu na výkon, provozní flexibilitu a dokonce i spolehlivost. Útoky, jako je útok DDoS (Denial-Of-Service), vniknutí dat a další, ale můžou cílit na celkovou spolehlivost systému a nakonec způsobit nedostupnost.

Strategie jsou založené na celkových pokynech pro klíčové úlohy v dobře navržených klíčových úlohách. Doporučujeme, abyste prozkoumali oblast návrhu sítí a připojení a získáte doporučení a osvědčené postupy při definování vlastní klíčové architektury.

Architektura

Diagram znázorňující podsíť privátního koncového bodu ve virtuální síti s regionálním razítkem

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

Komponenty této architektury lze tímto způsobem obecně kategorizovat. Produktovou dokumentaci ke službám Azure najdete v tématu Související prostředky.

Globální prostředky

Globální zdroje jsou dlouhodobé a sdílejí životnost systému. Mají schopnost být globálně dostupné v kontextu modelu nasazení ve více oblastech. Další informace najdete v tématu Globální prostředky.

Skladová položka Azure Front Door Premium se používá jako globální nástroj pro vyrovnávání zatížení ke spolehlivému směrování provozu do regionálních nasazení, která se zveřejňují prostřednictvím privátních koncových bodů.

Projděte si dobře navrženou kritickou úlohu: Globální směrování provozu.

Azure Cosmos DB pro NoSQL se stále používá k ukládání stavu mimo výpočetní cluster a má základní nastavení konfigurace pro spolehlivost. Přístup je omezený na autorizovaná připojení privátních koncových bodů.

Projděte si dobře navrženou architekturu důležitých úloh: Globálně distribuované úložiště dat s více zápisy.

Azure Container Registry slouží k ukládání všech imagí kontejnerů s funkcemi geografické replikace. Přístup je omezený na autorizovaná připojení privátních koncových bodů.

Projděte si dobře navrženou kritickou úlohu: Container Registry.

Místní zdroje

Místní prostředky se zřídí jako součást razítka nasazení v jedné oblasti Azure. Jsou krátkodobé, aby poskytovaly větší odolnost, škálování a blízkost uživatelů. Tyto prostředky nesdílely nic s prostředky v jiné oblasti. Je možné je nezávisle odebrat nebo replikovat do jiných oblastí. Sdílejí ale globální prostředky mezi sebou. Další informace najdete v tématu Prostředky místního razítka.

Statický web v účtu Azure Storage hostuje jednostránkovou aplikaci (SPA), která odesílá požadavky back-endovým službám. Tato komponenta má stejnou konfiguraci jako front-end základního plánu. Přístup je omezený na autorizovaná připojení privátních koncových bodů.

Virtuální sítě Azure poskytují zabezpečená prostředí pro provoz úloh a operací správy.

Zdrojem aplikace je interní nástroj pro vyrovnávání zatížení. Front Door používá tento původ k navázání soukromého a přímého připojení k back-endu pomocí Private Link.

Azure Kubernetes Service (AKS) je orchestrátor back-endového výpočetního prostředí, který spouští aplikaci a je bezstavový. Cluster AKS je nasazený jako privátní cluster. Server rozhraní API Kubernetes proto není přístupný z veřejného internetu. Přístup k serveru rozhraní API je omezený na privátní síť. Další informace najdete v článku o výpočetním clusteru této architektury.

Projděte si dobře navrženou architekturu důležitých úloh: Orchestrace kontejnerů a Kubernetes.

Azure Firewall kontroluje a chrání veškerý výchozí provoz z prostředků Azure Virtual Network.

Azure Event Hubs se používá jako zprostředkovatel zpráv. Přístup je omezený na autorizovaná připojení privátních koncových bodů.

Projděte si dobře navrženou kritickou úlohu: Volně svázaná architektura založená na událostech.

Azure Key Vault slouží jako regionální úložiště tajných kódů. Přístup je omezený na autorizovaná připojení privátních koncových bodů.

Projděte si dobře navrženou architekturu důležitých úloh: Ochrana integrity dat.

Prostředky kanálu nasazení

Kanály sestavení a verze pro kritickou aplikaci musí být plně automatizované, aby se zajistil konzistentní způsob nasazení ověřeného razítka.

GitHub se stále používá pro správu zdrojového kódu jako vysoce dostupná platforma založená na gitu.

Služba Azure Pipelines je zvolená k automatizaci kanálů, které jsou potřeba k sestavení, testování a nasazení úloh v předprodukčním a produkčním prostředí.

Projděte si dobře navrženou kritickou úlohu: procesy DevOps.

Fondy agentů sestavení Azure DevOps v místním prostředí mají větší kontrolu nad sestaveními a nasazeními. Tato úroveň samostatnosti je nutná, protože výpočetní cluster a všechny prostředky PaaS jsou soukromé, což vyžaduje integraci na úrovni sítě, která není možná u agentů sestavení hostovaných Microsoftem.

Zdroje informací o pozorovatelnosti

Data monitorování globálních a místních prostředků se ukládají nezávisle na sobě. Jedno centralizované úložiště pozorovatelnosti se nedoporučuje, abyste se vyhnuli jedinému bodu způsobujícímu selhání. Další informace najdete v tématu Zdroje informací o pozorovatelnosti.

  • Azure Log Analytics se používá jako jednotná jímka pro ukládání protokolů a metrik pro všechny komponenty aplikací a infrastruktury.

  • Aplikace Azure Insights slouží jako nástroj pro správu výkonu aplikací (APM), který shromažďuje všechna data monitorování aplikací a ukládá je přímo ve službě Log Analytics.

Projděte si dobře navrženou architekturu důležitých úloh: Prediktivní akce a operace umělé inteligence.

Prostředky pro správu

Významnou změnou návrhu oproti základní architektuře je výpočetní cluster. V tomto návrhu je cluster AKS privátní. Tato změna vyžaduje, aby se pro získání přístupu zřídily další prostředky.

Azure Virtual Machine Scale Sets pro privátní agenty sestavení a instance jump boxu pro spouštění nástrojů v clusteru, jako je kubectl.

Azure Bastion poskytuje zabezpečený přístup k virtuálním počítačům jump boxu a odstraňuje potřebu, aby virtuální počítače měly veřejné IP adresy.

Privátní koncové body pro služby PaaS

Ke zpracování obchodních operací nebo operací nasazení musí aplikace a agenti sestavení získat přístup k několika službám Azure PaaS, které jsou zřízené globálně, v rámci oblasti a dokonce i v rámci razítka. V základní architektuře probíhá komunikace přes veřejné koncové body služeb.

V tomto návrhu jsou tyto služby chráněné privátními koncovými body, aby se odebraly z veřejného internetového přístupu. Tento přístup zmenšuje celkovou oblast útoku, aby se omezilo přímé manipulace se službami z neočekávaných zdrojů. Zavádí ale další potenciální bod selhání a zvyšuje složitost. Před přijetím tohoto přístupu pečlivě zvažte kompromisy s zabezpečením.

Privátní koncové body by se měly umístit do vyhrazené podsítě virtuální sítě razítka. Privátní IP adresy k privátním koncovým bodům se přiřazují z této podsítě. V podstatě může jakýkoli prostředek ve virtuální síti komunikovat se službou tak, že se dostane na privátní IP adresu. Ujistěte se, že adresní prostor je dostatečně velký, aby se pojal všechny privátní koncové body potřebné pro toto razítko.

K připojení přes privátní koncový bod potřebujete záznam DNS. Doporučuje se uchovávat záznamy DNS přidružené ke službám v zónách Azure Privátní DNS obsluhovaných službou Azure DNS. Ujistěte se, že se plně kvalifikovaný název domény (FQDN) překládá na privátní IP adresu.

Diagram znázorňující podsíť privátního koncového bodu ve virtuální síti s razítkem v oblasti

V této architektuře jsou privátní koncové body nakonfigurované pro Azure Container Registry, Azure Cosmos DB, Key Vault, prostředky úložiště a službu Event Hubs. Cluster AKS se také nasadí jako privátní cluster, který vytvoří privátní koncový bod pro službu rozhraní Kubernetes API v síti clusteru.

V tomto návrhu jsou zřízeny dvě virtuální sítě a obě mají vyhrazené podsítě pro uložení privátních koncových bodů pro všechny tyto služby. Rozložení sítě je popsáno v tématu Rozložení virtuální sítě.

Při přidávání dalších komponent do architektury zvažte přidání dalších privátních koncových bodů. Můžete například přidat omezení k prostředkům pozorovatelnosti. Azure Log Analytics i Aplikace Azure Insights podporují používání privátních koncových bodů. Podrobnosti najdete v tématu Použití Azure Private Link k připojení sítí ke službě Azure Monitor.

Je možné je vytvořit ve stejné nebo různých podsítích ve stejné virtuální síti. Počet privátních koncových bodů, které můžete vytvořit v předplatném, jsou omezena. Další informace najdete v tématu Limity Azure.

Přístup ke službám můžete dále řídit pomocí skupin zabezpečení sítě v podsíti.

Privátní příchozí přenos dat

Skladová položka Azure Front Door Premium se používá jako globální vstupní bod pro veškerý příchozí klientský provoz. Používá funkce Web Application Firewall (WAF) k povolení nebo odepření provozu na okraji sítě. Nakonfigurovaná pravidla WAF zabraňují útokům ještě před tím, než vstoupí do virtuálních sítí s razítkem.

Tato architektura také využívá schopnost služby Front Door používat Azure Private Link pro přístup k původu aplikace bez použití veřejných IP adres nebo koncových bodů na back-endech. To vyžaduje interní nástroj pro vyrovnávání zatížení ve virtuální síti s razítkem. Tento prostředek je před kontrolerem příchozího přenosu dat Kubernetes spuštěným v clusteru. Kromě tohoto privátního Load Balancer je služba Private Link vytvořená službou AKS, která se používá pro privátní připojení ze služby Front Door.

Po navázání připojení mají privátní koncové body v síti služby Front Door přímé připojení k nástroji pro vyrovnávání zatížení a statickému webu v síti s razítkem přes Private Link.

Další informace najdete v tématu Jak funguje Private Link.

Diagram znázorňující Private Link přístup ze služby Front Door k back-endu aplikace

Projděte si dobře navrženou klíčové úlohy: Služby doručování aplikací.

Omezené výchozí přenosy dat

Aplikace můžou vyžadovat odchozí připojení k internetu. Řízení provozu poskytuje způsob, jak omezit, monitorovat a omezit odchozí provoz. V opačném případě může neočekávaný přístup zevnitř vést k ohrožení zabezpečení a potenciálně k nespolehlivému stavu systému. Omezené výchozí přenosy dat mohou také vyřešit jiné bezpečnostní problémy, jako je exfiltrace dat.

Pomocí brány firewall a skupin zabezpečení sítě (NSG) můžete zkontrolovat a protokolovat odchozí provoz z aplikace.

V této architektuře je Azure Firewall jediným výstupním bodem a slouží ke kontrole veškerého odchozího provozu pocházejícího z virtuální sítě. Trasy definované uživatelem se používají v podsítích, které jsou schopné generovat odchozí provoz, jako je například podsíť aplikace.

Diagram znázorňující Azure Firewall používané k omezení výchozího přenosu dat

Informace o omezení odchozích přenosů najdete v tématu Řízení výchozího přenosu pro uzly clusteru v Azure Kubernetes Service (AKS).

Rozložení virtuální sítě

Izolujte místní prostředky a prostředky pro správu v samostatných virtuálních sítích. Mají odlišné charakteristiky, účely a aspekty zabezpečení.

  • Typ provozu: Regionální prostředky, které se podílejí na zpracování obchodních operací, vyžadují vyšší kontrolu zabezpečení. Například výpočetní cluster musí být chráněný před přímým internetovým provozem. Prostředky pro správu se zřizují jenom pro přístup k místním prostředkům pro operace.

  • Životnost: Očekávaná životnost těchto prostředků se také liší. Očekává se, že regionální zdroje budou krátkodobé (dočasné). Vytvoří se jako součást razítka nasazení a při roztrženém razítku se zničí. Prostředky pro správu sdílejí životnost oblasti a živě vysílají prostředky razítka.

V této architektuře existují dvě virtuální sítě: síť s razítkem a provozní síť. Vytvořte další izolaci v jednotlivých virtuálních sítích pomocí podsítí a skupin zabezpečení sítě (NSG) k zabezpečení komunikace mezi podsítěmi.

Projděte si téma Dobře navržená klíčová úloha: Izolované virtuální sítě.

Virtuální síť s razítkem oblasti

Razítko nasazení zřídí virtuální síť v každé oblasti.

Diagram znázorňující zabezpečené globální směrování pro klíčové úlohy

Virtuální síť je rozdělená na tyto hlavní podsítě. Všechny podsítě mají přiřazené skupiny zabezpečení sítě (NSG), které blokují veškerý neoprávněný přístup z virtuální sítě. Skupiny zabezpečení sítě omezí provoz mezi podsítí aplikace a dalšími komponentami v síti.

  • Podsíť aplikace

    Fondy uzlů clusteru AKS jsou izolované v podsíti. Pokud potřebujete fond systémových uzlů dále izolovat od fondu pracovních uzlů, můžete je umístit do samostatných podsítí.

  • Podsíť příchozího přenosu dat razítka

    Vstupním bodem každého razítka je interní Standard Load Balancer Azure, který je umístěn ve vyhrazené podsíti. Nachází se zde také služba Private Link používaná pro privátní připojení ze služby Front Door.

    Oba prostředky se zřídí jako součást nasazení razítka.

  • Podsíť výchozího přenosu dat s razítkem

    Azure Firewall se umístí do samostatné podsítě a kontroluje výchozí provoz z podsítě aplikace pomocí trasy definované uživatelem.

  • Podsíť privátních koncových bodů

    Podsíť aplikace bude muset přistupovat ke službám PaaS pomocí místního razítka, Key Vault a dalších. Je také potřeba mít přístup ke globálním prostředkům, jako je registr kontejneru. V této architektuře jsou všechny služby PaaS uzamčené a jsou dostupné pouze prostřednictvím privátních koncových bodů. Proto se pro tyto koncové body vytvoří další podsíť. Příchozí přístup k této podsíti je zabezpečený skupinou zabezpečení sítě, která povoluje pouze provoz z aplikace.

    Další omezení můžete přidat pomocí podpory trasy definované uživatelem pro privátní koncové body, aby tento provoz mohl také e-výstupní přenos přes výstupní podsíť s razítkem.

Virtuální síť Operations

Provozní provoz je izolovaný v samostatné virtuální síti. Vzhledem k tomu, že služba API clusteru AKS je v této architektuře soukromá, musí veškerý provoz nasazení a provozní provoz pocházet také z privátních prostředků, jako jsou agenti sestavení v místním prostředí a jump boxy. Tyto prostředky se nasazují v samostatné virtuální síti s přímým připojením k prostředkům aplikace prostřednictvím vlastní sady privátních koncových bodů. Agenti sestavení a jump box jsou v samostatných podsítích.

Místo použití privátních koncových bodů je alternativním přístupem použít partnerský vztah virtuálních sítí. Peering ale zvyšuje složitost, kterou může být obtížné spravovat, zejména když jsou virtuální sítě navržené tak, aby byly dočasné.

Agenti sestavení (a volitelně i přeskakovací pole) potřebují přístup ke službám PaaS, které jsou umístěné globálně a v rámci místního razítka. Podobně jako u virtuální sítě s regionálním razítkem se vytvoří vyhrazená podsíť pro privátní koncové body potřebných služeb PaaS. Skupina zabezpečení sítě v této podsíti zajišťuje, aby příchozí přenos dat byl povolený jenom z podsítí pro správu a nasazení.

Diagram znázorňující tok sítě pro správu

Operace správy

Typickým případem použití je, když operátor potřebuje přístup k výpočetnímu clusteru, aby spouštět nástroje a příkazy pro správu. Služba API v privátním clusteru není přístupná přímo. To je důvod, proč jsou zřízena jump boxy, kde operátor může spouštět nástroje. Pro jump boxy existuje samostatná podsíť.

Ale tyto jump boxy musí být chráněny také před neoprávněným přístupem. Měli byste se vyhnout přímému přístupu k jump boxům otevřením portů RDP/SSH. Pro tento účel se doporučuje Azure Bastion a vyžaduje vyhrazenou podsíť v této virtuální síti.

Upozornění

Připojení prostřednictvím služby Azure Bastion a jump boxů může mít vliv na produktivitu vývojářů, například spuštění ladicích nástrojů vyžaduje další proces. Než se rozhodnete posílit zabezpečení pro vaši kritickou úlohu, mějte na paměti tyto dopady.

Přístup k podsíti jump boxu můžete dále omezit pomocí skupiny zabezpečení sítě, která umožňuje pouze příchozí provoz z podsítě Bastion přes SSH.

Operace nasazení

Pokud chcete sestavit kanály nasazení, musíte zřídit další výpočetní prostředky pro spouštění agentů sestavení. Tyto prostředky nemají přímý vliv na dostupnost modulu runtime úlohy, ale selhání spolehlivosti může ohrozit schopnost nasadit nebo obsluhovat důležité prostředí. Funkce spolehlivosti by se proto měly rozšířit i na tyto prostředky.

Tato architektura používá Virtual Machine Scale Sets pro agenty sestavení i jump boxy (na rozdíl od jednotlivých virtuálních počítačů). Segmentace sítě se také zajišťuje pomocí podsítí. Příchozí přenos dat je omezený na Azure DevOps.

Důležité informace o nákladech

Má to významný dopad na náklady na klíčové úlohy. V této architektuře povedou technologické volby, jako je použití skladové položky Azure Front Door Premium a zřizování Azure Firewall v každém kolku, ke zvýšení nákladů. Existují také další náklady související s údržbou a provozními prostředky. Tyto kompromisy je třeba pečlivě zvážit před přijetím verze základní architektury řízené sítí.

Nasazení této architektury

Síťové aspekty této architektury jsou implementovány v implementaci Connected pro klíčové významy.

Poznámka

Implementace Connected má znázornit kritickou úlohu, která závisí na prostředcích organizace, integruje se s jinými úlohami a používá sdílené služby. Staví na této architektuře a používá síťové ovládací prvky popsané v tomto článku. Scénář Připojení však předpokládá, že virtuální privátní síť nebo zóna Azure Privátní DNS již existují v rámci předplatného připojení cílových zón Azure.

Další kroky

Podrobnosti o rozhodnutích o návrhu provedených v této architektuře najdete v oblasti návrhu sítí a připojení pro klíčové úlohy v architektuře Azure.

Produktovou dokumentaci ke službám Azure používaným v této architektuře najdete v těchto článcích.