Windows N szintű alkalmazás a Azure Stack Hub SQL Server

Ez a referenciaarchitektúra bemutatja, hogyan helyezhet üzembe virtuális gépeket (virtuális gépeket) és egy N szintű alkalmazáshoz konfigurált virtuális hálózatot SQL Server az Windows réteghez való használatával.

Architektúra

Az architektúra a következő összetevőket tartalmazza.

Az ábrán egy hat alhálózatból álló virtuális hálózat látható: Application Gateway, felügyelet, webes szint, üzleti szint, adatszint és Active Directory. Az Adatréteg alhálózat felhőbeli tanúsítót használ. Három terheléselosztási elosztás van.

Általános kérdések

  • Erőforráscsoport. Az erőforráscsoportok az Azure-erőforrások csoportosítására szolgálnak, így élettartamuk, tulajdonosuk vagy más feltételek alapján kezelhetők.

  • Rendelkezésre állási készlet. A rendelkezésre állási készlet egy adatközpont-konfiguráció, amely biztosítja a virtuális gépek redundanciát és rendelkezésre állását. Ez a konfiguráció egy Azure Stack Hub bélyegen belül biztosítja, hogy egy tervezett vagy nem tervezett karbantartási esemény során legalább egy virtuális gép elérhetővé válik. A virtuális gépek egy rendelkezésre állási készletben vannak elhelyezve, amely több tartalék tartományra (Azure Stack Hub gazdagépre) elosztást biztosít

Hálózat és terheléselosztás

  • Virtuális hálózat és alhálózatok. Minden Azure-beli virtuális gép egy alhálózatra szegmentálható virtuális hálózatban van üzembe stb. Hozzon létre egy külön alhálózatot minden egyes szinthez.

  • 7. réteg Load Balancer. Mivel Application Gateway még nem érhető el a Azure Stack Hub-ban, a Azure Stack Hub Market place-ben több alternatíva is elérhető, például: KEMP LoadMaster Load Balancer ADC Content Switchf5 Big-IP Virtual Edition vagy A10 vThunder ADC

  • Terheléselosztás:. A Azure Load Balancer elosztja a hálózati forgalmat a webes szintről az üzleti szintre, illetve az üzleti szintről az SQL Server.

  • Hálózati biztonsági csoportok (NSG-k). Az NSG-k használatával korlátozhatja a hálózati forgalmat a virtuális hálózaton belül. Az itt látható háromszintű architektúrában például az adatbázisszint nem fogadja el a webes előtérről, csak az üzleti szintről és a felügyeleti alhálózatról származó forgalmat.

  • DNS. Azure Stack Hub nem biztosít saját DNS-üzemeltetési szolgáltatást, ezért használja a DNS-kiszolgálót az ADDS-ben.

Virtuális gépek

  • SQL Server Always On rendelkezésre állási csoport. Magas rendelkezésre állást biztosít az adatszinten a replikáció és a feladatátvétel engedélyezésével. A feladatátvételhez Windows kiszolgálói feladatátvevő fürt (WSFC) technológiáját használja.

  • (AD DS) Active Directory Domain Services-kiszolgálók A feladatátvevő fürt számítógép-objektumai és a hozzá tartozó fürtözött szerepkörök a következő Active Directory Domain Services hozhatók AD DS. Az azonos AD DS virtuális gépeken lévő virtuális gépeken előnyben részesített módszer más virtuális gépek virtuális gépekhez való AD DS. A virtuális gépeket csatlakoztathatja meglévő nagyvállalati AD DS, ha VPN-kapcsolattal csatlakoztatja a virtuális hálózatot a vállalati hálózathoz. Mindkét módszer esetén módosítania kell a virtuális hálózat DNS-ét a AD DS DNS-kiszolgálóra (a virtuális hálózaton vagy a meglévő vállalati hálózaton) a tartomány teljes tartománynevének AD DS feloldásához.

  • Felhőbeli tanúsító. A feladatátvevő fürtöknek a csomópontok több mint felét kell futnia, ami kvórumnak is nevezik. Ha a fürt csak két csomóponttal rendelkezik, egy hálózati partíció miatt az egyes csomópontok úgy gondolhat, hogy ez a főcsomópont. Ebben az esetben szüksége lesz egy tanúsítóra, aki megszakítja a kapcsolatokat és létrehozza a kvórumot. A tanúsító egy olyan erőforrás, például megosztott lemez, amely a kvórum létrehozására képes megszakítóként működik. A felhőbeli tanúsító egy tanúsítótípus, amely Azure Blob-Storage. A kvórum fogalmával kapcsolatos további információkért lásd: Understanding cluster and pool quorum (A fürt és a készlet kvórumának ismertetése). További információ a felhőbeli tanúsítóról: Felhőbeli tanúsító üzembe helyezése feladatátvevő fürthöz. Ebben Azure Stack Hub felhőbeli tanúsító végpont különbözik a globális Azure-tól.

