Een Azure Cosmos DB NoSQL-account verplaatsen naar een andere regio
Er zijn verschillende redenen waarom u uw bestaande Azure-resources mogelijk van de ene regio naar de andere wilt verplaatsen. U kunt het volgende doen:
- Profiteer van een nieuwe Azure-regio.
- Implementeer functies of services die alleen beschikbaar zijn in specifieke regio's.
- Voldoen aan interne beleids- en governancevereisten.
- In overeenstemming met bedrijfsfusies en overnames
- Voldoen aan vereisten voor capaciteitsplanning.
In dit artikel wordt beschreven hoe u:
- Verplaats een regio waar gegevens worden gerepliceerd in Azure Cosmos DB.
- Metagegevens en gegevens van accounts (Azure Resource Manager) migreren van de ene regio naar de andere.
Vereisten
Er moet een app-registratie worden gemaakt met gedelegeerde machtigingen voor het bron- en doelresourcegroepexemplaren en de API-machtiging voor User.ReadBasic.All.
De geselecteerde Cosmos DB-API moet hetzelfde blijven van bron naar doel. In dit document wordt gebruikgemaakt van de SQL DB-API.
Accountnamen moeten worden beperkt tot 44 tekens, allemaal kleine letters.
Wanneer u locaties aan een Azure Cosmos-account toevoegt of verwijdert, kunt u andere eigenschappen niet tegelijk wijzigen.
Identificeer alle afhankelijke Cosmos DB-resources.
Uitvaltijd
Overwegingen voor service-eindpunten
De service-eindpunten van het virtuele netwerk voor Azure Cosmos DB beperken de toegang tot een opgegeven virtueel netwerk. De eindpunten kunnen ook de toegang tot een lijst met IPv4-adresbereiken (internetprotocol versie 4) beperken. Elke gebruiker die verbinding maakt met de Event Hubs van buiten deze bronnen, wordt de toegang geweigerd. Als service-eindpunten zijn geconfigureerd in de bronregio voor de Event Hubs-resource, moet hetzelfde worden gedaan in de doelregio.
Voor een geslaagde recreatie van Azure Cosmos DB naar de doelregio moeten het VNet en subnet vooraf worden gemaakt. Als de verplaatsing van deze twee resources wordt uitgevoerd met het Azure Resource Mover-hulpprogramma, worden de service-eindpunten niet automatisch geconfigureerd. Daarom moeten ze handmatig worden geconfigureerd, wat kan worden gedaan via Azure Portal, de Azure CLI of Azure PowerShell.
Opnieuw implementeren zonder gegevens
Voor gevallen waarin de Cosmos DB-instantie alleen moet worden verplaatst zonder de configuratie- en klantgegevens, kan het exemplaar zelf worden gemaakt met behulp van Microsoft.DocumentDB-databaseAccounts
Opnieuw implementeren met gegevens
Azure Cosmos DB ondersteunt systeemeigen gegevensreplicatie, dus het verplaatsen van gegevens van de ene regio naar de andere is eenvoudig. U kunt dit doen met behulp van Azure Portal, Azure PowerShell of de Azure CLI. Dit omvat de volgende stappen:
Voeg een nieuwe regio toe aan het account.
Als u een nieuwe regio wilt toevoegen aan een Azure Cosmos DB-account, raadpleegt u Regio's toevoegen/verwijderen aan een Azure Cosmos DB-account.
Voer een handmatige failover uit naar de nieuwe regio.
Wanneer de regio die wordt verwijderd momenteel de schrijfregio voor het account is, moet u een failover starten naar de nieuwe regio die in de vorige stap is toegevoegd. Dit is een bewerking zonder downtime. Als u een leesregio in een account met meerdere regio's verplaatst, kunt u deze stap overslaan.
Zie Handmatige failover uitvoeren voor een Azure Cosmos DB-account om een failover te starten.
Verwijder de oorspronkelijke regio.
Als u een regio uit een Azure Cosmos DB-account wilt verwijderen, raadpleegt u Regio's toevoegen/verwijderen uit uw Azure Cosmos DB-account.
Notitie
Als u een failoverbewerking uitvoert of een nieuwe regio toevoegt of verwijdert terwijl er een asynchrone doorvoerschaalbewerking wordt uitgevoerd, wordt de bewerking voor het omhoog schalen van doorvoer onderbroken. Deze wordt automatisch hervat wanneer de failover of het toevoegen/verwijderen van de regiobewerking is voltooid.
Metagegevens van Azure Cosmos DB-account opnieuw implementeren
Azure Cosmos DB biedt geen systeemeigen ondersteuning voor het migreren van accountmetagegevens van de ene regio naar de andere. Als u zowel de metagegevens van het account als de klantgegevens van de ene regio naar de andere wilt migreren, moet u een nieuw account maken in de gewenste regio en vervolgens de gegevens handmatig kopiƫren.
Belangrijk
Het is niet nodig om de metagegevens van het account te migreren als de gegevens worden opgeslagen of verplaatst naar een andere regio. De regio waarin de metagegevens van het account zich bevinden, heeft geen invloed op de prestaties, beveiliging of andere operationele aspecten van uw Azure Cosmos DB-account.
Voor een migratie van bijna nul downtime voor de API voor NoSQL is het gebruik van de wijzigingenfeed of een hulpprogramma vereist dat deze gebruikt.
De volgende stappen laten zien hoe u een Azure Cosmos DB-account voor de API voor NoSQL en de bijbehorende gegevens van de ene regio naar de andere migreert:
Maak een nieuw Azure Cosmos DB-account in de gewenste regio.
Zie Een Azure Cosmos DB-account maken als u een nieuw account wilt maken via Azure Portal, PowerShell of de Azure CLI.
Maak een nieuwe database en container.
Zie Een Azure Cosmos DB-container maken om een nieuwe database en container te maken.
Gegevens migreren met behulp van het livemigratievoorbeeld van Azure Cosmos DB Spark Connector.
Zie Live Migrate Azure Cosmos DB SQL API Containers-gegevens met Spark Connector als u gegevens met bijna nul downtime wilt migreren.
Werk de toepassing verbindingsreeks bij.
Als het livegegevensmigratievoorbeeld nog steeds wordt uitgevoerd, werkt u de verbindingsgegevens bij in de nieuwe implementatie van uw toepassing. U kunt de eindpunten en sleutels voor uw toepassing ophalen vanuit Azure Portal.
Aanvragen omleiden naar de nieuwe toepassing.
Nadat de nieuwe toepassing is verbonden met Azure Cosmos DB, kunt u clientaanvragen omleiden naar uw nieuwe implementatie.
Verwijder alle resources die u niet meer nodig hebt.
Nu aanvragen volledig zijn omgeleid naar het nieuwe exemplaar, kunt u het oude Azure Cosmos DB-account verwijderen en het Live Data Migrator-voorbeeld stoppen.
Volgende stappen
Lees de volgende artikelen voor meer informatie en voorbeelden over het beheren van het Azure Cosmos DB-account en databases en containers: