N-vrstvá aplikace pro Windows ve službě Azure Stack Hub s SQL Server

Tato referenční architektura ukazuje, jak nasadit virtuální počítače a virtuální síť nakonfigurovanou pro n-vrstvou aplikaci pomocí SQL Server ve Windows pro datovou vrstvu.

Architektura

Tato architektura se skládá z následujících součástí.

Diagram znázorňuje virtuální síť skládající se ze šesti podsítí: Application Gateway, správa, webová vrstva, obchodní vrstva, datová vrstva a Active Directory. Podsíť datové vrstvy používá disk s kopií cloudu. Existují tři nástroje pro vyrovnávání zatížení.

Obecné

  • Skupina prostředků. Skupiny prostředků se používají k seskupování prostředků Azure, aby je bylo možné spravovat podle doby života, vlastníka nebo jiných kritérií.

  • Skupina dostupnosti. Skupina dostupnosti je konfigurace datacentra, která poskytuje redundanci a dostupnost virtuálních počítačů. Tato konfigurace v rámci razítka služby Azure Stack Hub zajišťuje, že během plánované nebo neplánované události údržby bude dostupný alespoň jeden virtuální počítač. Virtuální počítače jsou umístěné ve skupině dostupnosti, která je rozděluje do několika domén selhání (hostitelé služby Azure Stack Hub).

Sítě a vyrovnávání zatížení

  • Virtuální síť a podsítě. Každý virtuální počítač Azure se nasadí do virtuální sítě, kterou je možné segmentovat do podsítí. Vytvořte pro každou vrstvu samostatnou podsíť.

  • Vrstva 7 Load Balancer. Vzhledem k tomu, že Application Gateway ještě není ve službě Azure Stack Hub k dispozici, jsou na webu Azure Stack Hub k dispozici alternativy, například: KEMP LoadMaster Load Balancer přepínač/ obsahu ADCf5 Big-IP Virtual Edition nebo A10 vThunder ADC.

  • Nástroje pro vyrovnávání zatížení. Pomocí Azure Load Balancer distribuujte síťový provoz z webové vrstvy do obchodní vrstvy a z obchodní vrstvy do SQL Server.

  • Skupiny zabezpečení sítě (NSG). Pomocí skupin zabezpečení sítě omezte síťový provoz v rámci virtuální sítě. Například v zde zobrazené třívrstvé architektuře databázová vrstva nepřijímá provoz z webového front-endu, pouze z obchodní vrstvy a podsítě pro správu.

  • DNS. Azure Stack Hub neposkytuje vlastní službu hostování DNS, proto použijte server DNS ve službě ADDS.

Virtual Machines

  • SQL Server skupiny dostupnosti AlwaysOn. Umožňuje replikaci a převzetí služeb při selhání, čímž poskytuje datové vrstvě vysokou dostupnost. K převzetí služeb při selhání používá technologii Windows Server Failover Cluster (WSFC).

  • Servery služby Active Directory Domain Services (AD DS). Objekty počítačů pro cluster s podporou převzetí služeb při selhání a jeho přidružené clusterové role se vytvářejí ve službě Active Directory Domain Services (AD DS). Nastavení serverů SLUŽBY AD DS na virtuálních počítačích ve stejné virtuální síti je upřednostňovanou metodou připojení jiných virtuálních počítačů ke službě AD DS. Virtuální počítače můžete také připojit ke stávající podnikové službě AD DS připojením virtuální sítě k podnikové síti pomocí připojení VPN. U obou přístupů je potřeba změnit DNS virtuální sítě na server DNS služby AD DS (ve virtuální síti nebo existující podnikové síti) a přeložit plně kvalifikovaný název domény AD DS.

  • Disk s kopií cloudu. Cluster s podporou převzetí služeb při selhání vyžaduje, aby byla spuštěná více než polovina jeho uzlů, což se označuje jako kvorum. Pokud má cluster jen dva uzly, síťový oddíl by mohl způsobit, že si každý uzel bude myslet, že se jedná o uzel řídicí roviny. V takovém případě potřebujete určujícího agenta, který přeruší vazby a vytvoří kvorum. Určující disk je prostředek, jako je sdílený disk, který může fungovat jako jistič pro vytvoření kvora. Cloudová kopie clusteru je typ určující kopie clusteru, která používá Azure Blob Storage. Další informace o konceptu kvora najdete v tématu Principy kvora clusteru a fondu. Další informace o cloudové kopii clusteru najdete v tématu Nasazení cloudové kopie clusteru s podporou převzetí služeb při selhání. Ve službě Azure Stack Hub se koncový bod cloudové kopie clusteru liší od globálního Azure.

Může vypadat takto:

  • Globální Azure:
    https://mywitness.blob.core.windows.net/

  • For Azure Stack Hub:
    https://mywitness.blob.<region>.<FQDN>

  • Jumpbox. Označuje se také jako bastion host (ochranná bašta). Je to zabezpečený virtuální počítač v síti, který správci používají pro připojení k jiným virtuálním počítačům. Jumpbox má skupinu NSG, která umožňuje vzdálenou komunikaci pouze z jedné veřejné IP adresy na seznamu bezpečných adres. NSG musí povolit provoz vzdálené plochy (RDP).

Doporučení

Vaše požadavky se mohou od popsané architektury lišit. Použijte tato doporučení jako výchozí bod.

Virtuální počítače

Doporučení ke konfiguraci virtuálních počítačů najdete v tématu Spuštění virtuálního počítače s Windows ve službě Azure Stack Hub.

Virtuální síť

Při vytváření virtuální sítě určete, kolik IP adres vaše prostředky v každé podsíti vyžadují. Zadejte masku podsítě a dostatečně velký rozsah síťových adres pro požadované IP adresy pomocí zápisu CIDR . Použijte adresní prostor, který spadá do standardních bloků privátních IP adres, kterými jsou 10.0.0.0/8, 172.16.0.0/12 a 192.168.0.0/16.

Zvolte rozsah adres, který se nepřekrývá s vaší místní sítí pro případ, že budete později potřebovat nastavit bránu mezi virtuální sítí a místní sítí. Jakmile vytvoříte virtuální síť, nemůžete změnit rozsah adres.

Při navrhování podsítí myslete na požadované funkce a požadavky na zabezpečení. Všechny virtuální počítače ve stejné vrstvě nebo roli by měly patřit do stejné podsítě, která může být hranicí zabezpečení. Další informace o návrhu virtuálních sítí a podsítí najdete v tématu Plánování a návrh virtuálních sítí Azure.

Nástroje pro vyrovnávání zatížení

Nezpřístupňujte virtuální počítače přímo na internetu, ale přidělte každému virtuálnímu počítači privátní IP adresu. Klienti se připojují pomocí veřejné IP adresy přidružené k Load Balancer vrstvy 7.

Definujte pravidla nástroje pro vyrovnávání zatížení, aby síťový provoz směroval na virtuální počítače. Pokud například chcete povolit provoz HTTP, namapujte port 80 z konfigurace front-endu na port 80 v back-endovém fondu adres. Když klient odešle žádost HTTP na port 80, nástroj pro vyrovnávání zatížení vybere back-endovou IP adresu použitím algoritmu hash, který obsahuje zdrojovou IP adresu. Požadavky klientů se distribuují napříč všemi virtuálními počítači v back-endovém fondu adres.

Skupiny zabezpečení sítě

Použijte pravidla skupiny zabezpečení sítě, abyste omezili provoz mezi vrstvami. Ve výše uvedené třívrstvé architektuře webová vrstva nekomunikuje přímo s databázovou vrstvou. Pokud chcete toto pravidlo vynutit, musí databázová vrstva blokovat příchozí provoz z podsítě webové vrstvy.

  1. Odepřít veškerý příchozí provoz z virtuální sítě. (V pravidle použijte značku VIRTUAL_NETWORK.)

  2. Povolte příchozí provoz z podsítě obchodní vrstvy.

  3. Povolte příchozí provoz ze samotné podsítě databázové vrstvy. Toto pravidlo umožňuje komunikaci mezi databázovými virtuálními počítači, která je potřebná pro replikaci databáze a převzetí služeb při selhání.

  4. Povolte provoz protokolu RDP (port 3389) z podsítě jumpbox. Toto pravidlo umožňuje správcům připojit se z jumpboxu k databázové vrstvě.

Vytvořte pravidla 2 až 4 s vyšší prioritou než první pravidlo, aby je přepsali.

Další informace o skupinách dostupnosti AlwaysOn pro SQL Server

Pro vysoce dostupný SQL Server vám doporučujeme použít skupiny dostupnosti AlwaysOn. Skupiny dostupnosti AlwaysOn vyžadují před Windows Serverem 2016 řadič domény a všechny uzly ve skupině dostupnosti musí být ve stejné doméně AD.

V případě vysoké dostupnosti vrstvy virtuálních počítačů by všechny virtuální počítače SQL měly být ve skupině dostupnosti.

Další vrstvy se k databázi připojí prostřednictvím naslouchacího procesu skupiny dostupnosti. Naslouchací proces umožňuje klientovi SQL připojit se bez znalosti názvu fyzické instance SQL Serveru. Virtuální počítače, které přistupují k databázi, musí být připojené k doméně. Klient (v tomto případě jiná vrstva) používá DNS, aby přeložil název virtuální sítě naslouchacího procesu do IP adres.

Skupiny dostupnosti AlwaysOn pro SQL Server nakonfigurujte následovně:

  1. Vytvořte cluster s podporou převzetí služeb při selhání Windows Serveru (WSFC), skupinu dostupnosti AlwaysOn pro SQL Server a primární repliku. Další informace najdete v článku Začínáme se skupinami dostupnosti Always On.

  2. Vytvořte interní nástroj pro vyrovnávání zatížení se statickou privátní IP adresou.

  3. Vytvořte naslouchací proces skupiny dostupnosti a namapujte název DNS naslouchacího procesu na IP adresu interního nástroje pro vyrovnávání zatížení.

  4. Pro port SQL Serveru pro naslouchání (ve výchozím nastavení je to port 1433 protokolu TCP) vytvořte pravidlo nástroje pro vyrovnávání zatížení. Pravidlo nástroje pro vyrovnávání zatížení musí umožňovat plovoucí IP adresu (jinak známou jako přímou odpověď ze serveru). Díky tomu bude virtuální počítač odpovídat přímo klientovi, což umožňuje přímé připojení k primární replice.

Poznámka

Když je plovoucí adresa povolená, front-endové číslo portu musí být stejné jako back-endové číslo portu v pravidle nástroje pro vyrovnávání zatížení.

Když se klient SQL pokusí připojit, nástroj pro vyrovnávání zatížení bude směrovat žádosti na připojení na primární repliku. Pokud dojde k převzetí služeb při selhání jinou replikou, nástroj pro vyrovnávání zatížení automaticky směruje nové požadavky na novou primární repliku. Více informací získáte v tématu Konfigurace naslouchacího procesu ILB pro skupiny dostupnosti AlwaysOn systému SQL Server.

Během převzetí služeb při selhání jsou existující připojení klienta uzavřená. Po dokončení převzetí služeb při selhání se budou nová připojení směrovat na novou primární repliku.

Pokud vaše aplikace provádí více čtení než zápisů, můžete některé dotazy jen pro čtení přesměrovat na sekundární repliku. Podívejte se na článek o použití naslouchacího procesu pro připojení k sekundární replice, která je jen pro čtení (směrování jen pro čtení).

Otestujte své nasazení vynucením ručního převzetí služeb při selhání skupiny dostupnosti.

Informace o optimalizaci výkonu SQL najdete také v článku Osvědčené postupy pro SQL Server pro optimalizaci výkonu ve službě Azure Stack Hub.

Jumpbox

Nepovolujte přístup RDP z veřejného internetu k virtuálním počítačům, na kterých běží úloha aplikace. Místo toho by měl veškerý přístup RDP k těmto virtuálním počítačům projít přes jumpbox. Správce se přihlásí do jumpboxu a potom se z jumpboxu přihlásí k jinému virtuálnímu počítači. Jumpbox provoz protokolu RDP z internetu umožňuje, ale pouze ze známých a bezpečných IP adres.

