Sdílet prostřednictvím


Vytvoření a použití repliky clusteru mezi oblastmi ve službě Azure Cosmos DB pro MongoDB vCore

V této příručce vytvoříte repliku clusteru v jiné oblasti pro cluster azure Cosmos DB pro virtuální jádra MongoDB pro účely zotavení po havárii (DR). Tento cluster repliky ukládá kopii všech vašich prostředků MongoDB – databází, kolekcí a dokumentů – v jiné oblasti Azure. Cluster repliky poskytuje jedinečný koncový bod pro různé nástroje a sady SDK pro připojení a může být povýšen tak, aby byl dostupný pro zápisy, pokud dojde k výpadku primární oblasti.

Požadavky

Vytvoření nového clusteru a jeho repliky v jiné oblasti

Vytvořte cluster MongoDB s replikou pro čtení clusteru v jiné oblasti pomocí virtuálních jader Azure Cosmos DB pro MongoDB.

Tip

Pro tuto příručku doporučujeme použít název msdocs-cosmos-quickstart-rgskupiny prostředků .

  1. Přihlaste se k portálu Azure.

  2. V nabídce webu Azure Portal nebo na domovské stránce vyberte Vytvořit prostředek.

  3. Na stránce Nový vyhledejte a vyberte Azure Cosmos DB.

  4. Na stránce Které rozhraní API nejlépe vyhovuje vaší úloze? Vyberte možnost Vytvořit v části Azure Cosmos DB pro MongoDB.

    Snímek obrazovky se stránkou možností výběrového rozhraní API pro Službu Azure Cosmos DB

  5. Na stránce Který typ prostředku? vyberte v části clusteru virtuálních jader možnost Vytvořit. Další informace najdete v přehledu architektury virtuálních jader ve službě Azure Cosmos DB pro MongoDB.

    Snímek obrazovky se stránkou možností vybrat typ prostředku pro Azure Cosmos DB pro MongoDB

  6. Na stránce Vytvořit cluster Azure Cosmos DB for MongoDB vyberte v části Vrstva clusteru možnost Konfigurovat.

    Snímek obrazovky s možností konfigurace clusteru pro nový cluster Azure Cosmos DB pro MongoDB

  7. Na stránce Měřítko ponechte možnosti nastavené na výchozí hodnoty:

    Nastavení Hodnota
    Počet horizontálních oddílů 1 horizontální oddíl
    Úroveň clusteru M30 Vrstva, 2 virtuální jádra, 8 GiB RAM
    Úložiště 128 GiB
  8. Zrušte výběr možnosti Vysoká dostupnost . V části potvrzení o vysoké dostupnosti (HA) vyberte Já rozumím. Nakonec vyberte Uložit a uložte změny konfigurace clusteru.

    Vysoká dostupnost v jednotlivých oblastech poskytuje řešení v oblasti, kde se kopie dat z každého horizontálního oddílu v clusteru streamuje do pohotovostního protějšku ve stejné oblasti, ale v jiné zóně dostupnosti (AZ). Vysoká dostupnost využívá synchronní replikaci s nulovou ztrátou dat a automatickou detekcí selhání a převzetím služeb při selhání při zachování připojovací řetězec beze změny po převzetí služeb při selhání. V primárním clusteru může být povolená vysoká dostupnost pro další vrstvu ochrany před selháními.

    Snímek obrazovky s možnostmi vrstvy clusteru a možností škálování clusteru

  9. Zpět na stránce clusteru zadejte následující informace:

    Nastavení Hodnota Popis
    Předplatné Název předplatného Vyberte předplatné Azure, které chcete použít pro tento cluster Azure Cosmos DB pro MongoDB a jeho repliku.
    Skupina prostředků Název skupiny prostředků Vyberte skupinu prostředků nebo vyberte Vytvořit novoua zadejte jedinečný název nové skupiny prostředků.
    Název clusteru Globálně jedinečný název Zadejte název pro identifikaci clusteru Azure Cosmos DB for MongoDB. Název se používá jako součást plně kvalifikovaného názvu domény (FQDN) s příponou mongodbcluster.cosmos.azure.com, takže název musí být globálně jedinečný. Tento název může obsahovat jenom malá písmena, číslice a znak spojovníku (-). Název musí mít délku 3 až 40 znaků.
    Umístění Oblast nejbližší vašim uživatelům Vyberte geografické umístění pro hostování clusteru Azure Cosmos DB pro MongoDB s možnostmi čtení a zápisu, primárním clusterem. Použijte umístění, které je vašim uživatelům nejbližší, abyste jim zajistili nejrychlejší přístup k datům.
    Verze MongoDB Verze MongoDB, která se má spustit v clusteru Tato hodnota je nastavená na výchozí hodnotu nejnovější dostupné verze MongoDB.
    Uživatelské jméno správce Zadejte uživatelské jméno pro přístup ke clusteru. Tento uživatel se vytvoří v clusteru jako správce uživatele.
    Heslo Použití jedinečného hesla k párování s uživatelským jménem Heslo musí mít maximálně 8 znaků a maximálně 128 znaků.

    Snímek obrazovky s různými možnostmi konfigurace clusteru

  10. Vyberte Další: Globální distribuce.

  11. Na kartě Globální distribuce vyberte Povolit repliku pro čtení v jiné oblasti a vytvořte repliku pro čtení clusteru jako součást tohoto nového zřizování primárního clusteru.

  12. Do pole Název repliky pro čtení zadejte název repliky pro čtení clusteru. Měl by to být globálně jedinečný název clusteru.

  13. V rozevíracím seznamu oblasti repliky pro čtení vyberte hodnotu.

    Snímek obrazovky s kartou globální distribuce ve zřizování clusteru

  14. Vyberte Další: Sítě.

  15. Na kartě Sítě vyberte Přidat aktuální IP adresu klienta a vytvořte pravidlo brány firewall s veřejnou IP adresou vašeho počítače, jak je vnímané systémem Azure.

    Snímek obrazovky s nastavením sítě pro cluster

Před uložením této konfigurace ověřte svou IP adresu. V některých situacích se IP adresa pozorovaná webem Azure Portal liší od IP adresy používané při přístupu k internetu a službám Azure. Proto možná budete muset změnit počáteční IP adresu a koncovou IP adresu, aby pravidlo fungovalo podle očekávání. Pomocí vyhledávacího webu nebo jiného online nástroje zkontrolujte vlastní IP adresu. Například vyhledejte , co je moje IP adresa.

Snímek obrazovky s výsledkem vyhledávání na webu pro veřejnou IP adresu aktuálního hostitele

Můžete také vybrat přidat pravidlo brány firewall 0.0.0.0–255.255.255.255, které povoluje nejen vaši IP adresu, ale celý internet pro přístup ke clusteru. V takovém případě se klienti stále musí přihlásit se správným uživatelským jménem a heslem, aby mohli cluster používat. Nejlepší je však povolit přístup po celém světě pouze po krátkou dobu a pouze pro neprodukční databáze.

  1. Vyberte Zkontrolovat a vytvořit.

  2. Zkontrolujte nastavení, která jste zadali, a pak vyberte Vytvořit. Vytvoření clusteru bude trvat několik minut. Než přejdete na stránku portálu, počkejte, než se vaše nasazení dokončí .

  3. Výběrem možnosti Přejít k prostředku přejděte na stránku clusteru Azure Cosmos DB for MongoDB.

    Snímek obrazovky se stránkou nasazení clusteru

Připojení k primárnímu clusteru a ingestování dat

Získejte připojovací řetězec musíte se připojit k primárnímu clusteru (čtení i zápisu) na webu Azure Portal.

  1. Na stránce primárního clusteru Azure Cosmos DB pro MongoDB vyberte v části Nastavení možnost navigační nabídky Připojovací řetězce.

    Snímek obrazovky se stránkou připojovací řetězec s ve vlastnostech clusteru

  2. Zkopírujte hodnotu z pole Self (vždy tento cluster).

  3. V příkazovém řádku se pomocí prostředí MongoDB připojte k primárnímu clusteru pomocí připojovací řetězec.

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

Ingestace dat

Vytvořte soubor skriptu my_script.js , který ho spustí z prostředí 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);
}

Tento soubor skriptu vytvoří dvě kolekce a vloží dokumenty s daty do těchto kolekcí. Uložte soubor my_script.js do složky přístupné pro relaci prostředí MongoDB.

Spusťte skript z prostředí MongoDB připojeného k primárnímu clusteru MongoDB.

load(my_script.js);

V prostředí MongoDB připojeném k primárnímu clusteru MongoDB načtěte data z databáze.

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

Povolení přístupu ke clusteru replik

Důležité

Clustery replik se vždy vytvářejí se zakázaným síťovým přístupem. Po vytvoření clusteru repliky byste měli přidat pravidla brány firewall nebo vytvořit privátní koncové body pro povolení operací čtení.

  1. Na stránce primárního clusteru Azure Cosmos DB pro MongoDB vCore vyberte v části Nastavení stránku Globální distribuce.

    Snímek obrazovky globální distribuční stránky ve vlastnostech primárního clusteru

  2. Výběrem názvu repliky clusteru v poli Replika pro čtení otevřete vlastnosti repliky clusteru pro čtení na webu Azure Portal.

  3. Na stránce clusteru repliky virtuálních jader MongoDB v části Nastavení vyberte Sítě.

  4. Na stránce Sítě vyberte Přidat aktuální IP adresu klienta a vytvořte pravidlo brány firewall s veřejnou IP adresou vašeho počítače, jak je vnímané systémem Azure.

    Snímek obrazovky se stránkou sítě v clusteru replik pro čtení

    Před uložením této konfigurace ověřte svou IP adresu. V některých situacích se IP adresa pozorovaná webem Azure Portal liší od IP adresy používané při přístupu k internetu a službám Azure. Můžete také vybrat přidat pravidlo brány firewall 0.0.0.0–255.255.255.255, které povoluje nejen vaši IP adresu, ale celý internet pro přístup ke clusteru. V takovém případě se klienti stále musí přihlásit se správným uživatelským jménem a heslem, aby mohli cluster používat.

  5. Nastavení uložíte výběrem možnosti Uložit na panelu nástrojů. Může trvat několik minut, než se aktualizovaná nastavení sítě projeví.

Připojení ke clusteru replik pro čtení v jiné oblasti a čtení dat

Získejte připojovací řetězec repliky clusteru pro čtení v jiné oblasti.

  1. Na bočním panelu repliky v části Správa clusteru vyberte Připojovací řetězce.

  2. Zkopírujte hodnotu z pole Připojovací řetězec .

    Důležité

    Připojovací řetězec clusteru replik pro čtení obsahuje jedinečný název clusteru repliky, který jste vybrali při vytváření repliky. Hodnoty uživatelského jména a hesla pro cluster repliky pro čtení jsou vždy stejné jako hodnoty v primárním clusteru.

  3. V příkazovém řádku se pomocí prostředí MongDB připojte ke clusteru repliky pro čtení pomocí svého připojovací řetězec.

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

Čtení dat z clusteru replik

V prostředí MongoDB připojeném ke clusteru repliky načtěte data z databáze.

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

Zvýšení úrovně clusteru replik

Pokud chcete zvýšit úroveň repliky čtení clusteru do clusteru pro čtení i zápis, postupujte takto:

  1. Na portálu vyberte cluster repliky pro čtení.

  2. Na bočním panelu clusteru v části Správa clusteru vyberte globální distribuci.

  3. Na stránce Globální distribuce vyberte Zvýšit úroveň na panelu nástrojů, aby se zahájilo povýšení repliky pro čtení do clusteru pro čtení i zápis.

    Snímek obrazovky globální distribuční stránky clusteru repliky pro čtení s tlačítkem pro zvýšení úrovně

  4. V automaticky otevíraných otevíraných okně Zvýšit úroveň clusteru potvrďte, že rozumíte tomu, jak funguje povýšení repliky, a vyberte Zvýšit úroveň. Dokončení povýšení repliky může trvat několik minut.

    Snímek obrazovky globální distribuční stránky clusteru repliky pro čtení s automaticky otevíraným oknem potvrzení zvýšení úrovně

Zápis do repliky clusteru se zvýšenou úroveň

Po dokončení povýšení repliky bude upřednostněná replika k dispozici pro zápisy a předchozí primární cluster je nastavený jen pro čtení.

Pomocí prostředí MongDB na příkazovém řádku se pomocí svého připojovací řetězec připojte ke clusteru replik se zvýšenou úroveň.

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

V relaci prostředí MongoDB proveďte operaci zápisu.

db.createCollection('foxes')

Pomocí prostředí MongDB na příkazovém řádku se pomocí svého připojovací řetězec připojte k novému clusteru repliky (bývalému primárnímu clusteru). Můžete použít připojovací řetězec sebe nebo globální připojovací řetězec pro čtení i zápis.

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

V prostředí MongoDB ověřte, že zápisy jsou teď na nové replice (bývalém primárním clusteru) zakázané.

db.createCollection('bears')