Vad är en Azure SQL Managed Instance-pool (förhandsversion)?

GÄLLER FÖR: Azure SQL Managed Instance

Med instanspooler i Azure SQL Managed Instance får du ett praktiskt och kostnadseffektivt sätt att migrera mindre SQL Server-instanser till molnet i stor skala.

Med instanspooler kan du företablera beräkningsresurser enligt dina totala migreringskrav. Du kan sedan distribuera flera enskilda hanterade instanser upp till din företablerade beräkningsnivå. Om du till exempel före etablerar 8 virtuella kärnor kan du distribuera två två virtuella kärnor och en instans med 4 virtuella kärnor och sedan migrera databaser till dessa instanser. Innan instanspooler var tillgängliga skulle mindre och mindre beräkningsintensiva arbetsbelastningar ofta behöva konsolideras till en större hanterad instans vid migrering till molnet. Behovet av att migrera grupper av databaser till en stor instans krävde vanligtvis noggrann kapacitetsplanering och resursstyrning, ytterligare säkerhetsöverväganden och visst extra datakonsolideringsarbete på instansnivå.

Dessutom stöder instanspooler intern VNet-integrering så att du kan distribuera flera instanspooler och flera enskilda instanser i samma undernät.

De viktigaste funktionerna

Instanspooler ger följande fördelar:

  1. Möjlighet att vara värd för instanser med 2 virtuella kärnor. * Endast för instanser i instanspoolerna.
  2. Förutsägbar och snabb distributionstid för instanser (upp till 5 minuter).
  3. Minimal allokering av IP-adresser.

Följande diagram illustrerar en instanspool med flera hanterade instanser som distribuerats i ett undernät för ett virtuellt nätverk.

instanspool med flera instanser

Instanspooler möjliggör distribution av flera instanser på samma virtuella dator, där den virtuella datorns beräkningsstorlek baseras på det totala antalet tilldelade virtuella kärnor för poolen. Den här arkitekturen tillåter partitionering av den virtuella datorn i flera instanser, vilket kan ha valfri storlek som stöds, inklusive 2 virtuella kärnor (instanser med 2 virtuella kärnor är bara tillgängliga för instanser i pooler).

Efter den första distributionen går det mycket snabbare att hantera åtgärder på instanser i en pool. Det beror på att distributionen eller tillägget av ett virtuellt kluster (dedikerad uppsättning virtuella datorer) inte ingår i etableringen av den hanterade instansen.

Eftersom alla instanser i en pool delar samma virtuella dator beror den totala IP-allokeringen inte på antalet distribuerade instanser, vilket är praktiskt för distribution i undernät med ett smalt IP-intervall.

Varje pool har en fast IP-allokering av endast nio IP-adresser (utan de fem IP-adresserna i undernätet som är reserverade för sina egna behov). Mer information finns i storlekskraven för undernät för enskilda instanser.

Programscenarier

I följande lista visas de viktigaste användningsfallen där instanspooler bör övervägas:

  • Migrering av en grupp SQL Server instanser samtidigt, där majoriteten är en mindre storlek (till exempel 2 eller 4 virtuella kärnor).
  • Scenarier där förutsägbar och kort instansskapande eller skalning är viktigt. Till exempel distribution av en ny klient i en SaaS-programmiljö för flera innehavare som kräver funktioner på instansnivå.
  • Det är viktigt att ha en fast kostnad eller utgiftsgräns. Du kan till exempel köra delade dev-test- eller demomiljöer med en fast (eller sällan föränderlig) storlek, där du regelbundet distribuerar hanterade instanser när det behövs.
  • Scenarier där minimal IP-adressallokering i ett VNet-undernät är viktigt. Alla instanser i en pool delar en virtuell dator, så antalet allokerade IP-adresser är lägre än för enskilda instanser.

Arkitektur

Instanspooler har en arkitektur som liknar vanliga (enskilda) hanterade instanser. För att stödja distributioner i virtuella Azure-nätverk och för att tillhandahålla isolering och säkerhet för kunder förlitar sig instanspooler också på virtuella kluster. Virtuella kluster representerar en dedikerad uppsättning isolerade virtuella datorer som distribueras i kundens virtuella nätverksundernät.

