Konfigurieren von Speicher für das Tool für konsistente Momentaufnahmen in Azure-Anwendungen
Artikel
Dieser Artikel enthält eine Installationsanleitung für das Konfigurieren von Azure-Speicher für die Verwendung mit dem Tool für konsistente Momentaufnahmen in Azure-Anwendungen (AzAcSnap).
Wählen Sie den Speicher aus, den Sie mit AzAcSnap verwenden.
Richten Sie entweder eine vom System verwaltete Identität ein (empfohlen), oder generieren Sie die Authentifizierungsdatei des Dienstprinzipals.
Wenn Sie die Kommunikation mit Azure NetApp Files überprüfen, schlägt die Kommunikation möglicherweise fehl, oder es tritt ein Timeout auf. Stellen Sie sicher, dass Firewallregeln den ausgehenden Datenverkehr von dem System nicht blockiert, das AzAcSnap für die folgenden Adressen und TCP/IP-Ports ausführt:
(https://)management.azure.com:443
(https://)login.microsoftonline.com:443
Sie müssen Ihr eigenes selbstsigniertes Zertifikat erstellen und dann den Inhalt der PEM-Datei (Privacy Enhanced Mail) mit dem Microsoft-Betriebsteam teilen, damit sie im Storage-Backend installiert werden kann, damit AzAcSnap sich sicher bei ONTAP authentifizieren kann.
Kombinieren Sie PEM und KEY in einer einzelnen PKCS12-Datei, die von AzAcSnap für die zertifikatbasierte Authentifizierung bei ONTAP benötigt wird.
Testen Sie die PKCS12-Datei mithilfe von curl, um eine Verbindung mit einem der Knoten herzustellen.
Das Microsoft-Betriebsteam stellt den Benutzernamen und die IP-Adresse für den Speicher zum Zeitpunkt der Bereitstellung zur Verfügung.
Aktivieren der Kommunikation mit dem Speicher
In diesem Abschnitt wird erläutert, wie Sie die Kommunikation mit dem Speicher aktivieren. Verwenden Sie die folgenden Registerkarten, um das von Ihnen verwendete Speicher-Back-End korrekt auszuwählen.
Es gibt zwei Möglichkeiten, sich beim Azure Resource Manager mithilfe einer systemseitig verwalteten Identität oder einer Dienstprinzipaldatei zu authentifizieren. Die Optionen werden hier beschrieben.
Systemseitig verwaltete Azure-Identität
Von AzAcSnap 9 aus ist es möglich, eine systemseitig verwaltete Identität anstelle eines Dienstprinzipals für den Betrieb zu verwenden. Die Verwendung dieses Features vermeidet die Notwendigkeit, Anmeldeinformationen des Dienstprinzipals auf einem virtuellen Computer (VM) zu speichern. Führen Sie die folgenden Schritte aus, um eine von Azure verwaltete Identität mithilfe von Azure Cloud Shell einzurichten:
Verwenden Sie in einer Cloud Shell-Sitzung mit Bash das folgende Beispiel, um die Shellvariablen entsprechend festzulegen und auf das Abonnement anzuwenden, in dem Sie die von Azure verwaltete Identität erstellen möchten. Legen Sie SUBSCRIPTION, VM_NAME und RESOURCE_GROUP auf Ihre sitespezifischen Werte fest.
Legen Sie Cloud Shell auf das richtige Abonnement fest:
az account set -s "${SUBSCRIPTION}"
Erstellen Sie die verwaltete Identität für den virtuellen Computer. Der folgende Befehl legt die verwaltete Identität der azAcSnap-VM fest (oder zeigt an, ob sie bereits festgelegt ist):
az vm identity assign --name "${VM_NAME}" --resource-group "${RESOURCE_GROUP}"
Rufen Sie die Prinzipal-ID zum Zuweisen einer Rolle ab:
PRINCIPAL_ID=$(az resource list -n ${VM_NAME} --query [*].identity.principalId --out tsv)
Weisen Sie der Prinzipal-ID die Rolle „Mitwirkender” zu.
az role assignment create --assignee "${PRINCIPAL_ID}" --role "${ROLE}" --scope "${SCOPE}"
Optionale RBAC
Es ist möglich, die Berechtigungen für die verwaltete Identität mithilfe einer benutzerdefinierten Rollendefinition in der rollenbasierten Zugriffssteuerung (RBAC) einzuschränken. Erstellen Sie eine geeignete Rollendefinition für den virtuellen Computer, um Momentaufnahmen verwalten zu können. Sie finden Beispiele für Berechtigungseinstellungen unter Tipps und Tricks zur Verwendung des Tools für konsistente Momentaufnahmen in Azure-Anwendungen.
Weisen Sie die Rolle dann der Azure VM-Prinzipal-ID zu (auch als SystemAssignedIdentity angezeigt):
az role assignment create --assignee ${PRINCIPAL_ID} --role "AzAcSnap on ANF" --scope "${SCOPE}"
Generieren einer Dienstprinzipaldatei
Stellen Sie in einer Cloud Shell-Sitzung sicher, dass Sie bei dem Abonnement angemeldet sind, in dem Sie standardmäßig dem Dienstprinzipal zugeordnet werden möchten:
az account show
Wenn das Abonnement nicht stimmt, verwenden Sie den Befehl az account set:
az account set -s <subscription name or id>
Erstellen Sie einen Dienstprinzipal mithilfe der Azure CLI, wie in diesem Beispiel gezeigt:
az ad sp create-for-rbac --name "AzAcSnap" --role Contributor --scopes /subscriptions/{subscription-id} --sdk-auth
Der Befehl sollte die Ausgabe wie in diesem Beispiel generieren:
Dieser Befehl weist dem Dienstprinzipal automatisch auf Abonnementebene die Rolle „RBAC-Mitwirkender” zu. Sie können den Bereich auf die bestimmte Ressourcengruppe einschränken, in der Ihre Tests die Ressourcen erstellen.
Kopieren Sie den ausgegebenen Inhalt in eine Datei namens azureauth.json, die auf demselben System wie der Befehl azacsnap gespeichert ist. Sichern Sie die Datei mit den entsprechenden Systemberechtigungen.
Stellen Sie sicher, dass das Format der JSON-Datei genau wie im vorherigen Schritt beschrieben ist, wobei die URLs in doppelte Anführungszeichen (") eingeschlossen sein müssen.
Wichtig
In AzAcSnap 10 verwendet die Kommunikation mit Azure Large Instance-Speicher die REST-API über HTTPS. Versionen vor AzAcSnap 10 verwenden die CLI über SSH.
REST-API für Azure Lage Instances über HTTPS
Die Kommunikation mit dem Speicher-Back-End erfolgt über einen verschlüsselten HTTPS-Kanal mithilfe der zertifikatbasierten Authentifizierung. Die folgenden Beispielschritte dienen als Anleitung für die Einrichtung des PKCS12-Zertifikats für diese Kommunikation.
Generieren Sie die PEM- und KEY-Dateien.
Der CN entspricht dem SVM-Benutzernamen, fragen Sie das Microsoft-Betriebsteam nach diesem SVM-Benutzernamen.
In diesem Beispiel verwenden wir svmadmin01 als SVM-Benutzernamen. Ändern Sie ihn bei Bedarf für Ihre Installation.
Generating a RSA private key
........................................................................................................+++++
....................................+++++
writing new private key to 'svmadmin01.key'
-----
Ausgabe des Inhalts der PEM-Datei.
Der Inhalt der PEM-Datei wird zum Hinzufügen der client-ca zum SVM verwendet.
! Senden Sie den Inhalt der PEM-Datei an den BMI-Administrator (Microsoft BareMetal Infrastructure).
Die Datei svmadmin01.p12 wird als Wert für „certificateFile” im Abschnitt „aliStorageResource” der AzAcSnap-Konfigurationsdatei verwendet.
Testen Sie die PKCS12-Datei mit curl.
Nachdem Sie die Bestätigung vom Microsoft-Betriebsteam erhalten haben, dass das Zertifikat auf das SVM angewendet wurde, um die zertifikatbasierte Anmeldung zuzulassen, testen Sie die Konnektivität mit dem SVM.
In diesem Beispiel verwenden wir die PKCS12-Datei „svmadmin01.p12”, um eine Verbindung mit dem SVM-Host „X.X.X.X.X” herzustellen (diese IP-Adresse wird vom Microsoft-Betriebsteam bereitgestellt).
Diese Anweisungen gelten für Versionen vor AzAcSnap 10 und wir aktualisieren diesen Abschnitt nicht mehr regelmäßig.
Die Kommunikation mit dem Speicher-Back-End erfolgt über einen verschlüsselten SSH-Kanal. Die folgenden Beispielschritte dienen als Anleitung für die Einrichtung von SSH für diese Kommunikation:
Ändern Sie die Datei /etc/ssh/ssh_config.
Beachten Sie die folgende Ausgabe, die die Zeile MACs hmac-sha umfasst:
# RhostsRSAAuthentication no
# RSAAuthentication yes
# PasswordAuthentication yes
# HostbasedAuthentication no
# GSSAPIAuthentication no
# GSSAPIDelegateCredentials no
# GSSAPIKeyExchange no
# GSSAPITrustDNS no
# BatchMode no
# CheckHostIP yes
# AddressFamily any
# ConnectTimeout 0
# StrictHostKeyChecking ask
# IdentityFile ~/.ssh/identity
# IdentityFile ~/.ssh/id_rsa
# IdentityFile ~/.ssh/id_dsa
# Port 22
Protocol 2
# Cipher 3des
# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-
cbc
# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd
MACs hmac-sha
# EscapeChar ~
# Tunnel no
# TunnelDevice any:any
# PermitLocalCommand no
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
Verwenden Sie den folgenden Beispielbefehl, um ein Private/Public-Schlüsselpaar zu generieren. Geben Sie beim Generieren eines Schlüssels kein Kennwort ein.
ssh-keygen -t rsa –b 5120 -C ""
Die Ausgabe des Befehls cat /root/.ssh/id_rsa.pub ist der öffentliche Schlüssel. Senden Sie ihn an das Microsoft-Betriebsteam, damit die Momentaufnahmentools mit dem Speichersubsystem kommunizieren können.