Jumpbox má minimální požadavky na výkon, takže vyberte malou velikost virtuálního počítače. Vytvořte jumpboxu veřejné IP adresy. Umístěte jumpbox do stejné virtuální sítě jako ostatní virtuální počítače, ale do samostatné podsítě pro správu.

Pokud chcete jumpbox zabezpečit, přidejte pravidlo NSG, které povoluje připojení RDP pouze z bezpečné sady veřejných IP adres. Nakonfigurujte skupiny zabezpečení sítě pro ostatní podsítě, aby přijímaly provoz protokolu RDP z podsítě pro správu.

Aspekty zabezpečení

Škálovací sady

U webových a obchodních vrstev zvažte použití škálovacích sad virtuálních počítačů místo nasazování samostatných virtuálních počítačů. Škálovací sada usnadňuje nasazení a správu sady identických virtuálních počítačů. Pokud potřebujete rychle škálovat virtuální počítače na více instancí, zvažte použití škálovacích sad.

Existují dva základní způsoby, jak virtuální počítače nasazené ve škálovací sadě nakonfigurovat:

  • Virtuální počítač po nasazení nakonfigurujte pomocí rozšíření. U tohoto přístupu je možné, že se nové instance virtuálních počítačů budou načítat déle než u virtuálních počítačů bez rozšíření.

  • Nasaďte spravovaný disk s vlastní imagí disku. Nasazení této možnosti může být rychlejší, Vyžaduje ale, abyste image udržovali aktuální.

Další informace najdete v tématu Aspekty návrhu škálovacích sad. Toto aspekty návrhu většinou platí pro službu Azure Stack Hub, existují však určitá upozornění:

  • Škálovací sady virtuálních počítačů ve službě Azure Stack Hub nepodporují nadměrné zřizování ani upgrady se zajištěním provozu.

  • Ve službě Azure Stack Hub není možné automaticky škálovat škálovací sady virtuálních počítačů.

  • Pro škálovací sadu virtuálních počítačů důrazně doporučujeme používat spravované disky ve službě Azure Stack Hub místo nespravovaných disků.

  • V současné době platí limit 700 virtuálních počítačů ve službě Azure Stack Hub, který využívá všechny virtuální počítače infrastruktury služby Azure Stack Hub, jednotlivé virtuální počítače a instance škálovací sady.

Omezení předplatného

Každé předplatné tenanta služby Azure Stack Hub má nastavené výchozí limity, včetně maximálního počtu virtuálních počítačů na oblast nakonfigurovaných operátorem služby Azure Stack Hub. Další informace najdete v přehledu služeb, plánů, nabídek a předplatných služby Azure Stack Hub. Projděte si také téma Typy kvót ve službě Azure Stack Hub.

Důležité informace o zabezpečení

Virtuální sítě jsou hranicí izolace provozu v Azure. Ve výchozím nastavení nemůžou virtuální počítače v jedné virtuální síti komunikovat přímo s virtuálními počítači v jiné virtuální síti.

Skupiny zabezpečení sítě: Skupiny zabezpečení sítě (NSG) slouží k omezení provozu do a z internetu. Další informace získáte v tématu Zabezpečení sítí a cloudových služeb Microsoftu.

DMZ. Zvažte přidání síťového virtuálního zařízení, abyste mezi internetem a virtuální sítí Azure vytvořili síť DMZ. Síťové virtuální zařízení je obecný termín pro virtuální zařízení, které provádí úlohy související se sítí, jako je brána firewall, kontrola paketu, auditování a vlastní směrování.

Šifrování. Šifrování neaktivních uložených dat a použití Key Vault ve službě Azure Stack Hub ke správě šifrovacích klíčů databáze. Další informace najdete v tématu Konfigurace Integrace se službou Azure Key Vault pro virtuální počítače Azure. Doporučuje se také ukládat tajné kódy aplikací, jako jsou databázové připojovací řetězce, ve Key Vault.

Další kroky