Dela via


Skapa och använda ett replikkluster i en annan eller samma Azure-region i Azure Cosmos DB för MongoDB vCore

I den här guiden skapar du ett replikkluster i en annan Azure-region eller i samma region för ett Azure Cosmos DB for MongoDB vCore-kluster . Ett replikkluster mellan regioner kan användas för haveriberedskap (DR) och lässkalbarhet, medan ett replikkluster i samma region främst är avsett för lässkalbarhet.

Replikklustret lagrar en kopia av alla dina MongoDB-resurser – databaser, samlingar och dokument – i en annan eller samma Azure-region. Replikklustret ger en unik slutpunkt för olika verktyg och SDK:er att ansluta till. Det kan höjas upp för att acceptera skrivningar om den primära regionen upplever ett avbrott.

Förutsättningar

  • En prenumeration på Azure

    • Om du inte har en Azure-prenumeration, skapa ett gratis konto innan du börjar.

Skapa ett nytt kluster och dess replik i en annan eller samma region

Skapa ett MongoDB-kluster med en klusterläskopia med hjälp av Azure Cosmos DB för MongoDB vCore.

Tips

För den här guiden rekommenderar vi att du använder resursgruppens namn msdocs-cosmos-quickstart-rg.

  1. Logga in på Azure-portalen.

  2. I menyn i Azure-portalen eller på sidan Start väljer du Skapa en resurs.

  3. På sidan Ny söker du efter och väljer Azure Cosmos DB.

  4. På sidan Vilket API passar bäst för din arbetsbelastning? väljer du alternativet Skapa i avsnittet Azure Cosmos DB for MongoDB .

    Skärmbild av sidan välj API-alternativ för Azure Cosmos DB.

  5. På sidan Vilken typ av resurs? väljer du Skapa i avsnittet vCore-kluster. Mer information finns i översikten över arkitekturen för virtuella kärnor i Azure Cosmos DB för MongoDB.

    Skärmbild av alternativsidan välj resurstyp för Azure Cosmos DB för MongoDB.

  6. På sidan Skapa Azure Cosmos DB för MongoDB-kluster väljer du alternativet Konfigurera i avsnittet Klusternivå .

    Skärmbild av konfigurationsalternativet för klustret för ett nytt Azure Cosmos DB för MongoDB-kluster.

  7. På sidan Skala låter du alternativen vara inställda på deras standardvärden:

    Inställning Värde
    Antal skärvor 1 skärv
    Klusternivå M30-nivå, 2 virtuella kärnor, 8 GiB RAM-minne
    Storage 128 GiB
  8. Avmarkera alternativet Hög tillgänglighet . I avsnittet med hög tillgänglighet (HA) väljer du Jag förstår. Välj slutligen Spara för att spara ändringarna i klusterkonfigurationen.

    Hög tillgänglighet i regionen ger en lösning i regionen där en kopia av data från varje shard i ett kluster strömmas till dess väntelägesmotsvarighet som finns i samma region men i en annan tillgänglighetszon (AZ). Hög tillgänglighet använder synkron replikering utan dataförlust och automatisk felavkänning och övertagande, samtidigt som anslutningssträngen behålls intakt efter övertagande. Hög tillgänglighet kan aktiveras i det primära klustret för ytterligare ett skydd mot fel.

    Skärmbild av klusternivå- och skalningsalternativ för ett kluster.

  9. På klustersidan anger du följande information:

    Inställning Värde beskrivning
    Prenumeration Prenumerationsnamn Välj den Azure-prenumeration som du vill använda för det här Azure Cosmos DB för MongoDB-klustret och dess replikkluster.
    Resursgrupp Namn på resursgrupp Välj en resursgrupp eller välj Skapa ny och ange sedan ett unikt namn för den nya resursgruppen.
    Klusternamn Ett globalt unikt namn Ange ett namn för att identifiera ditt Azure Cosmos DB för MongoDB-kluster. Namnet används som en del av ett fullständigt domännamn (FQDN) med suffixet mongodbcluster.cosmos.azure.com, så namnet måste vara globalt unikt. Namnet får endast innehålla gemener, siffror och bindestreck (-). Namnet måste också vara mellan 3 och 40 tecken långt.
    Plats Den region som är närmast dina användare Välj en geografisk plats som värd för ditt Azure Cosmos DB for MongoDB-kluster med läs- och skrivfunktioner, det primära klustret. Använd den plats som är närmast dina användare för att ge dem så snabb åtkomst till data som möjligt.
    MongoDB-version Version av MongoDB som ska köras i klustret Det här värdet är inställt på standardvärdet för den senaste tillgängliga MongoDB-versionen.
    Användarnamn för administratör Ange ett användarnamn för att komma åt klustret Den här användaren skapas i klustret som användaradministratör.
    Lösenord Använd ett unikt lösenord för att parkoppla med användarnamnet Lösenordet måste innehålla minst 8 tecken och högst 128 tecken.

    Skärmbild av olika konfigurationsalternativ för ett kluster.

  10. Välj Nästa: Nätverk.

  11. På fliken Nätverk väljer du Lägg till aktuell klient-IP-adress för att skapa en brandväggsregel med datorns offentliga IP-adress, vilket uppfattas av Azure-systemet.

    Skärmbild av nätverksinställningarna för ett kluster.

Kontrollera DIN IP-adress innan du sparar den här konfigurationen. I vissa situationer skiljer sig IP-adressen som observeras av Azure Portal från DEN IP-adress som används vid åtkomst till Internet och Azure-tjänster. Därför kan du behöva ändra start-IP och slut-IP för att regeln ska fungera som förväntat. Använd en sökmotor eller ett annat onlineverktyg för att kontrollera din egen IP-adress. Sök till exempel efter vad som är min IP-adress.

Skärmbild av ett sökresultat på webben för den aktuella värdens offentliga IP-adress.

Du kan också välja Add 0.0.0.0 - 255.255.255.255 brandväggsregel för att tillåta inte bara din IP-adress, utan hela Internet för att få åtkomst till klustret. I det här fallet måste klienter fortfarande logga in med rätt användarnamn och lösenord för att använda klustret. Det är dock bäst att endast tillåta global åtkomst under korta tidsperioder och endast för icke-produktionsdatabaser.

  1. Välj Nästa: Global distribution.

  2. På fliken Global distribution väljer du Aktivera för klusterreplik för att skapa ett replikkluster som en del av den här nya primära klusteretablering.

  3. I fältet Läsrepliknamn anger du ett namn för replikklustret. Det bör vara ett globalt unikt klusternamn.

  4. Välj ett värde i listrutan Läs replikregion .

    Skärmbild av fliken global distribution i klusteretablering.

  5. Välj Granska och skapa.

  6. Granska de inställningar du angav och välj sedan Skapa. Det tar några minuter att skapa klustret. Vänta tills portalsidan visas Distributionen är klar innan du går vidare.

  7. Välj Gå till resurs för att gå till azure Cosmos DB för MongoDB-klustersidan.

    Skärmbild av distributionssidan för ett kluster.

Ansluta till primärt kluster och mata in data

Hämta den anslutningssträng du behöver för att ansluta till det primära (läs- och skriv)klustret i Azure-portalen.

  1. Från den primära klustersidan för Azure Cosmos DB for MongoDB vCore väljer du navigeringsmenyn Anslutningssträngar under Inställningar.

    Skärmbild av sidan med anslutningssträngarna i klusteregenskaperna.

  2. Kopiera värdet från fältet Self (alltid det här klustret).

  3. Använd MongoDB-gränssnittet på kommandoraden för att ansluta till det primära klustret med hjälp av anslutningssträng.

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

Mata in data

Skapa en my_script.js skriptfil för att köra den från MongoDB-gränssnittet.

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);
}

Den här skriptfilen skapar två samlingar och infogar dokument med data i dessa samlingar. Spara my_script.js fil i en mapp som är tillgänglig för MongoDB-gränssnittet.

Kör skriptet från MongoDB-gränssnittet som är anslutet till det primära MongoDB-klustret.

load(my_script.js);

I MongoDB-gränssnittet som är anslutet till det primära MongoDB-klustret läser du data från databasen.

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

Aktivera åtkomst till replikkluster

Viktigt!

Replikkluster skapas alltid med nätverksåtkomst inaktiverad. Du bör lägga till brandväggsregler eller skapa privata slutpunkter i replikklustret när det har skapats för att aktivera läsåtgärder.

  1. Från den primära klustersidan för Azure Cosmos DB for MongoDB vCore väljer du sidan Global distribution under Inställningar.

    Skärmbild av den globala distributionssidan i egenskaperna för det primära klustret.

  2. Välj replikklusternamn i fältet Läs replik för att öppna egenskaperna för replikkluster i Azure-portalen.

  3. På replikkklustret MongoDB vCore går du till Inställningar och väljer Nätverk.

  4. På sidan Nätverk väljer du Lägg till aktuell klient-IP-adress för att skapa en brandväggsregel med datorns offentliga IP-adress, vilket uppfattas av Azure-systemet.

    Skärmbild av nätverkssidan i replikklustret.

    Kontrollera DIN IP-adress innan du sparar den här konfigurationen. I vissa situationer skiljer sig IP-adressen som observeras av Azure Portal från DEN IP-adress som används vid åtkomst till Internet och Azure-tjänster. Du kan också välja Add 0.0.0.0 - 255.255.255.255 brandväggsregel för att tillåta inte bara din IP-adress, utan hela Internet för att få åtkomst till klustret. I det här fallet måste klienter fortfarande logga in med rätt användarnamn och lösenord för att använda klustret.

  5. Spara inställningarna genom att välja Spara i verktygsfältet. Det kan ta några minuter innan de uppdaterade nätverksinställningarna börjar gälla.

Anslut till kluster med läsreplika i en annan eller samma region och läs data

Hämta anslutningssträngen för replikklustret.

  1. I sidofältet för replikkluster går du till Klusterhantering och väljer Anslutningssträngar.

  2. Kopiera värdet från fältet Anslutningssträng .

    Viktigt!

    Anslutningssträngen för replikklustret innehåller ett unikt replikklusternamn som du valde när repliken skapades. Värdena för användarnamn och lösenord för replikklustret är alltid desamma som i det primära klustret.

  3. Använd MongDB-gränssnittet på kommandoraden för att ansluta till replikklustret med dess anslutningssträng.

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

Läs data från replikkluster

I MongoDB-gränssnittet som är anslutet till replikklustret läser du data från databasen.

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

Flytta upp replikkluster

Följ dessa steg för att höja upp ett replikkluster till ett läs- och skrivkluster:

  1. Välj replikklustret i portalen.

  2. I sidofältet för klustret går du till Klusterhantering och väljer Global distribution.

  3. På sidan Global distribution väljer du Främja i verktygsfältet för att initiera främjandet av replikkluster till ett skriv- och läskluster.

    Skärmbild av replikklustrets globala distributionssida med knapp för att främja.

  4. I popup-fönstret Främja kluster bekräftar du att du förstår hur replikaframhävning fungerar och väljer Främja. Det kan ta några minuter att slutföra promotion av repliken.

    Skärmbild av replikklustrets globala distributionssida med popup-fönstret för befordringsbekräftelse.

Skriv till främjad klusterreplika

När replikhöjningen har slutförts blir den upphöjda repliken tillgänglig för skrivningar och det tidigare primära klustret är skrivskyddat.

Om du vill ansluta till det upphöjda replikklustret med dess anslutningssträng använder du MongDB-gränssnittet på kommandoraden.

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

I en MongoDB-skal-session utför du en skrivåtgärd.

db.createCollection('foxes')

Använd MongDB-gränssnittet på kommandoraden för att ansluta till det nya replikklustret (tidigare primärt kluster) med dess anslutningssträng. Du kan använda självanslutningssträng eller den globala läs- och skrivanslutningssträngen.

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

I MongoDB-gränssnittet bekräftar du att skrivningar nu är inaktiverade på den nya repliken (tidigare primärt kluster).

db.createCollection('bears')