Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Managed Instance for Apache Cassandra ist ein vollständig verwalteter Service für reine Open-Source Apache Cassandra-Cluster. Der Dienst ermöglicht außerdem, konfigurationen abhängig von den spezifischen Anforderungen jeder Workload außer Kraft zu setzen, um maximale Flexibilität und Kontrolle zu gewährleisten.
In dieser Schnellstartanleitung erfahren Sie, wie Sie mithilfe der Azure CLI einen Cluster mit Azure Managed Instance for Apache Cassandra erstellen. Außerdem wird gezeigt, wie Sie ein Rechenzentrum erstellen und Knoten innerhalb des Rechenzentrums nach oben oder unten skalieren.
Voraussetzungen
Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter "Erste Schritte mit Azure Cloud Shell".
Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.
Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Um den Authentifizierungsprozess abzuschließen, führen Sie die in Ihrem Terminal angezeigten Schritte aus. Weitere Anmeldeoptionen finden Sie unter Authentifizieren bei Azure mithilfe der Azure CLI.
Installieren Sie die Azure CLI-Erweiterung bei der ersten Verwendung, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden und Verwalten von Erweiterungen mit der Azure CLI.
Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.
- Verwenden Sie ein virtuelles Azure-Netzwerk mit Konnektivität zu Ihrer selbst gehosteten oder lokalen Umgebung. Weitere Informationen zum Verbinden lokaler Umgebungen mit Azure finden Sie unter Verbinden eines lokalen Netzwerks mit Azure.
- Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.
Wichtig
Dieser Artikel erfordert die Azure CLI-Version 2.30.0 oder höher. Bei Verwendung von Azure Cloud Shell ist die aktuelle Version bereits installiert.
Erstellen eines Managed Instance-Clusters
Melden Sie sich beim Azure-Portal an.
Legen Sie Ihre Abonnement-ID in der Azure CLI fest:
az account set --subscription <Subscription_ID>Erstellen Sie ein virtuelles Netzwerk mit einem dedizierten Subnetz in Ihrer Ressourcengruppe:
az network vnet create --name <VNet_Name> --location eastus2 \ --resource-group <Resource_Group_Name> --subnet-name <Subnet Name>Die Bereitstellung einer Instanz von Azure Managed Instance für Apache Cassandra erfordert Internetzugriff. In Umgebungen, in denen der Internetzugriff eingeschränkt ist, tritt ein Fehler bei der Bereitstellung auf. Stellen Sie sicher, dass Sie den Zugriff in Ihrem virtuellen Netzwerk nicht auf die folgenden Azure-Dienste blockieren, die für die ordnungsgemäße Funktionsweise von Azure Managed Instance für Apache Cassandra erforderlich sind:
- Azure Storage
- Azure Key Vault (ein Dienst zur sicheren Verwaltung kryptografischer Schlüssel)
- Azure Virtual Machine Scale Sets (Azure-VM-Skalierungssätze)
- Azure Monitor
- Microsoft Entra ID
- Microsoft Defender for Cloud
Wenden Sie diese spezifischen Berechtigungen auf das virtuelle Netzwerk an. Für die verwaltete Instanz sind sie erforderlich. Verwenden Sie den
az role assignment create-Befehl, und ersetzen Sie<subscriptionID>,<resourceGroupName>und<vnetName>durch die entsprechenden Werte.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>Die
assigneeundrolesind feste Werte. Geben Sie diese Werte genau wie im Befehl erwähnt ein. Ohne dies kommt es zu Fehlern, wenn Sie den Cluster erstellen. Wenn beim Ausführen dieses Befehls Fehler auftreten, verfügen Sie möglicherweise nicht über berechtigungen zum Ausführen des Befehls. Wenden Sie sich an Ihren Azure-Administrator, um Berechtigungen zu erteilen.Erstellen Sie den Cluster in Ihrem neu erstellten virtuellen Netzwerk, indem Sie den Befehl "az managed-cassandra cluster create" verwenden . Führen Sie den folgenden Befehl mit dem Wert der
delegatedManagementSubnetIdVariablen aus. (Der WertdelegatedManagementSubnetIdist derselbe virtuelle Netzwerkname, für den die Berechtigungen angewendet wurden.)resourceGroupName='<Resource_Group_Name>' clusterName='<Cluster_Name>' location='eastus2' delegatedManagementSubnetId='/subscriptions/<subscription ID>/resourceGroups/<resource group name>/providers/Microsoft.Network/virtualNetworks/<VNet name>/subnets/<subnet name>' initialCassandraAdminPassword='myPassword' cassandraVersion='5.0' # set to 4.0 for a Cassandra 4.0 cluster az managed-cassandra cluster create \ --cluster-name $clusterName \ --resource-group $resourceGroupName \ --location $location \ --delegated-management-subnet-id $delegatedManagementSubnetId \ --initial-cassandra-admin-password $initialCassandraAdminPassword \ --cassandra-version $cassandraVersion \ --debugErstellen Sie ein Rechenzentrum für den Cluster mit drei virtuellen Computern (VMs). Verwenden Sie die folgende Konfiguration:
- VM-Größe: Standard E8s v5
- Datenträger: 4 P30-Datenträger, die an die einzelnen bereitgestellten virtuellen Computer angefügt sind
Nachdem alle Informationen vorhanden sind, verwenden Sie den Befehl "az managed-cassandra datacenter create ":
dataCenterName='dc1' dataCenterLocation='eastus2' virtualMachineSKU='Standard_D8s_v4' noOfDisksPerNode=4 az managed-cassandra datacenter create \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --data-center-name $dataCenterName \ --data-center-location $dataCenterLocation \ --delegated-subnet-id $delegatedManagementSubnetId \ --node-count 3 \ --sku $virtualMachineSKU \ --disk-capacity $noOfDisksPerNode \ --availability-zone falseWählen Sie den Wert für
--skuaus den folgenden verfügbaren VM-Größen aus.- Standard_E8s_v5
- Standard_E16s_v5
- Standard_E20s_v5
- Standard_E32s_v5
Standardmäßig ist
--availability-zoneauffalsefestgelegt. Um Verfügbarkeitszonen zu aktivieren, legen Sie sie auftrue. Verfügbarkeitszonen tragen dazu bei, die Verfügbarkeit des Diensts zu erhöhen. Weitere Informationen finden Sie unter Vereinbarungen zum Servicelevel für Onlinedienste.Verfügbarkeitszonen werden in allen Azure-Regionen nicht unterstützt. Bereitstellungen schlagen fehl, wenn Sie eine Region auswählen, in der Verfügbarkeitszonen nicht unterstützt werden. Unterstützte Regionen finden Sie in der Azure-Regionsliste.
Die erfolgreiche Bereitstellung von Verfügbarkeitszonen unterliegt der Verfügbarkeit von Computeressourcen in allen Zonen in der region, die Sie ausgewählt haben. Bereitstellungen schlagen fehl, wenn die von Ihnen ausgewählte VM-Größe in der von Ihnen ausgewählten Region nicht verfügbar ist.
Nachdem das Rechenzentrum erstellt wurde, können Sie den Befehl az managed-cassandra datacenter update ausführen, um den Cluster zu verkleinern oder zu vergrößern. Ändern Sie den Wert des
node-countParameters in den gewünschten Wert:resourceGroupName='<Resource_Group_Name>' clusterName='<Cluster Name>' dataCenterName='dc1' dataCenterLocation='eastus2' az managed-cassandra datacenter update \ --resource-group $resourceGroupName \ --cluster-name $clusterName \ --data-center-name $dataCenterName \ --node-count 9
Herstellen einer Clusterverbindung
Azure Managed Instance für Apache Cassandra erstellt keine Knoten mit öffentlichen IP-Adressen. Um eine Verbindung mit Ihrem neuen Cassandra-Cluster herzustellen, müssen Sie eine weitere Ressource innerhalb desselben virtuellen Netzwerks erstellen. Diese Ressource kann eine Anwendung oder eine VM sein, auf der cassandra Query Language Shell (CQLSH) installiert ist. CQLSH ist ein Apache Open-Source-Abfragetool.
Sie können eine Azure Resource Manager-Vorlage verwenden, um eine Ubuntu-VM bereitzustellen.
Aufgrund einiger bekannter Probleme mit Versionen von Python empfehlen wir, ein Ubuntu 22.04-Image zu verwenden, das im Lieferumfang von Python3.10.12 oder einer virtuellen Python-Umgebung zum Ausführen von CQLSH enthalten ist.
Herstellen einer Verbindung mit CQLSH
Nachdem der virtuelle Computer bereitgestellt wurde, verwenden Sie Secure Shell, um eine Verbindung mit dem Computer herzustellen und CQLSH zu installieren. Verwenden Sie die folgenden Befehle:
# Install default-jre and default-jdk
sudo apt update
sudo apt install openjdk-8-jdk openjdk-8-jre
Überprüfen Sie, welche Versionen von Cassandra noch unterstützt werden , und wählen Sie die gewünschte Version aus. Es wird empfohlen, eine stabile Version zu verwenden.
Installieren Sie die Cassandra-Bibliotheken, um CQLSH abzurufen. Führen Sie die offiziellen Schritte aus der Cassandra-Dokumentation aus.
Verbindung aus einer Anwendung herstellen
Wie bei CQLSH muss die Transport Layer Security/Secure Sockets Layer (TLS/SSL)-Verschlüsselung aktiviert sein, und die Zertifikatsüberprüfung muss deaktiviert werden, wenn Sie einen der unterstützten Apache Cassandra-Clienttreiber verwenden, um aus einer Anwendung eine Verbindung herzustellen. Beispiele finden Sie unter Java, .NET, Node.jsund Python.
Es wird empfohlen, die Zertifikatüberprüfung zu deaktivieren, da sie nicht funktioniert, es sei denn, Sie ordnen IP-Adressen Ihrer Clusterknoten der entsprechenden Domäne zu. Wenn eine interne Richtlinie die Überprüfung von TLS/SSL-Zertifikaten für eine beliebige Anwendung vorschreibt, fügen Sie Einträge wie 10.0.1.5 host1.managedcassandra.cosmos.azure.com in der Hostdatei für jeden Knoten hinzu, um diese Einrichtung zu erleichtern. Wenn Sie diesen Ansatz verfolgen, müssen Sie auch neue Einträge hinzufügen, wenn Sie Knoten skalieren.
Für Java empfehlen wir, die spekulative Ausführungsrichtlinie zu aktivieren, in denen Anwendungen empfindlich gegenüber Taillatenz sind. Eine Demo, die veranschaulicht, wie dieser Ansatz funktioniert und wie die Richtlinie aktiviert werden kann, finden Sie unter Implementieren spekulativer Ausführungsrichtlinie.
Normalerweise müssen Sie keine Zertifikate (wie rootCA, node, client oder truststore) konfigurieren, um eine Verbindung mit Azure Managed Instance für Apache Cassandra herzustellen. TLS/SSL-Verschlüsselung verwendet den Standardvertrauensspeicher und das ausgewählte Laufzeitkennwort des Clients. Beispielcode finden Sie unter Java, .NET, Node.jsund Python). Zertifikate sind standardmäßig vertrauenswürdig. Wenn nicht, fügen Sie sie dem Vertrauensspeicher hinzu.
Konfigurieren von Clientzertifikaten (optional)
Das Konfigurieren von Clientzertifikaten ist optional. Eine Clientanwendung kann eine Verbindung mit azure Managed Instance für Apache Cassandra herstellen, nachdem Sie die vorherigen Schritte ausgeführt haben. Wenn Sie es vorziehen, können Sie auch Clientzertifikate für die Authentifizierung erstellen und konfigurieren. Im Allgemeinen gibt es zwei Möglichkeiten zum Erstellen von Zertifikaten:
- Selbstsignierte Zertifikate: Private und öffentliche Zertifikate ohne Zertifizierungsstelle (Ca) für jeden Knoten. In diesem Fall sind alle öffentlichen Zertifikate erforderlich.
- Von einer Zertifizierungsstelle signierte Zertifikate: Zertifikate, die von einer selbstsignierten Zertifizierungsstelle oder einer öffentlichen Zertifizierungsstelle ausgestellt wurden. Für diese Einrichtung benötigen Sie das Stamm-CA-Zertifikat und, falls zutreffend, alle Zwischenzertifikate. Weitere Informationen finden Sie unter Vorbereiten von SSL-Zertifikaten für die Produktion.
Um die Client-zu-Knoten-Zertifikatauthentifizierung oder die gegenseitige Transport Layer Security zu implementieren, stellen Sie die Zertifikate mithilfe der Azure CLI bereit. Mit dem folgenden Befehl werden Ihre Clientzertifikate in den Truststore für Ihre Azure Managed Instance für den Apache Cassandra-Cluster hochgeladen und angewendet. Sie müssen die cassandra.yaml Einstellungen nicht ändern. Nachdem die Zertifikate angewendet wurden, benötigt der Cluster Cassandra, um die Zertifikate während der Clientverbindungen zu überprüfen. Weitere Informationen finden Sie unter require_client_auth: true Cassandra client_encryption_options.
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
Problembehandlung
Wenn beim Anwenden von Berechtigungen für Ihr virtuelles Netzwerk mithilfe der Azure CLI ein Fehler auftritt, können Sie dieselbe Berechtigung manuell über das Azure-Portal anwenden. Ein Beispiel für einen solchen Fehler ist „Der Benutzer oder Dienstprinzipal in der Graphdatenbank für e5007d2c-4b13-4a74-9b6a-605d99f03501 kann nicht gefunden werden.“ Weitere Informationen finden Sie unter Verwenden des Azure-Portals zum Hinzufügen von Azure Cosmos DB-Dienstprinzipal.
Die Azure Cosmos DB-Rollenzuweisung wird nur für Bereitstellungszwecke verwendet. Azure Managed Instanced for Apache Cassandra hat keine Back-End-Abhängigkeiten von Azure Cosmos DB.
Bereinigen von Ressourcen
Wenn Ihre Ressource nicht mehr benötigt wird, verwenden Sie den az group delete Befehl, um die Ressourcengruppe, die verwaltete Instanz und alle zugehörigen Ressourcen zu entfernen:
az group delete --name <Resource_Group_Name>
Nächster Schritt
In dieser Schnellstartanleitung haben Sie erfahren, wie Sie mithilfe der Azure CLI eine azure Managed Instance für Apache Cassandra-Cluster erstellen. Nun können Sie mit der Nutzung des Clusters beginnen: