Wie man DataSunrise mit Terraform-Template auf Azure bereitstellt
Zuvor haben wir beschrieben, wie man DataSunrise auf Microsoft Azure mit dem Azure Resource Manager konfiguriert. Da die Hochverfügbarkeitskonfiguration eine genaue Implementierung der Einstellungen mit allen korrekt angewendeten Abhängigkeiten erfordert, besteht kein Zweifel daran, dass Templates nützlich sind. Ohne sie könnte die Produktinstallation viel mehr Zeit in Anspruch nehmen, da auch die Wartung einer zuverlässigen und stabilen Lösung zur Ausführung der Produktumgebung einbezogen werden muss. Um solche Unannehmlichkeiten zu vermeiden, bietet DataSunrise ein dediziertes Skript für die Bereitstellung der HA-Infrastruktur innerhalb des Microsoft Azure-Dienstes basierend auf einem Terraform-Template. Der Bereitstellungsprozess ist automatisiert und erfordert keine zusätzlichen manuellen Anpassungen.
Die DataSunrise-Infrastruktur umfasst:
- Eigene virtuelle Netzwerke, in denen Subnetze gespeichert sind.
- DataSunrise-Autoscaling-Knoten (Instanzen).
- Konfigurations- und Audit-Speicher basierend auf Azure-Datenbanken.
- Der Load Balancer von Azure wird verwendet, um den Datenverkehr zwischen den vorhandenen Knoten zu verteilen.
- ScaleSet umfasst die Konfiguration des Failover-Clusters.
- Key Vault wird verwendet, um Anmeldeinformationen für Ressourcen zu speichern.
All diese Komponenten befinden sich in einem eigenen virtuellen Netzwerk mit dem angegebenen Subnetz.
Vorbereitung für die Bereitstellung des Terraform-Templates
Einige Entitäten sollten vor dem Bereitstellungsprozess in Ihrer Azure-Umgebung vorhanden sein. Hier ist die Liste der erforderlichen Elemente:
- AZ CLI ist installiert.
- Heruntergeladen/Installiert Terraform CLI.
- Speicherkonto mit einem zugänglichen Container, in dem der DataSunrise-Build gespeichert ist, oder ein Ort, von dem Sie den DataSunrise-Build herunterladen können.
Wichtig:
Ihr Azure-Kontozuordnungsabonnement sollte der Rolle „Eigentümer“ zugewiesen sein, um die Verwendung der Managed Identity-Ressource zu aktivieren, um eine Verbindung zur Azure-CLI herzustellen und die erforderlichen Azure-Ressourcen für die erfolgreiche Implementierung von DataSunrise bereitzustellen. Sie können dies überprüfen unter Abonnements -> <Ihr-Abonnement> -> Zugriffskontrolle -> Rollenzuweisungen.
Bereitstellung eines Terraform-Templates
Registrieren oder wählen Sie eine vorhandene App aus und geben Sie “CLIENT_ID”, “CLIENT_SECRET”, “SUBSCRIPTION_ID”, “TENANT_ID” an.
Terraform-Skript
Laden Sie das Terraform-Skript aus dem Repository herunter, um DataSunrise in einer HA-Konfiguration bereitzustellen. Öffnen Sie die Datei terraform.tfvars und ersetzen Sie dort xxxxxxxxx durch Werte, die Ihrer Umgebung entsprechen:
Öffnen Sie die Konsole und setzen Sie diese Umgebungsvariablen:
Set ARM_CLIENT_ID="SET-CLIENT-KEY-HERE" Set ARM_CLIENT_SECRET="SET-CLIENT-SECRET-HERE" Set ARM_SUBSCRIPTION_ID="SET-SUBSCRIPTION-ID-HERE" Set ARM_TENANT_ID="SET-TENANT-ID-HERE"
Wichtig: Auf Windows müssen Sie die heruntergeladene ausführbare Datei, terraform.exe, in den scripts-Ordner kopieren.
Terraform-Befehle
Der Befehl terraform init.
Dieser Befehl wird verwendet, um ein Arbeitsverzeichnis mit Terraform-Konfigurationsdateien zu initialisieren. Dies ist der erste Befehl, der nach dem Einrichten einer neuen Terraform-Konfiguration oder dem Klonen einer bestehenden Konfiguration aus der Versionskontrolle ausgeführt werden sollte. Es ist sicher, diesen Befehl mehrmals auszuführen.
Der Befehl terraform plan.
Dieser Befehl erstellt einen Ausführungsplan, mit dem Sie die Änderungen, die Terraform an Ihrer Infrastruktur vornehmen will, vorschauen können. Standardmäßig führt Terraform beim Erstellen eines Plans Folgendes aus:
- Liest den aktuellen Status aller bereits vorhandenen Remote-Objekte, um sicherzustellen, dass der Terraform-Status aktuell ist.
- Vergleicht die aktuelle Konfiguration mit dem vorherigen Status und notiert alle Unterschiede.
- Schlägt eine Reihe von Änderungsaktionen vor, die, wenn sie angewendet werden, die Remote-Objekte so anpassen, dass sie der Konfiguration entsprechen.
Der Befehl terraform apply.
Dieser Befehl führt die im Terraform-Plan vorgeschlagenen Aktionen aus.
Der Befehl terraform destroy.
Dieser Befehl zerstört die erstellte Umgebung. Darüber hinaus ist es eine bequeme Möglichkeit, alle Remote-Objekte, die von einer bestimmten Terraform-Konfiguration verwaltet werden, zu löschen. Zusätzlich ermöglicht der Befehl terraform destroy, alle temporären Objekte bequem zu bereinigen, sobald Sie Ihre Arbeit abgeschlossen haben.
Abschluss der Bereitstellung
Nach der Ausführung von terraform apply dauert die Ressourcenerstellung etwa 10-15 Minuten und die weitere Konfiguration und Installation zusätzlicher Bibliotheken etwa 15-20 Minuten.
Sie können alle erstellten Ressourcen in der erstellten Ressourcengruppe mit dem Namen sehen, der im terraform.tfvars – Präfix festgelegt wurde.
Wenn alle Ressourcen erfolgreich bereitgestellt wurden, werden sie innerhalb der Ressourcengruppe aufgelistet:
Fehlerbehebung
Wenn Ihr Server längere Zeit nicht verfügbar ist, können Sie über SSH mit dem im terraform.tfvars-Datei angegebenen Benutzernamen und Passwort auf die erstellte virtuelle Maschine zugreifen. Nachdem Sie eine Verbindung hergestellt haben, führen Sie den Befehl sudo cat /var/log/cloud-init-output.log aus und sehen Sie den Grund für die falsche Installation des Servers.
Verbindung zur DataSunrise-Web-Konsole
Um eine Verbindung zur DataSunrise-Webkonsole herzustellen, verwenden Sie die öffentliche IP-Adresse des Load-Balancers. Es wird automatisch eine Verbindung zu einem der konfigurierten Knoten herstellen. Sie müssen diese IP-Adresse auch verwenden, um eine Verbindung zu Ihrer Zieldatenbank über einen Proxy herzustellen und um eine Verbindung zu Ihrer virtuellen Maschine mit SSH herzustellen.
Die Ziel-DB wird automatisch zu den DataSunrise-Einstellungen hinzugefügt: