Windows N-vrstvá aplikace v 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 na Windows pro datovou vrstvu.

Architektura

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

Diagram znázorňuje virtuální síť se šesti podsítěmi: Application Gateway, Správa, Webová vrstva, Obchodní vrstva, Datová vrstva a Active Directory. Podsíť datové vrstvy používá cloudovou schůdku. Existují tři nástroje pro vyrovnávání zatížení.

Obecné

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

  • Skupiny dostupnosti. Sada dostupnosti je konfigurace datacentra, která poskytuje redundanci a dostupnost virtuálních počítače. Tato konfigurace v rámci Azure Stack Hub zajistí, že během plánované nebo neplánované události údržby bude k dispozici alespoň jeden virtuální počítač. Virtuální počítače jsou umístěné ve skupině dostupnosti, která je rozděluje mezi více domén selhání (Azure Stack Hub hostitelů).

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

  • Virtuální síť a podsítě. Každý virtuální počítač Azure je nasazený 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 Application Gateway, že služba Azure Stack Hub ještě není dostupná, na webu Azure Stack Hub Market place jsou k dispozici alternativy, jako je například: PO LoadMaster Load Balancer ADC Content Switchf5 Big-IP Virtual Edition nebo A10 vThunder ADC

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

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

  • DNS. Azure Stack Hub neposkytuje vlastní hostující službu DNS, proto použijte server DNS ve vašem nástroji ADDS.

Virtual Machines

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

  • 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 vytvoří v Active Directory Domain Services (AD DS). Pro připojení jiných virtuálních počítačů ke službě AD DS se upřednostní nastavení serverů SLUŽBY AD DS ve virtuálních počítačůch ve stejné virtuální síti. Virtuální počítače můžete také připojit k existující službě Enterprise AD DS připojením virtuální sítě k virtuální Enterprise síti s připojením 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í síti Enterprise), aby se překládá plně kvalifikovaný název domény služby AD DS.

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

Může to vypadat třeba takhle:

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

  • Pro 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če najdete v tématu Spuštění virtuálního Windows virtuálníhopočítače na 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í. Pomocí notace CIDR zadejte masku podsítě a dostatečně velký rozsah síťových adres pro požadované IP adresy. 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í, pokud 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 navrhování 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í

Nevystavujte virtuální počítače přímo internetu, ale místo toho každému virtuálnímu počítače přidejte privátní IP adresu. Klienti se připojují pomocí veřejné IP adresy přidružené k vrstvě 7 Load Balancer.

Definujte pravidla nástroje pro vyrovnávání zatížení, aby síťový provoz směroval na virtuální počítače. Pokud chcete například povolit provoz HTTP, namapovat port 80 z konfigurace front-endu na port 80 v back-endového 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-end fondu adres.

Skupiny zabezpečení sítě

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

  1. Odepřít veškerý příchozí provoz z virtuální sítě. (Použijte VIRTUAL_NETWORK v pravidle.)

  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če, 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ě jumpboxu. Toto pravidlo umožňuje správcům připojit se z jumpboxu k databázové vrstvě.

Vytvořte pravidla 2–4 s vyšší prioritou než první pravidlo, takže ho přepíší.

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 SQL všechny virtuální počítače 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řesouvadět 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 SQL výkonu najdete také v článku o osvědčených postupech SQL serveru pro optimalizaci výkonu v nástroji Azure Stack Hub.

Jumpbox

Nepovolte přístup RDP z veřejného internetu k virtuálním počítači, na které běží úloha aplikace. Veškerý přístup RDP k těmto virtuálním počítači by měl procházet 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é povolí připojení RDP jenom 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 místo nasazení samostatných virtuálních počítačů použití škálovací sady virtuálních počítačů. Škálovací sada usnadňuje nasazení a správu sady identických virtuálních počítače. Pokud potřebujete virtuální počítače rychle škálovat, zvažte škálovací sady.

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

  • Pomocí rozšíření nakonfigurujte virtuální počítač po jeho nasazení. 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 měli aktuální.

Další informace najdete v tématu Aspekty návrhu škálovací sady. Tento aspekt návrhu platí hlavně pro Azure Stack Hub, ale existuje několik upozornění:

  • Škálovací sady virtuálních počítačů na Azure Stack Hub nepodporují přílišné zřizování ani postupné upgrady.

  • Škálovací sady virtuálních počítačů nelze automaticky škálovat na Azure Stack Hub.

  • Důrazně doporučujeme pro škálovací sadu virtuálních počítačů Azure Stack Hub místo nespravovaných disků na spravovaných discích.

  • V současné době existuje limit 700 virtuálních počítačů pro Azure Stack Hub, který představuje všechny virtuální počítače infrastruktury Azure Stack Hub, jednotlivé virtuální počítače a instance škálovací sady.

Omezení předplatného

Každé Azure Stack Hub tenanta má nastavené výchozí limity, včetně maximálního počtu virtuálních počítače na oblast nakonfigurovaného operátorem Azure Stack Hub úložiště. Další informace najdete v tématu Azure Stack Hub služby, plány, nabídky, přehled předplatných. Další informace najdete v tématu Typy kvót v 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í virtuální počítače v jedné virtuální síti nekomunikují přímo s virtuálními počítači v jiné virtuální síti.

NSG. Pomocí skupin zabezpečení sítě (NSG) můžete omezit provoz 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í. Zašifrujete citlivá data v klidových Key Vault a 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, do Key Vault.

Další kroky