Partager via


Déplacer un compte Azure Cosmos DB NoSQL dans une autre région

Cet article explique comment :

  • Déplacer une région où les données sont répliquées dans Azure Cosmos DB.
  • Migrer les métadonnées et les données d’un compte (Azure Resource Manager) d’une région vers une autre.

Prérequis

  • Vous devez créer une inscription d’application avec l’autorisation déléguée sur les instances de groupe de ressources source et cible et l’« autorisation d’API » pour « User.ReadBasic.All ».

  • L’API Cosmos DB sélectionnée doit rester la même entre la source et la cible. Ce document utilise l’API SQL DB.

  • Les noms de compte doivent être limités à 44 caractères, tout en minuscules.

  • Quand vous ajoutez ou supprimez des localisations dans un compte Azure Cosmos, vous ne pouvez pas simultanément modifier d’autres propriétés.

  • Identifiez toutes les ressources dépendantes Cosmos DB.

Temps d’arrêt

Considérations sur les points de terminaison de service

Les points de terminaison de service de réseau virtuel pour Azure Cosmos DB limitent l’accès à un réseau virtuel spécifié. Les points de terminaison limitent également l’accès à une liste de plages d’adresses IPv4 (Internet Protocol version 4). L’accès est refusé à tout utilisateur se connectant au Event Hubs en dehors de ces sources. Si les points de terminaison de service ont été configurés dans la région source de la ressource Event Hubs, la même chose doit être effectuée dans la région cible.

Pour recréer l’instance Azure Cosmos DB dans la région cible, vous devez créer le VNet et le sous-réseau au préalable. Si le déplacement de ces deux ressources est effectué avec l’outil Azure Resource Mover, les points de terminaison de service ne sont pas configurés automatiquement. Par conséquent, ils doivent être configurés manuellement, ce qui peut être effectué dans le portail Azure, Azure CLI ou Azure PowerShell.

Redéploiement sans données

Si l’instance Cosmos DB doit être déplacée seule sans la configuration et les données client, l’instance elle-même peut être créée avec Microsoft.DocumentDBaccounts databaseAccounts

Redéploiement avec données

Azure Cosmos DB prend en charge la réplication des données en mode natif, ce qui facilite le déplacement de données d’une région vers une autre. Vous pouvez procéder à l’aide du portail Azure, d’Azure PowerShell ou d’Azure CLI. Cela implique les étapes suivantes :

  1. Ajouter une nouvelle région au compte

    Pour ajouter une nouvelle région à un compte Azure Cosmos DB, consultez Ajouter/supprimer des régions dans un compte Azure Cosmos DB.

  2. Effectuer un basculement manuel vers la nouvelle région

    Lorsque la région à supprimer est la région d’écriture du compte, vous devez démarrer un basculement vers la nouvelle région ajoutée à l’étape précédente. Il s’agit d’une opération sans temps d’arrêt. Si vous déplacez une région de lecture dans un compte à plusieurs régions, vous pouvez ignorer cette étape.

    Pour démarrer un basculement, consultez Effectuer un basculement manuel sur un compte Azure Cosmos DB.

  3. Supprimer la région d’origine

    Pour supprimer une région d’un compte Azure Cosmos DB, consultez Ajouter/supprimer des régions dans un compte Azure Cosmos DB.

Notes

Si vous effectuez une opération de basculement ou si vous ajoutez/supprimez une nouvelle région alors qu’une opération de mise à l’échelle du débit asynchrone est en cours, l’opération de mise à l’échelle du débit sera suspendue. Elle reprendra automatiquement lorsque l’opération de basculement ou d’ajout/de suppression de la région sera terminée.

Redéployer les métadonnées d’un compte Azure Cosmos DB

Azure Cosmos DB ne prend pas en charge en mode natif la migration des métadonnées d’un compte d’une région vers une autre. Pour migrer les métadonnées du compte et les données client d’une région vers une autre, vous devez créer un nouveau compte dans la région souhaitée, puis copier les données manuellement.

Important

Il n’est pas nécessaire de migrer les métadonnées de compte si les données sont stockées ou déplacées vers une autre région. La région dans laquelle résident les métadonnées de compte n’a aucun impact sur les performances, la sécurité ou les autres aspects opérationnels de votre compte Azure Cosmos DB.

Une migration quasiment sans temps d’arrêt pour l’API pour NoSQL requiert l’utilisation du flux de modification ou d’un outil qui l’utilise.

Les étapes suivantes montrent comment migrer un compte Azure Cosmos DB pour l’API pour NoSQL et ses données d’une région vers une autre :

  1. Créer un nouveau compte Azure Cosmos DB dans la région souhaitée

    Pour créer un nouveau compte via le portail Azure, PowerShell ou Azure CLI, consultez Créer un compte Azure Cosmos DB.

  2. Créer une nouvelle base de données et un nouveau conteneur

    Pour créer une nouvelle base de données et un nouveau conteneur, consultez Créer un conteneur Azure Cosmos DB.

  3. Migrez des données à l’aide de l’exemple de migration dynamique du connecteur Spark Azure Cosmos DB.

    Pour migrer des données avec un temps d’arrêt quasi nul, consultez Migrer en direct les données des conteneurs d’API SQL Azure Cosmos DB avec le connecteur Spark.

  4. Mettre à jour la chaîne de connexion de l’application

    Lorsque l’échantillon Live Data Migrator est toujours en cours d’exécution, mettez à jour les informations de connexion dans le nouveau déploiement de votre application. Vous pouvez récupérer les points de terminaison et les clés de votre application à partir du portail Azure.

    Contrôle d’accès dans le portail Azure, illustrant la sécurité de la base de données NoSQL.

  5. Rediriger les demandes vers la nouvelle application

    Une fois que la nouvelle application est connectée à Azure Cosmos DB, vous pouvez rediriger les demandes des clients vers votre nouveau déploiement.

  6. Supprimer les ressources dont vous n’avez plus besoin

    Les demandes étant désormais entièrement redirigées vers la nouvelle instance, vous pouvez supprimer l’ancien compte Azure Cosmos DB et arrêter l’échantillon Live Data Migrator.

Étapes suivantes

Pour plus d’informations et d’exemples sur la gestion du compte Azure Cosmos DB ainsi que des bases de données et des conteneurs, consultez les articles suivants :