Rychlý start: Vytvoření Azure Managed Instance pro cluster Apache Cassandra z portálu Azure

Azure Managed Instance pro Apache Cassandra je plně spravovaná služba pro čistě opensourcové clustery Apache Cassandra. Služba také umožňuje přepsání konfigurací v závislosti na konkrétních potřebách jednotlivých úloh pro maximální flexibilitu a kontrolu.

Tento rychlý start ukazuje, jak pomocí portálu Azure vytvořit Azure Managed Instance pro cluster Apache Cassandra.

Předpoklad

Pokud nemáte předplatné Azure, vytvořte si účet free než začnete.

Vytvoření clusteru spravovaných instancí

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

  2. Na panelu hledání vyhledejte Managed Instance pro Apache Cassandra a vyberte výsledek.

    Screenshot, který zobrazuje hledání Azure SQL Managed Instance pro Apache Cassandra.

  3. Vyberte Vytvořit Managed Instance pro cluster Apache Cassandra.

    Snímek obrazovky znázorňující tlačítko použité k vytvoření clusteru

  4. V podokně Create Managed Instance for Apache Cassandra zadejte následující informace:

    • Subscription: V rozevíracím seznamu vyberte své předplatné Azure.

    • Skupina prostředků: Určete, jestli chcete vytvořit novou skupinu prostředků, nebo použít existující. Skupina prostředků je kontejner, který obsahuje související prostředky pro Azure řešení.

    • Název clusteru: Zadejte název clusteru.

    • Umístění: Vyberte umístění pro nasazení clusteru.

    • Verze Cassandra: Vyberte verzi Apache Cassandra, která se má nasadit.

    • Rozšíření: Vyberte rozšíření, která chcete přidat, včetně Cassandra Lucene Indexu. To platí jenom pro Cassandra verze 3.11.

    • Počáteční heslo správce Cassandra: Zadejte heslo použité k vytvoření clusteru.

    • Potvrďte heslo správce Cassandra: Zadejte znovu heslo.

    • Virtuální síť: Vyberte existující virtuální síť a podsíť nebo vytvořte novou. Poznamenejte si pravidla sítě nebo můžete použít konfiguraci založenou na síti VPN.

    • Přiřazení rolí: Virtuální sítě vyžadují speciální oprávnění, aby bylo možné nasadit spravované clustery Cassandra. Toto políčko ponechte zaškrtnuté, pokud vytvoříte novou virtuální síť nebo použijete existující virtuální síť bez použitých oprávnění. Pokud používáte virtuální síť, ve které jste dříve nasadili Azure SQL Managed Instance clustery Cassandra, zrušte zaškrtnutí této možnosti.

      Snímek obrazovky znázorňující kartu Základy na stránce Vytvořit

    Pokud používáte virtuální privátní síť, nemusíte otevírat další připojení.

    Nasazení Azure Managed Instance pro Apache Cassandra vyžaduje přístup k internetu. Nasazení selže v prostředích, kde je omezený přístup k internetu. Ujistěte se, že ve virtuální síti neblokujete přístup k následujícím důležitým službám Azure, které jsou nezbytné pro správné fungování spravované Cassandry. Další informace naleznete v tématu Požadovaná pravidla odchozí sítě.

    • Azure Storage

    • Azure Key Vault

    • Azure Sady pro Škálování Virtuálních Strojů

    • Azure Monitor

    • Microsoft Entra ID

    • Microsoft Defender for Cloud

    • Automatická replikace: Zvolte způsob automatického duplikování, který chcete použít. Další informace naleznete v tématu Replikace na klíč.

    • Strategie plánování událostí: Strategie, kterou cluster používá pro naplánované události.

    Návod

    • StopANY znamená zastavení jakéhokoli uzlu, pokud je pro daný uzel naplánovaná událost.
    • StopByRack znamená zastavení uzlů pouze v konkrétním racku pro konkrétní naplánovanou událost. Pokud je například pro uzly v různých rackech najednou naplánováno několik událostí, uzly v jednom stojanu se zastaví. Ostatní uzly v jiných stojanech jsou zpožděné.
  5. Vyberte kartu Datové centrum .

  6. Zadejte následující informace:

    • Název datového centra: Do textového pole zadejte název datacentra.

    • Zóna dostupnosti: Toto políčko zaškrtněte, pokud chcete povolit zóny dostupnosti.

    • Velikost skladové položky: Vyberte si z dostupných velikostí na úrovni produktu virtuálního počítače.

      Snímek obrazovky znázorňující výběr velikosti úrovně produktu

    Zavedli jsme ukládání do mezipaměti se zápisem (veřejná ukázka) pomocí produktových úrovní virtuálních počítačů řady L-series. Cílem této implementace je minimalizovat koncové latence a zvýšit výkon čtení, zejména pro úlohy náročné na čtení. Tyto konkrétní úrovně produktů jsou vybaveny místně připojenými disky, které zajišťují vyšší počet vstupně-výstupních operací čtení a nižší koncovou latenci.

    Ukládání do mezipaměti s přímým zápisem je poskytováno bez SLA (smlouvy o úrovni služeb). Nedoporučujeme ho pro produkční úlohy. Další informace najdete v tématu Supplementální podmínky použití pro Microsoft Azure Verze Preview.

    • Ne. disků: Vyberte počet disků P30, které se mají připojit ke každému uzlu Cassandra (důrazně se doporučuje minimálně čtyři disky). Při nastavování velikosti úložiště naplánujte pouze 50% trvalé využití disku, aby se umožnila rezerva kapacity pro odstraněné záznamy a využití disku na úrovni systému. Mějte na paměti, že zálohy také dočasně spotřebovávají místo na místním disku před přenosem do úložiště objektů blob.

    • Ne. uzlů: Zvolte počet uzlů Cassandra, které chcete nasadit do tohoto datacentra.

      Snímek obrazovky znázorňující kartu Datového centra, kde můžete zkontrolovat hodnoty

    Zóny dostupnosti nejsou podporované ve všech oblastech. Nasazení selžou, pokud vyberete oblast, ve které nejsou zóny dostupnosti podporované. Další informace najdete v seznamu oblastí Azure.

    Úspěšné nasazení zón dostupnosti podléhá také dostupnosti výpočetních prostředků ve všech zónách v konkrétní oblasti. Nasazení můžou selhat, pokud vybraná úroveň produktu nebo kapacita není dostupná ve všech zónách.

  7. Vyberte Zkontrolovat + vytvořit>Vytvořit.

    Vytvoření clusteru může trvat až 15 minut.

    Snímek obrazovky stránky Review + Create pro cluster.

  8. Po dokončení nasazení zkontrolujte skupinu prostředků a podívejte se na nově vytvořený cluster spravovaných instancí.

    Snímek obrazovky znázorňující stránku Přehled po vytvoření clusteru

  9. Pokud chcete procházet uzly clusteru, přejděte na prostředek clusteru a otevřete panel Data Center.

    Snímek obrazovky znázorňující uzly datacentra

Škálování datacentra

Po nasazení clusteru s jedním datacentrem můžete horizontálně nebo vertikálně škálovat. Zvýrazněte datové centrum a pak vyberte Škálovat.

Snímek obrazovky znázorňující škálování uzlů datacentra

Horizontální škálování

Pokud chcete horizontálně nebo vertikálně škálovat počet uzlů, přesuňte posuvník na požadované číslo. Můžete také upravit hodnotu. Až budete hotovi, vyberte Škáluj.

Snímek obrazovky znázorňující výběr počtu uzlů datacentra

Vertikální měřítko

Pokud chcete změnit velikost úrovně produktu pro vaše uzly, vyberte možnosti z rozevíracího seznamu Velikost SKU. Až budete hotovi, vyberte Škáluj.

Snímek obrazovky znázorňující výběr velikosti úrovně produktu

Doba trvání operace škálování závisí na různých faktorech. Operace může trvat několik minut. Když Azure vás upozorní, že se operace škálování dokončila, neznamená to, že všechny uzly připojily okruh Cassandra. Uzly jsou plně nasazeny, když všechny zobrazují stav Bez problémů a stav datacentra je znázorněn jako Úspěšně dokončeno.

Škálování je online operace a funguje stejným způsobem jako u oprav. Další informace najdete v tématu Oprava.

Přidání datacentra

  1. Pokud chcete přidat další datové centrum, vyberte v podokně Data Centermožnost Přidat.

    Snímek obrazovky znázorňující přidání datacentra

    Pokud přidáte datacentrum v jiné oblasti, musíte vybrat jinou virtuální síť. Ujistěte se, že tato virtuální síť má připojení k dříve vytvořené virtuální síti primární oblasti. Také se ujistěte, že všechny ostatní virtuální sítě, které hostují datacentra, jsou v clusteru spravovaných instancí. Další informace naleznete v tématu Připojení virtuálních sítí s peerováním virtuálních sítí.

    Před pokusem o nasazení clusteru spravovaných instancí se ujistěte, že jste ve virtuální síti použili příslušnou roli. Použijte následující příkaz Azure CLI:

       az role assignment create \
       --assignee a232010e-820c-4083-83bb-3ace5fc29d0b \
       --role 4d97b98b-1d4f-4787-a291-c67834d212e7 \
       --scope /subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/virtualNetworks/<vnetName>
    
  2. Vyplňte příslušná pole:

    • Název datacentra: V rozevíracím seznamu vyberte své předplatné Azure.

    • Zóna dostupnosti: Vyberte, jestli chcete povolit zóny dostupnosti v tomto datacentru.

    • Umístění: Umístění, kam je vaše datacentrum nasazené.

    • Velikost skladové položky: Vyberte si z dostupných velikostí na úrovni produktu virtuálního počítače.

    • Ne. disků: Zvolte počet disků p30, které se mají připojit ke každému uzlu Cassandra. Při výpočtu kapacity úložiště předpokládejme maximální trvalé využití 50%. Tato vyrovnávací paměť zohledňuje tombstones a spotřebu disku systémovými službami. Kromě toho zálohy dočasně spotřebovávají místo na disku, než se data zachovají do úložiště objektů blob.

    • Ne. uzlů: Zvolte počet uzlů Cassandra, které chcete nasadit do tohoto datacentra.

    • Virtuální síť: Vyberte existující virtuální síť a podsíť.

      Snímek obrazovky se stránkou Přidat datové centrum

    Portál Azure neumožňuje vytvoření nové virtuální sítě při přidání datacentra. Potřebujete zvolit existující virtuální síť a potřebujete zajistit, aby mezi cílovými podsítěmi, ve kterých jsou nasazená datová centra, bylo připojení. Pokud chcete povolit nasazení, musíte také použít odpovídající roli pro virtuální síť, jak je popsáno výše.

  3. Po nasazení datacentra byste měli být schopni zobrazit všechny informace o datacentru v podokně Data Center .

    Snímek obrazovky znázorňující prostředky clusteru

  4. Pokud chcete zajistit replikaci mezi datovými centry, připojte se ke službě Cassandra Query Language Shell (CQLSH) a pomocí následujícího dotazu CQL aktualizujte strategii replikace v jednotlivých prostorech klíčů tak, aby zahrnovala všechna datacentra v clusteru. Systémové tabulky se aktualizují automaticky.

    ALTER KEYSPACE "ks" WITH REPLICATION = {'class': 'NetworkTopologyStrategy', 'dc': 3, 'dc2': 3};
    
  5. Pokud přidáte datacentrum do clusteru, který už obsahuje data, spusťte replikaci rebuild historických dat. V Azure CLI použijte následující příkaz a na každém uzlu nového datacentra spusťte nodetool rebuild. Tato akce nahradí <new dc ip address> IP adresou uzlu a nahradí <olddc> názvem vašeho stávajícího datacentra:

     az managed-cassandra cluster invoke-command \
       --resource-group $resourceGroupName \
       --cluster-name $clusterName \
       --host <new dc ip address> \
       --command-name nodetool --arguments rebuild="" "<olddc>"=""
    

Nepovolujte klientům aplikací zapisovat do nového datacentra, dokud nepoužijete změny replikace prostoru klíčů. Jinak opětovné sestavení nefunguje a potřebujete vytvořit žádost o podporu , aby pro vás mohl náš tým běžet repair .

Aktualizace konfigurace Cassandra

K aktualizaci konfigurace YAML Cassandra v datacentru můžete použít Azure portál nebo příkazy CLI. Aktualizace nastavení na portálu:

  1. V části Nastavení vyberte Konfigurace Cassandra. Zvýrazněte datacentrum, jehož konfiguraci chcete změnit, a pak vyberte Aktualizovat.

    Snímek obrazovky znázorňující výběr datacentra pro aktualizaci konfigurace

  2. V okně, které se otevře, zadejte názvy polí ve formátu YAML, jak je znázorněno zde. Pak vyberte Aktualizovat.

    Snímek obrazovky znázorňující aktualizaci konfigurace Cassandra datacentra

  3. Po dokončení aktualizace se přepsané hodnoty zobrazí v podokně Konfigurace Cassandra .

    Snímek obrazovky znázorňující aktualizovanou konfiguraci Cassandra

    Na portálu Azure se zobrazují pouze přepsané konfigurační hodnoty Cassandra.

    Ujistěte se, že nastavení CASsandra YAML, které zadáte, jsou vhodná pro verzi Cassandra, kterou jste nasadili. Další informace najdete v tématu Cassandra v5.0, Cassandra v4.0 pro nastavení v4.0 a Cassandra v3.11 pro Nastavení Cassandra v3.11. Nemůžete aktualizovat následující nastavení YAML:

    • cluster_name
    • seed_provider
    • initial_token
    • autobootstrap
    • client_encryption_options
    • server_encryption_options
    • transparent_data_encryption_options
    • audit_logging_options
    • authenticator
    • authorizer
    • role_manager
    • storage_port
    • ssl_storage_port
    • native_transport_port
    • native_transport_port_ssl
    • listen_address
    • listen_interface
    • broadcast_address
    • hints_directory
    • data_file_directories
    • commitlog_directory
    • cdc_raw_directory
    • saved_caches_directory
    • endpoint_snitch
    • partitioner
    • rpc_address
    • rpc_interface

Aktualizace verze Cassandra

Místní upgrady hlavních verzí můžete provádět přímo z portálu nebo prostřednictvím šablon Azure CLI, Terraformu nebo Azure Resource Manager.

  1. Na kartě Přehled vyberte Aktualizovat.

    Snímek obrazovky znázorňující aktualizaci verze Cassandra

  2. V rozevíracím seznamu vyberte verzi Cassandra.

    Nepřeskakujte verze. Doporučujeme aktualizovat pouze z jedné verze na jinou. Například aktualizujte verzi 3.11 na 4.0 nebo 4.0 na 4.1 nebo 4.1 na 5.0.

    Snímek obrazovky znázorňující výběr verze Cassandra

  3. Vyberte Aktualizovat pro uložení.

Replikace na klíč

Cassandra 5.0 představuje zjednodušený přístup k nasazení clusterů s více oblastmi, které nabízejí lepší pohodlí a efektivitu. Pokud používáte funkci replikace na klíč, nastavení a správa clusterů s více oblastmi je přístupnější. Získáte plynulejší integraci a provoz napříč distribuovanými prostředími.

Tato aktualizace snižuje složitost související s nasazením a údržbou konfigurací více oblastí. Uživatelé můžou využívat funkce Cassandry s větší jednoduchostí a efektivitou.

Snímek obrazovky znázorňující výběr možnosti z rozevíracího seznamu

  • Žádné: Možnost Automatické replikace je nastavená na Hodnotu Žádné.
  • Systémové prostory klíčů: Automaticky replikovat všechny systémové prostory klíčů (system_auth, system_traces a system_auth).
  • Všechny prostory klíčů: Autoreplikace všech prostorů klíčů, sledujte, zda se vytvářejí nové prostory klíčů, a pak automaticky aplikujte nastavení autoreplikace.

Scénáře automatického duplikování

Když přidáte nové datové centrum, funkce autoreplicate v Cassandře se bezproblémově spustí nodetool rebuild , aby se zajistila úspěšná replikace dat napříč přidaným datacentrem. Odebrání datového centra aktivuje automatické odebrání konkrétního datacentra z klíčových prostorů.

V případě externích datových center, jako jsou ta umístěná na místě, použijte vlastnost externího datového centra, aby je zahrnula do klíčových prostorů. Tento přístup umožňuje Cassandře začlenit tato externí datová centra jako zdroje pro proces opětovného sestavení.

Pokud nastavíte automatickou replikaci do všech prostorů klíčů, změní se replikace prostorů klíčů tak, aby zahrnovala:

WITH REPLICATION = { 'class' : 'NetworkTopologyStrategy', 'on-prem-datacenter-1' : 3, 'mi-datacenter-1': 3 }

Pokud tato topologie není to, co chcete, použijte SystemKeyspaces, upravte je sami a spusťte nodetool rebuild ručně na clusteru Apache Cassandra Azure Managed Instance.

Zrušení přidělení clusteru

Důležité

Každý cluster uvolněný na dobu delší než sedm dnů by měl být znovu vytvořen, protože nemusí přijímat opravy zabezpečení a může představovat bezpečnostní riziko.

V neprodukčních prostředích můžete pozastavit nebo uvolnit prostředky v clusteru, abyste se vyhnuli jejich účtování. Za úložiště se vám budou dál účtovat poplatky. Nejprve změňte typ clusteru na Neprodukční a pak vyberte Zrušit přidělení.

Pokud chcete ušetřit náklady na vývoj, použijte typ neprodukčního clusteru. Tento typ clusteru může obsahovat menší úrovně produktů. Nepoužívejte ji ke spouštění produkčních úloh.

  • Typy clusterů definované jako Neprodukční nemají záruky SLA.
  • Během uvolňování nespouštějte žádné operace schématu ani zápisu. Tato akce může vést ke ztrátě dat. Ve výjimečných případech může docházet k poškození schématu, které vyžaduje ruční zásah od týmu podpory.

Snímek obrazovky znázorňující pozastavení clusteru

Řešení problémů

Pokud při použití Azure CLI dojde k chybě při použití oprávnění pro virtuální síť, můžete stejné oprávnění použít ručně z portálu Azure. Příkladem takové chyby je "Nelze najít uživatele nebo instanční objekt v grafové databázi pro e5007d2c-4b13-4a74-9b6a-605d99f03501". Další informace najdete v tématu Použití portálu Azure k přidání Azure Cosmos DB instančního objektu.

Přiřazení role Azure Cosmos DB se používá pouze pro účely nasazení. Azure managed Instanced for Apache Cassandra nemá žádné back-endové závislosti na Azure Cosmos DB.

Připojení ke clusteru

Azure Managed Instance pro Apache Cassandra nevytváří uzly s veřejnými IP adresami. Pokud se chcete připojit k nově vytvořenému clusteru Cassandra, vytvořte ve virtuální síti další prostředek. Tento prostředek může být aplikace nebo virtuální počítač s nainstalovaným opensourcovým dotazovacím nástrojem CQLSH apache. K nasazení virtuálního počítače s Ubuntu můžete použít šablonu .

Připojení z CQLSH

Po nasazení virtuálního počítače se pomocí Secure Shellu připojte k počítači. K instalaci CQLSH použijte následující příkazy:

# Install default-jre and default-jdk
sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre

# Install the Cassandra libraries in order to get CQLSH:
echo "deb http://archive.apache.org/dist/cassandra/debian 311x main" | sudo tee -a /etc/apt/sources.list.d/cassandra.sources.list
curl https://downloads.apache.org/cassandra/KEYS | sudo apt-key add -
sudo apt-get update
sudo apt-get install cassandra

# Export the SSL variables:
export SSL_VERSION=TLSv1_2
export SSL_VALIDATE=false

# Connect to CQLSH (replace <IP> with the private IP addresses of a node in your Datacenter):
host=("<IP>")
initial_admin_password="Password provided when creating the cluster"
cqlsh $host 9042 -u cassandra -p $initial_admin_password --ssl

Připojení z aplikace

Stejně jako u CQLSH musí být při použití některého z podporovaných klientských ovladačů Apache Cassandra pro připojení z aplikace povolené šifrování TLS/SSL (Transport Layer Security Security/Secure Sockets Layer) a ověření certifikátu musí být zakázané. Ukázky, které se používají pro připojení k Azure Managed Instance pro Apache Cassandra, najdete v tématech Java, .NET, Node.js a Python.

Doporučujeme zakázat ověření certifikátu, protože nefunguje, pokud nenamapujete IP adresy uzlů clusteru na příslušnou doménu. Pokud interní zásady vyžadují, abyste pro každou aplikaci provedli ověření certifikátu TLS/SSL, přidejte položky jako 10.0.1.5 host1.managedcassandra.cosmos.azure.com v souboru hostitelů pro každý uzel, aby se usnadnilo toto nastavení. Pokud tento přístup přijmete, musíte také přidat nové položky pokaždé, když zvýšíte kapacitu uzlů.

Pro Java doporučujeme povolit politiku spekulativního provádění v případech, kdy jsou aplikace citlivé na latenci na konci. Ukázku, která ukazuje, jak tento přístup funguje, a jak tuto zásadu povolit, naleznete v Demo: Implementace spekulativního spuštění.

Ve většině případů by k připojení k Azure Managed Instance pro Apache Cassandra nemělo být nutné konfigurovat nebo instalovat certifikáty (například rootCA, node, client nebo truststore). Pokud chcete povolit šifrování TLS/SSL, použijte výchozí úložiště důvěryhodnosti a heslo modulu runtime, který klient používá. Toto prostředí důvěřuje certifikátům Azure Managed Instance pro Apache Cassandra. Pokud certifikát není důvěryhodný, může být ve výjimečných případech potřeba ho přidat do úložiště důvěryhodnosti. Ukázkový kód najdete v tématu Java, .NET, Node.js a Python.

Konfigurace klientských certifikátů (volitelné)

Konfigurace klientských certifikátů je volitelná. Klientská aplikace se může připojit k Azure Managed Instance pro Apache Cassandra, pokud jsou předchozí kroky dokončeny. Pokud chcete, můžete také vytvořit a nakonfigurovat klientské certifikáty pro ověřování. Obecně platí, že existují dva způsoby, jak vytvořit certifikáty:

  • Certifikáty podepsané svým držitelem: Privátní a veřejné certifikáty bez certifikační autority (CA) pro každý uzel. V takovém případě potřebujete všechny veřejné certifikáty.
  • Certifikáty podepsané certifikační autoritou: Certifikáty vydané certifikační autoritou podepsané svým držitelem nebo veřejnou certifikační autoritou. V takovém případě potřebujete kořenový certifikát certifikační autority a všechny zprostředkovatele, pokud je to možné. Další informace najdete v tématu Příprava certifikátů SSL pro produkční prostředí.

Pokud chcete implementovat ověřování certifikátů mezi klientem a uzlem nebo vzájemné ověřování pomocí protokolu MTLS (Transport Layer Security), použijte k poskytnutí certifikátů Azure CLI. Následující příkaz nahraje a použije klientské certifikáty do úložiště důvěryhodnosti pro cluster spravovaných instancí. Nemusíte upravovat cassandra.yaml nastavení. Po použití příkazu vyžaduje cluster Cassandra k ověření certifikátů při připojení klienta. Další informace najdete require_client_auth: true v client_encryption_options Cassandra.

resourceGroupName='<Resource_Group_Name>'
clusterName='<Cluster Name>'

az managed-cassandra cluster update \
  --resource-group $resourceGroupName \
  --cluster-name $clusterName \
  --client-certificates /usr/csuser/clouddrive/rootCert.pem /usr/csuser/clouddrive/intermediateCert.pem

Vyčistěte zdroje

Pokud nebudete dál používat tento cluster spravovaných instancí, odstraňte ho následujícím postupem:

  1. V levé nabídce portálu Azure vyberte Zdrojové skupiny.
  2. V seznamu vyberte skupinu prostředků, kterou jste vytvořili pro účely tohoto rychlého startu.
  3. V podokně Přehled skupiny prostředků vyberte Odstranit skupinu prostředků.
  4. V dalším podokně zadejte název skupiny prostředků, která se má odstranit, a pak vyberte Odstranit.

Další krok