A következő lehet a következő:

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

  • További Azure Stack Hub:
    https://mywitness.blob.<region>.<FQDN>

  • Jumpbox. Más néven bástyagazdagép. A hálózaton található biztonságos virtuális gép, amelyet a rendszergazdák a többi virtuális géphez való kapcsolódásra használnak. A jumpbox olyan NSG-vel rendelkezik, amely csak a biztonságos elemek listáján szereplő nyilvános IP-címekről érkező távoli forgalmat engedélyezi. Az NSG-nek engedélyeznie kell a távoli asztali (RDP) forgalmat.

Javaslatok

Az Ön követelményei eltérhetnek az itt leírt architektúrától. Ezeket a javaslatokat tekintse kiindulópontnak.

Virtual machines (Virtuális gépek)

A virtuális gépek konfigurálásával kapcsolatos javaslatokért lásd: Run a Windows VM on Azure Stack Hub.

Virtuális hálózat

A virtuális hálózat létrehozásakor határozza meg, hogy az egyes alhálózatok erőforrásainak hány IP-címre van szükségük. CIDR-beállítással adjon meg egy alhálózati maszkot és egy olyan hálózati címtartományt, amely elég nagy a szükséges IP-címekhez. Használjon a szabványos magánhálózati IP-címblokkokba eső címterületet. Ezek az IP-címblokkok a következők: 10.0.0.0/8, 172.16.0.0/12 és 192.168.0.0/16.

Válasszon olyan címtartományt, amely nincs átfedésben a helyszíni hálózattal, ha később átjárót kell beállítania a virtuális hálózat és a helyszíni hálózat között. A virtuális hálózat létrehozása után nem módosíthatja a címtartományt.

Az alhálózatokat a funkciók és a biztonsági követelmények szem előtt tartásával tervezze meg. Minden ugyanazon szinthez vagy szerepkörhöz tartozó virtuális gépnek egyazon alhálózaton kell lennie. Ez az alhálózat biztonsági korlátot is képezhet. További információ a virtuális hálózatok és alhálózatok tervezéséről: Azure-beli virtuális hálózatok tervezése és kialakítása.

Terheléselosztók

Ne tegye elérhetővé a virtuális gépeket közvetlenül az interneten, hanem minden virtuális gépnek adjon privát IP-címet. Az ügyfelek a 7. réteghez társított nyilvános IP-címmel csatlakoznak Load Balancer.

Adja meg a terheléselosztó a virtuális gépek felé irányuló közvetlen hálózati forgalomra vonatkozó szabályait. A HTTP-forgalom engedélyezéséhez például leképezheti a 80-as portot az előoldali konfigurációból a háttércímkészlet 80-as portjára. Amikor egy ügyfél HTTP-kérelmet küld a 80-as port felé, a terheléselosztó kiválaszt egy háttérbeli IP-címet egy kivonatoló algoritmus használatával, amely tartalmazza a forrás IP-címét. Az ügyfélkérések el vannak osztva a háttércímkészletben lévő összes virtuális gép között.

Network security groups (Hálózati biztonsági csoportok)

A szintek közötti forgalmat NSG-szabályokkal korlátozhatja. A fent látható háromszintű architektúrában a webes szint nem kommunikál közvetlenül az adatbázisszinttel. A szabály érvényesítéséhez az adatbázisrétegnek blokkolnia kell a webes réteg alhálózatából bejövő forgalmat.

  1. Tiltsa le a virtuális hálózatról bejövő összes forgalmat. (Használja a VIRTUAL_NETWORK címkét a szabályban.)

  2. Az üzleti szint alhálózatról bejövő forgalom engedélyezése.

  3. Engedélyezze a bejövő forgalmat az adatbázisszint alhálózatából. Ez a szabály lehetővé teszi az adatbázis virtuális gépei közötti kommunikációt, amely az adatbázis-replikációhoz és a feladatátvételhez szükséges.

  4. Engedélyezze az RDP-forgalmat (a 3389-es portot) a jumpbox alhálózatról. Ez lehetővé teszi, hogy a rendszergazdák csatlakozni tudjanak az adatbázisszinthez a jumpboxból.

Hozza létre a 2–4. szabályt, amely magasabb prioritású, mint az első szabály, ezért felülbírálják azt.

SQL Server Always On rendelkezésre állási csoportok

Magas rendelkezésre állású SQL Server esetén az Always On rendelkezésre állási csoportok használatát javasoljuk. A Windows Server 2016-nál régebbi kiadásokban az Always On rendelkezésre állási csoportok tartományvezérlőt igényelnek, és a rendelkezésre állási csoport összes csomópontjának azonos AD-tartományban kell lennie.

A virtuálisgép-réteg magas rendelkezésre állása minden SQL virtuális gépnek rendelkezésre állási készletben kell lennie.

A többi szint egy rendelkezésre állási csoport figyelőjén keresztül csatlakozik az adatbázishoz. A figyelő lehetővé teszi, hogy az SQL-ügyfél anélkül csatlakozzon, hogy ismerné az SQL-kiszolgáló fizikai példányának nevét. Az adatbázishoz hozzáférő virtuális gépeket csatlakozni kell a tartományhoz. Az ügyfél (ebben az esetben egy másik szint) DNS használatával oldja fel a figyelő virtuális hálózati nevét IP-címekké.

A SQL Server Always On rendelkezésre állási csoportot az alábbiak szerint konfigurálja:

  1. Hozzon létre egy Windows Server feladatátvételi fürtszolgáltatási (WSFC-) fürtöt, egy SQL Server Always On rendelkezésre állási csoportot és egy elsődleges replikát. További információ: Ismerkedés az Always On rendelkezésre állási csoportokkal.

  2. Hozzon létre egy belső terheléselosztót statikus magánhálózati IP-címmel.

  3. Hozzon létre egy figyelőt a rendelkezésre állási csoporthoz, és rendelje hozzá a figyelő DNS-nevét a belső terheléselosztó IP-címéhez.

  4. Hozzon létre egy terheléselosztó szabályt az SQL Server figyelőportjához (alapértelmezés szerint az 1433-as TCP-port). A terheléselosztó szabálynak engedélyeznie kell a nem fix IP-címek használatát, más néven a közvetlen kiszolgálói választ. Ezáltal a virtuális gép közvetlenül válaszol az ügyfélnek, és közvetlen kapcsolatot hozható létre az elsődleges replikával.

Megjegyzés

Ha a nem fix IP engedélyezve van, az előtérbeli portszámnak egyeznie kell a terheléselosztó szabály háttérbeli portszámával.

Ha egy SQL-ügyfél csatlakozni próbál, a terheléselosztó továbbítja az elsődleges replikának a kapcsolódási kérelmet. Ha feladatátvétel történik egy másik replikára, a terheléselosztás automatikusan egy új elsődleges replikára replikálja az új kéréseket. További információ: ILB-figyelő konfigurálása SQL Server Always On rendelkezésre állási csoportokhoz.

A feladatátvétel során a meglévő ügyfélkapcsolatok lezárulnak. A feladatátvétel befejezése után a rendszer az új elsődleges replikára irányítja az új kapcsolatokat.

Ha az alkalmazás több olvasást tesz, mint az írást, néhány csak olvasható lekérdezést ki is lehet tölteni egy másodlagos replikára. Lásd: Csak olvasási másodlagos replikához való csatlakozás figyelővel (csak olvasási útválasztás).

Kényszerítse a rendelkezésre állási csoport manuális feladatátvételét az üzemelő példány teszteléséhez.

A SQL optimalizálása érdekében tekintse meg a kiszolgálón SQL ajánlott eljárásokat, hogy optimalizálja a teljesítményt a Azure Stack Hub.

Jumpbox

Ne engedélyezze az rdP-hozzáférést a nyilvános internetről az alkalmazás számítási feladatait futtató virtuális gépekhez. Ehelyett az ezekhez a virtuális gépekhez való RDP-hozzáférésnek át kell esni a jumpboxon. A rendszergazda először bejelentkezik a jumpboxba, majd azon keresztül bejelentkezik a többi virtuális gépbe. A jumpbox engedélyezi az internetről érkező RDP-forgalmat, de csak az ismert, biztonságos IP-címekről.

A jumpbox minimális teljesítménykövetelményekkel rendelkezik, ezért válasszon egy kis méretű virtuális gépet. Hozzon létre egy nyilvános IP-címet a jumpbox számára. Helyezze a jumpboxot a többi virtuális gépével azonos virtuális hálózatba, de egy külön felügyeleti alhálózatba.

A jumpbox biztonságba kapcsolás érdekében adjon hozzá egy NSG-szabályt, amely csak biztonságos nyilvános IP-címekről engedélyezi az RDP-kapcsolatokat. Állítsa be az NSG-t a többi alhálózathoz is úgy, hogy engedélyezzék a felügyeleti alhálózatból érkező RDP-forgalmat.

Méretezési szempontok

Méretezési csoportok

A webes és üzleti szintek esetében érdemes lehet virtuálisgép-méretezési készleteket használni különálló virtuális gépek üzembe helyezése helyett. A méretezési készlet megkönnyíti az azonos virtuális gépek készletének üzembe helyezését és kezelését. Érdemes megfontolni a méretezési készleteket, ha gyorsan fel kell skálázni a virtuális gépeket.

A méretezési csoportokban üzembe helyezett virtuális gépek konfigurálásának két alapvető módja van:

  • Bővítmények használatával konfigurálhatja a virtuális gépet az üzembe helyezés után. Ezzel a módszerrel az új virtuálisgép-példányok indítása több időt vehet igénybe, mint a bővítmények nélküli virtuális gépeké.

  • Üzembe helyezhet egy felügyelt lemezt egy egyéni rendszerképpel. Ez a módszer gyorsabban kivitelezhető. Ehhez azonban naprakészen kell tartania a rendszerképet.

További információ: Kialakítási szempontok méretezési készletekhez. Ez a kialakítási szempont többnyire igaz a Azure Stack Hub, de van néhány kikötés:

  • A virtuálisgép-méretezési Azure Stack Hub nem támogatják a túlméretezést vagy a működés közbeni frissítést.

  • A virtuálisgép-méretezési készletek nem skálázhatóak automatikusan a Azure Stack Hub.

  • Határozottan javasoljuk, hogy felügyelt lemezeket Azure Stack Hub virtuálisgép-méretezési készlethez a nem felügyelt lemezek helyett.

  • Jelenleg a virtuális gépekre 700-as korlát van Azure Stack Hub, amely az infrastruktúra Azure Stack Hub virtuális gépeket, az egyéni virtuális gépeket és a méretezésikészlet-példányokat jelenti.

Előfizetés korlátai

Minden Azure Stack Hub bérlői előfizetésre alapértelmezett korlátozások vonatkoznak, beleértve a virtuális gépek régiónkénti maximális számát, amelyet a Azure Stack Hub konfigurál. További információ: Azure Stack Hub szolgáltatások, csomagok, ajánlatok, előfizetések áttekintése. Lásd még a kvótatípusokat a Azure Stack Hub.

Biztonsági szempontok

A virtuális hálózatok forgalomelkülönítési határok az Azure-ban. Alapértelmezés szerint az egy virtuális hálózatban lévő virtuális gépek nem tudnak közvetlenül kommunikálni egy másik virtuális hálózatban lévő virtuális gépekkel.

NSG-k. Használjon hálózati biztonsági csoportokat (NSG-ket) az internetre és az internetről származó forgalom korlátozására. További információ: A Microsoft felhőszolgáltatásai és hálózati biztonság.

DMZ. Érdemes lehet hozzáadnia egy hálózati virtuális berendezést (network virtual appliance, NVA), hogy DMZ-t lehessen létrehozni az internet és az Azure-beli virtuális hálózat között. Az NVA egy általános kifejezés egy olyan virtuális berendezésre, amely hálózatokhoz kapcsolódó feladatokat lát el, például gondoskodik a tűzfalról, a csomagvizsgálatról, a naplózásról és az egyéni útválasztásról.

Titkosítás. Titkosítsa a bizalmas adatokat az Key Vault és Azure Stack Hub az adatbázis titkosítási kulcsait. További információkért lásd: Configure Azure Key Vault Integration for SQL Server on Azure VMs Az Azure Key Vault-integráció konfigurálása az SQL Serverhez Azure virtuális gépeken. Emellett ajánlott titkos alkalmazásokat, például adatbázis-kapcsolati sztringeket tárolni a Key Vault.

Következő lépések