Dela via


Flytta ett Azure Cosmos DB NoSQL-konto till en annan region

Det finns olika orsaker till varför du kanske vill flytta dina befintliga Azure-resurser från en region till en annan. Du kanske vill:

  • Dra nytta av en ny Azure-region.
  • Distribuera endast funktioner eller tjänster som är tillgängliga i specifika regioner.
  • Uppfylla interna policy- och styrningskrav.
  • Justera med företagsfusioner och förvärv
  • Uppfylla kapacitetsplaneringskraven.

Den här artikeln beskriver hur du antingen:

  • Flytta en region där data replikeras i Azure Cosmos DB.
  • Migrera kontometadata (Azure Resource Manager) och data från en region till en annan.

Förutsättningar

  • En appregistrering måste skapas med delegerad behörighet till käll- och målresursgruppsinstansen och "API-behörighet" för "User.ReadBasic.All".

  • Det valda Cosmos DB-API:et måste vara detsamma från källa till mål. Det här dokumentet använder SQL DB API.

  • Kontonamn måste vara begränsade till 44 tecken, alla gemener.

  • När du lägger till eller tar bort platser till ett Azure Cosmos-konto kan du inte ändra andra egenskaper samtidigt.

  • Identifiera alla Cosmos DB-beroende resurser.

Driftstopp

Överväganden för tjänstslutpunkter

Tjänstslutpunkterna för virtuella nätverk för Azure Cosmos DB begränsar åtkomsten till ett angivet virtuellt nätverk. Slutpunkterna kan också begränsa åtkomsten till en lista över adressintervall för IPv4 (Internet Protocol version 4). Alla användare som ansluter till händelsehubbar utanför dessa källor nekas åtkomst. Om tjänstslutpunkter konfigurerades i källregionen för Event Hubs-resursen skulle samma sak behöva göras i målområdet.

För att azure Cosmos DB ska kunna återskapas till målregionen måste det virtuella nätverket och undernätet skapas i förväg. Om flytten av dessa två resurser utförs med Azure Resource Mover-verktyget konfigureras inte tjänstslutpunkterna automatiskt. Därför måste de konfigureras manuellt, vilket kan göras via Azure-portalen, Azure CLI eller Azure PowerShell.

Distribuera om utan data

Om Cosmos DB-instansen behöver flyttas ensam utan konfigurations- och kunddata kan själva instansen skapas med hjälp av Microsoft.DocumentDB databaseAccounts

Distribuera om med data

Azure Cosmos DB stöder datareplikering internt, så det är enkelt att flytta data från en region till en annan. Du kan göra det med hjälp av Azure-portalen, Azure PowerShell eller Azure CLI. Det omfattar följande steg:

  1. Lägg till en ny region i kontot.

    Information om hur du lägger till en ny region i ett Azure Cosmos DB-konto finns i Lägga till/ta bort regioner till ett Azure Cosmos DB-konto.

  2. Utför en manuell redundansväxling till den nya regionen.

    När den region som tas bort för närvarande är skrivregionen för kontot måste du starta en redundansväxling till den nya regionen som lades till i föregående steg. Det här är en åtgärd med noll stilleståndstid. Om du flyttar en läsregion i ett konto med flera regioner kan du hoppa över det här steget.

    Information om hur du startar en redundansväxling finns i Utföra manuell redundans på ett Azure Cosmos DB-konto.

  3. Ta bort den ursprungliga regionen.

    Information om hur du tar bort en region från ett Azure Cosmos DB-konto finns i Lägga till/ta bort regioner från ditt Azure Cosmos DB-konto.

Kommentar

Om du utför en redundansåtgärd eller lägger till/tar bort en ny region medan en asynkron skalningsåtgärd för dataflöde pågår, pausas skalningsåtgärden för dataflöde. Den återupptas automatiskt när redundansväxlingen eller åtgärden för att lägga till/ta bort region har slutförts.

Distribuera om Azure Cosmos DB-kontometadata

Azure Cosmos DB stöder inte inbyggt migrering av kontometadata från en region till en annan. Om du vill migrera både kontometadata och kunddata från en region till en annan måste du skapa ett nytt konto i önskad region och sedan kopiera data manuellt.

Viktigt!

Det är inte nödvändigt att migrera kontometadata om data lagras eller flyttas till en annan region. Den region där kontometadata finns har ingen inverkan på prestanda, säkerhet eller andra operativa aspekter av ditt Azure Cosmos DB-konto.

En migrering av nästan noll stilleståndstid för API:et för NoSQL kräver användning av ändringsflödet eller ett verktyg som använder det.

Följande steg visar hur du migrerar ett Azure Cosmos DB-konto för API:et för NoSQL och dess data från en region till en annan:

  1. Skapa ett nytt Azure Cosmos DB-konto i önskad region.

    Information om hur du skapar ett nytt konto via Azure-portalen, PowerShell eller Azure CLI finns i Skapa ett Azure Cosmos DB-konto.

  2. Skapa en ny databas och container.

    Information om hur du skapar en ny databas och container finns i Skapa en Azure Cosmos DB-container.

  3. Migrera data med hjälp av azure Cosmos DB Spark Connector-exemplet för direktmigrering.

    Information om hur du migrerar data med nästan noll driftstopp finns i Live Migrate Azure Cosmos DB SQL API Containers-data med Spark Connector.

  4. Uppdatera programmets niska veze.

    När exemplet för direkt datamigrering fortfarande körs uppdaterar du anslutningsinformationen i den nya distributionen av ditt program. Du kan hämta slutpunkter och nycklar för ditt program från Azure-portalen.

    Åtkomstkontroll i Azure-portalen, vilket visar NoSQL-databassäkerhet.

  5. Omdirigera begäranden till det nya programmet.

    När det nya programmet har anslutits till Azure Cosmos DB kan du omdirigera klientbegäranden till den nya distributionen.

  6. Ta bort alla resurser som du inte längre behöver.

    När begäranden nu omdirigeras helt till den nya instansen kan du ta bort det gamla Azure Cosmos DB-kontot och stoppa Exemplet livedatamigrator.

Nästa steg

Mer information och exempel på hur du hanterar Azure Cosmos DB-kontot samt databaser och containrar finns i följande artiklar: