Partager via


Créer et utiliser un réplica de cluster inter-régions dans Azure Cosmos DB for MongoDB vCore

Dans ce guide, vous créez un réplica de cluster dans une autre région pour un cluster Azure Cosmos DB for MongoDB vCore à des fins de récupération d’urgence (DR). Ce cluster de réplica stocke une copie de toutes vos ressources MongoDB (bases de données, collections et documents) dans une autre région Azure. Le cluster de réplica fournit un point de terminaison unique pour différents outils et Kits de développement logiciel (SDK) pour se connecter et peut être promu pour devenir disponible pour les écritures en cas de panne de région primaire.

Prérequis

Créer un cluster et son réplica dans une autre région

Créez un cluster MongoDB avec un réplica en lecture de cluster dans une autre région à l’aide du vCore Azure Cosmos DB for MongoDB.

Conseil

Pour ce guide, nous vous recommandons d’utiliser le nom du groupe de ressources msdocs-cosmos-quickstart-rg.

  1. Connectez-vous au portail Azure.

  2. Dans le menu du portail Azure ou dans la page d’accueil, sélectionnez Créer une ressource.

  3. Dans la page Nouveau, recherchez et sélectionnez Azure Cosmos DB.

  4. Dans la page Quelle API convient le mieux à votre charge de travail ?, sélectionnez l’option Créer dans la section Azure Cosmos DB for MongoDB.

    Capture d’écran de la page de sélection des options API pour Azure Cosmos DB.

  5. Dans la page Quel type de ressource ?, sélectionnez l’option Créer dans la section cluster vCore. Pour plus d’informations, consultez Vue d’ensemble de l’architecture vCore dans Azure Cosmos DB for MongoDB.

    Capture d’écran de la page d’option de sélection du type de ressource pour Azure Cosmos DB for MongoDB.

  6. Dans la page Créer un cluster Azure Cosmos DB for MongoDB, sélectionnez l’option Configurer dans la section Niveau cluster.

    Capture d’écran de l’option de configuration d’un cluster pour un nouveau cluster Azure Cosmos DB for MongoDB.

  7. Dans la page Mettre à l’échelle, laissez les options définies sur leurs valeurs par défaut :

    Paramètre Valeur
    Nombre de partitions 1 étendue
    Niveau de cluster Niveau M30, 2 vCores, 8 Gio de RAM
    Stockage 128 Go
  8. Désélectionnez l’option Haute disponibilité. Dans la section accusé de réception de haute disponibilité (HA), sélectionnez Je comprends. Enfin, sélectionnez Enregistrer pour conserver vos modifications dans la configuration du cluster.

    La haute disponibilité dans la région fournit une solution au sein de la région où une copie de données de chaque étendue d’un cluster est diffusée en continu vers son équivalent en attente situé dans la même région, mais dans une autre zone de disponibilité (AZ). La haute disponibilité utilise la réplication synchrone avec zéro perte de données et la détection automatique des défaillances et le basculement tout en préservant de manière intacte la chaîne de connexion après le basculement. La haute disponibilité peut être activée sur le cluster principal pour une couche supplémentaire de protection contre les défaillances.

    Capture d’écran des options de niveau de cluster et de mise à l’échelle d’un cluster.

  9. De retour sur la page du cluster, entrez les informations suivantes :

    Paramètre valeur Description
    Abonnement Nom d’abonnement Sélectionnez l’abonnement Azure à utiliser pour ce cluster Azure Cosmos DB for MongoDB et son cluster de réplica.
    Resource group Nom de groupe ressources Sélectionnez un groupe de ressources ou sélectionnez Créer, puis entrez un nom unique pour le nouveau groupe de ressources.
    Nom du cluster Un nom globalement unique Entrez un nom pour identifier votre cluster Azure Cosmos DB for MongoDB. Le nom est utilisé dans le cadre d’un nom de domaine complet (FQDN) ayant le suffixe mongodbcluster.cosmos.azure.com, afin que le nom soit globalement unique. Le nom peut uniquement contenir des lettres minuscules, des chiffres et le caractère de trait d’union (-). Le nom doit comporter entre 3 et 40 caractères.
    Emplacement La région la plus proche de vos utilisateurs Sélectionnez un emplacement géographique pour héberger votre cluster Azure Cosmos DB for MongoDB avec des fonctionnalités de lecture et d’écriture, le cluster principal. Utilisez l’emplacement le plus proche de vos utilisateurs pour leur donner l’accès le plus rapide possible aux données.
    Version MongoDB Version de MongoDB à exécuter sur votre cluster Cette valeur est définie sur une valeur par défaut de la version MongoDB la plus récente disponible.
    Nom d’utilisateur administrateur Fournir un nom d’utilisateur pour accéder au cluster Cet utilisateur est créé sur le cluster en tant qu’administrateur d’utilisateurs.
    Mot de passe Utiliser un mot de passe unique à associer au nom d’utilisateur Le mot de passe doit avoir entre 8 et 128 caractères.

    Capture d’écran des différentes options de configuration d’un cluster.

  10. Sélectionnez Suivant : Distribution mondiale.

  11. Sous l’onglet Distribution globale , sélectionnez Activer pour Réplica en lecture dans une autre région pour créer un réplica en lecture de cluster dans le cadre de ce nouveau approvisionnement de cluster principal.

  12. Dans le champ Nom du réplica en lecture, entrez un nom pour le réplica en lecture du cluster. Il doit s’agir d’un nom de cluster globalement unique.

  13. Sélectionnez une valeur dans la liste déroulante Région de réplica en lecture.

    Capture d’écran de l’onglet de la distribution globale dans l’approvisionnement du cluster.

  14. Sélectionnez Suivant : Réseau.

  15. Dans l’onglet Mise en réseau, sélectionnez Ajouter l’adresse IP actuelle du client pour créer une règle de pare-feu avec l’adresse IP publique de votre ordinateur, telle que détectée par le système Azure.

    Capture d’écran des paramètres de mise en réseau d’un cluster.

Vérifiez votre adresse IP avant d’enregistrer cette configuration. Dans certains cas, l’adresse IP identifiée par le Portail Azure diffère de l’adresse IP utilisée lors de l’accès à Internet et aux services Azure. Ainsi, vous devrez peut-être modifier l’adresse IP de début et l’adresse IP de fin pour que la règle fonctionne comme prévu. Utilisez un moteur de recherche ou tout autre outil en ligne pour vérifier votre adresse IP Par exemple, lancez une recherche sur quelle est mon adresse IP.

Capture d’écran d’un résultat de recherche web pour l’adresse IP publique de l’hôte actuel.

Vous pouvez également sélectionner Ajouter la règle de pare-feu 0.0.0.0 – 255.255.255.255 pour autoriser non seulement votre adresse IP, mais l’ensemble du réseau Internet pour accéder au cluster. Dans ce cas, les clients doivent toujours se connecter avec le nom d’utilisateur et le mot de passe corrects pour utiliser le cluster. Néanmoins, il est préférable d’autoriser l’accès mondial uniquement sur de courtes périodes et pour des bases de données hors production.

  1. Sélectionnez Revoir + créer.

  2. Passez en revue les paramètres que vous avez fournis, puis sélectionnez Créer. La création du cluster ne prend que quelques minutes. Attendez que la page du portail affiche Votre déploiement est terminé.

  3. Sélectionnez Accéder à la ressource pour accéder à la page du cluster Azure Cosmos DB for MongoDB.

    Capture d’écran de la page de déploiement d’un cluster.

Se connecter au cluster principal et ingérer des données

Obtenez la chaîne de connexion dont vous avez besoin pour vous connecter au cluster principal (en lecture-écriture) dans le Portail Azure.

  1. Dans la page du cluster principal vCore Azure Cosmos DB for MongoDB, sélectionnez l’option du menu de navigation Chaînes de connexion sous Paramètres.

    Capture d’écran de la page des chaînes de connexion dans les propriétés du cluster.

  2. Copiez la valeur du champ Self (toujours ce cluster).

  3. Dans la ligne de commande, utilisez l’interpréteur de commandes MongoDB pour vous connecter au cluster principal à l’aide de la chaîne de connexion.

mongosh "mongodb+srv://<user>@<primary_cluster_name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"

Ingérer des données

Créez un fichier de script my_script.js pour l’exécuter à partir de l’interpréteur de commandes MongoDB.

let dogDocs = [
  {
    name: "pooch",
    breed: "poodle",
    weight: "6 lbs"
  },
  {
    name: "mutt",
    breed: "bulldog",
    weight: "10 lbs"
  }
];

let catDocs = [
  {
    name: "minni", 
    breed: "persian",
    color: "white"
  },
  {
    name: "tinkle",
    breed: "bombay",
    color: "black"
  }
];

let dogIndex = { name : 1 };
let catIndex = { name : 1 };

let collInfoObjs = [ 
  { coll: "dogs", data: dogDocs, index: dogIndex }, 
  { coll: "cats", data: catDocs, index: catIndex } 
];

for (obj of collInfoObjs) {
    db[obj.coll].insertMany(obj.data);
    db[obj.coll].createIndex(obj.index);
}

Ce fichier de script crée deux collections et insère des documents avec des données dans ces collections. Enregistrez le fichier my_script.js dans un dossier accessible à la session d’interpréteur de commandes MongoDB.

Exécutez le script à partir de l’interpréteur de commandes MongoDB connecté au cluster MongoDB principal.

load(my_script.js);

Dans l’interpréteur de commandes MongoDB connecté au cluster MongoDB principal, lisez les données de la base de données.

db.dogs.find();
db.cats.find();

Activer l’accès au cluster de réplica

Important

Les clusters de réplica sont toujours créés avec l’accès réseau désactivé. Vous devriez ajouter des règles de pare-feu ou créer des points de terminaison privés sur le cluster de réplica après sa création pour activer les opérations de lecture.

  1. Dans la page du cluster principal vCore Azure Cosmos DB for MongoDB, sélectionnez la page Distribution globale sous Paramètres.

    Capture d’écran de la page de la distribution globale dans les propriétés du cluster principal.

  2. Sélectionnez nom de réplica de cluster dans le champ Réplica en lecture pour ouvrir les propriétés du réplica de cluster en lecture dans le Portail Azure.

  3. Dans la page du cluster de réplica vCore MongoDB, sous Paramètres, sélectionnez Mise en réseau.

  4. Dans la page Mise en réseau, sélectionnez Ajouter l’adresse IP actuelle du client pour créer une règle de pare-feu avec l’adresse IP publique de votre ordinateur, telle que détectée par le système Azure.

    Capture d’écran de la page de mise en réseau sur le cluster de réplica en lecture.

    Vérifiez votre adresse IP avant d’enregistrer cette configuration. Dans certains cas, l’adresse IP identifiée par le Portail Azure diffère de l’adresse IP utilisée lors de l’accès à Internet et aux services Azure. Vous pouvez également sélectionner Ajouter la règle de pare-feu 0.0.0.0 – 255.255.255.255 pour autoriser non seulement votre adresse IP, mais l’ensemble du réseau Internet pour accéder au cluster. Dans ce cas, les clients doivent toujours se connecter avec le nom d’utilisateur et le mot de passe corrects pour utiliser le cluster.

  5. Sélectionnez Enregistrer dans la barre d’outils pour enregistrer les paramètres. L’efficacité des paramètres de mise en réseau mis à jour peut prendre quelques minutes.

Se connecter au cluster de réplica en lecture dans une autre région et lire des données

Obtenez la chaîne de connexion pour le réplica de cluster en lecture dans une autre région.

  1. Dans la barre latérale du cluster de réplica, sous Gestion du cluster, sélectionnez Chaînes de connexion.

  2. Copiez la valeur à partir du champ Chaîne de connexion.

    Important

    La chaîne de connexion du cluster de réplica en lecture contient un nom de cluster de réplica unique que vous avez sélectionné lors de la création du réplica. Les valeurs de nom d’utilisateur et de mot de passe pour le cluster de réplica en lecture sont toujours les mêmes que celles de son cluster principal.

  3. Dans la ligne de commande, utilisez l’interpréteur de commandes MongoDB pour vous connecter au cluster de réplica en lecture à l’aide de la chaîne de connexion.

    mongosh "mongodb+srv://<user>@<cluster_replica_name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"
    

Lire des données à partir d’un cluster réplica

Dans l’interpréteur de commandes MongoDB connecté au cluster de réplica, lisez les données de la base de données.

db.dogs.find();
db.cats.find();

Promouvoir le cluster de réplica

Pour promouvoir un réplica en lecture de cluster vers un cluster en lecture-écriture, procédez comme suit :

  1. Sélectionnez le cluster de réplica en lecture dans le portail.

  2. Dans la barre latérale du cluster, sous Gestion du cluster, sélectionnez Distribution globale.

  3. Dans la page Distribution globale, sélectionnez Promouvoir dans la barre d’outils pour lancer la promotion du réplica en lecture vers un cluster en lecture-écriture.

    Capture d’écran de la page de la distribution globale du cluster de réplica en lecture avec le bouton Promouvoir.

  4. Dans la fenêtre indépendante Promouvoir le cluster, vérifiez que vous comprenez le fonctionnement de la promotion du réplica, puis sélectionnez Promouvoir. La promotion du réplica peut prendre quelques minutes.

    Capture d’écran de la page de la distribution globale du cluster de réplica en lecture avec la fenêtre indépendante de confirmation de promotion.

Écrire dans un réplica de cluster promu

Une fois la promotion du réplica terminée, le réplica promu devient disponible pour les écritures et l’ancien cluster principal est défini en lecture seule.

Utilisez l’interpréteur de commandes MongoDB dans la ligne de commande pour vous connecter au cluster de réplica promu à l’aide de sa chaîne de connexion.

mongosh "mongodb+srv://<user>@<promoted_replica_cluster_name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"

Dans la session de l’interpréteur de commandes MongoDB, effectuez une opération d’écriture.

db.createCollection('foxes')

Utilisez l’interpréteur de commandes MongoDB dans la ligne de commande pour vous connecter au nouveau cluster de réplica (ancien cluster principal) à l’aide de sa chaîne de connexion. Vous pouvez utiliser la chaîne de connexion automatique ou la chaîne de connexion en lecture-écriture globale.

mongosh "mongodb+srv://<user>@<new_replica_cluster_name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=SCRAM-SHA-256&retrywrites=false&maxIdleTimeMS=120000"

Dans l’interpréteur de commandes MongoDB, vérifiez que les écritures sont désormais désactivées sur le nouveau réplica (ancien cluster principal).

db.createCollection('bears')