Den största skillnaden mellan de två distributionsmodellerna är att instanspooler tillåter flera SQL Server-processdistributioner på samma nod för virtuella datorer, som är resursstyrda med hjälp av Windows-jobbobjekt, medan enskilda instanser alltid är fristående på en virtuell datornod.

Följande diagram visar en instanspool och två enskilda instanser som distribuerats i samma undernät och visar huvudinformation om arkitekturen för båda distributionsmodellerna:

Instanspool och två enskilda instanser

Varje instanspool skapar ett separat virtuellt kluster under. Instanser i en pool och enskilda instanser som distribueras i samma undernät delar inte beräkningsresurser som allokerats till SQL Server-processer och gatewaykomponenter, vilket säkerställer förutsägbara prestanda.

Resursbegränsningar

Det finns flera resursbegränsningar för instanspooler och instanser inuti pooler:

  • Instanspooler är endast tillgängliga på Gen5-maskinvara.
  • Hanterade instanser i en pool har dedikerad cpu och RAM, så det aggregerade antalet virtuella kärnor för alla instanser måste vara mindre än eller lika med antalet virtuella kärnor som allokerats till poolen.
  • Alla begränsningar på instansnivå gäller för instanser som skapats i en pool.
  • Förutom begränsningar på instansnivå finns det också två begränsningar på instanspoolnivå:
    • Total lagringsstorlek per pool (8 TB).
    • Totalt antal databaser per pool. Den här gränsen beror på antalet virtuella kärnor i poolen:
      • 8 virtuella kärnor ger stöd för upp till 200 databaser,
      • 16 virtuella kärnor ger stöd för upp till 400 databaser,
      • pooler med 24 eller fler virtuella kärnor har stöd för upp till 500 databaser.
  • Azure AD-autentisering kan användas när du har skapat eller ställer in en hanterad instans med -AssignIdentity flaggan . Mer information finns i New-AzSqlInstance och Set-AzSqlInstance. Användarna kan sedan ange en Azure AD-administratör för instansen genom att följa Etablera Azure AD-administratör (SQL Managed Instance).

Den totala lagringsallokeringen och antalet databaser över alla instanser måste vara lägre än eller lika med de gränser som exponeras av instanspooler.

  • Instanspooler stöder 8, 16, 24, 32, 40, 64 och 80 virtuella kärnor.
  • Hanterade instanser i pooler stöder 2, 4, 8, 16, 24, 32, 40, 64 och 80 virtuella kärnor.
  • Hanterade instanser i pooler stöder lagringsstorlekar mellan 32 GB och 8 TB, förutom:
    • Instanser med 2 virtuella kärnor stöder storlekar mellan 32 GB och 640 GB,
    • Instanser med 4 virtuella kärnor stöder storlekar mellan 32 GB och 2 TB.
  • Hanterade instanser i pooler har en gräns på upp till 100 användardatabaser per instans, förutom 2 instanser med virtuella kärnor som stöder upp till 50 användardatabaser per instans.

Egenskapen för tjänstnivån är associerad med instanspoolresursen, så alla instanser i en pool måste ha samma tjänstnivå som poolens tjänstnivå. För närvarande är endast Generell användning tjänstnivån tillgänglig (se följande avsnitt om begränsningar i den aktuella förhandsversionen).

Offentliga begränsningar i förhandsversionen

Den offentliga förhandsversionen har följande begränsningar:

  • För närvarande är Generell användning tjänstnivån tillgänglig.
  • Instanspooler kan inte skalas under den offentliga förhandsversionen, så det är viktigt med noggrann kapacitetsplanering innan distributionen.
  • Stödet för att skapa och konfigurera instanspooler i Azure-portalen är inte tillgängligt ännu. Du kan bara utföra åtgärder på instanspooler via PowerShell. Det är även bara via PowerShell som du initialt kan distribuera instanser i en pool du har skapat. När hanterade instanser är distribuerade i en pool kan du uppdatera dem via Azure-portalen.
  • Hanterade instanser som skapats utanför poolen kan inte flyttas till en befintlig pool, och instanser som skapats i en pool kan inte flyttas utanför som en enskild instans eller till en annan pool.
  • Priserna för reserverad kapacitetsinstans är inte tillgängliga.
  • Redundansgrupper stöds inte för instanser i poolen.

SQL funktioner som stöds

Hanterade instanser som skapats i pooler stöder samma kompatibilitetsnivåer och funktioner som stöds i enskilda hanterade instanser.

Varje hanterad instans som distribueras i en pool har en separat instans SQL Agent.

Valfria funktioner eller funktioner som kräver att du väljer specifika värden (till exempel sortering på instansnivå, tidszon, offentlig slutpunkt för datatrafik, redundansgrupper) konfigureras på instansnivå och kan vara olika för varje instans i en pool.

Saker att tänka på gällande prestanda

Även om hanterade instanser i pooler har dedikerad vCore och RAM delar de lokala diskar (för tempdb-användning) och nätverksresurser. Det är inte troligt, men det är möjligt att uppleva den störande angränsande effekten om flera instanser i poolen har hög resursförbrukning samtidigt. Om du ser det här beteendet bör du överväga att distribuera dessa instanser till en större pool eller som enskilda instanser.

Säkerhetsöverväganden

Eftersom instanser som distribueras i en pool delar samma virtuella dator kanske du vill överväga att inaktivera funktioner som medför högre säkerhetsrisker eller att kontrollera åtkomstbehörigheterna till dessa funktioner. Till exempel CLR-integrering, intern säkerhetskopiering och återställning, databas-e-post osv.

Supportbegäranden för instanspooler

Skapa och hantera supportbegäranden för instanspooler i Azure Portal.

Om du har problem med distribution av instanspooler (skapande eller borttagning) kontrollerar du att du anger Instanspooler i fältet Problemundertyp.

Supportbegäran för instanspooler

Om du har problem med en enskild hanterad instans eller databas i en pool bör du skapa en vanlig supportbiljett för Azure SQL Managed Instance.

Om du vill SQL hanterade instansdistributioner (med eller utan instanspooler) kan du behöva få en större regional kvot. Mer information finns i Begär kvotökningar för Azure SQL Database. Distributionslogiken för instanspooler jämför den totala förbrukningen av virtuella kärnor på poolnivå med din kvot för att avgöra om du tillåts skapa nya resurser utan att öka kvoten ytterligare.

Fakturering för instanspool

Med instanspooler kan du skala beräkning och lagring oberoende av varandra. Kunder betalar för beräkning som är associerade med poolresursen som mäts i virtuella kärnor och lagring som är associerad med varje instans som mäts i gigabyte (de första 32 GB är kostnadsfria för varje instans).

Priset för virtuella kärnor för en pool debiteras oavsett hur många instanser som distribueras i poolen.

För beräkningspriset (mätt i virtuella kärnor) finns två prisalternativ tillgängliga:

  1. Licens som ingår: Priset SQL Server licenser ingår. Detta är för kunder som väljer att inte tillämpa befintliga SQL Server licenser med Software Assurance.
  2. Azure Hybrid-förmån: Ett reducerat pris som inkluderar Azure Hybrid-förmån för SQL Server. Kunder kan välja det här priset genom att använda sina SQL Server licenser med Software Assurance. För berättigande och annan information, se Azure Hybrid-förmån.

Det går inte att ange olika prisalternativ för enskilda instanser i en pool. Alla instanser i den överordnade poolen måste antingen ha licens inkluderad eller Azure Hybrid-förmån pris. Licensmodellen för poolen kan ändras när poolen har skapats.

Viktigt

Om du anger en licensmodell för instansen som skiljer sig från poolen används poolpriset och värdet för instansnivå ignoreras.

Om du skapar instanspooler på prenumerationer som är berättigade till dev-test-förmånfår du automatiskt rabatterade priser på upp till 55 procent på Azure SQL Managed Instance.

Fullständig information om priser för instanspooler finns i avsnittet om instanspooler på SQL för Managed Instance.

Nästa steg