Wie man DataSunrise mit Terraform-Template auf Azure bereitstellt
Früher haben wir beschrieben, wie man DataSunrise auf Microsoft Azure mit Azure Resource Manager konfiguriert. Da die Hochverfügbarkeitskonfiguration eine genaue Einrichtung mit allen korrekt angewendeten Abhängigkeiten erfordert, besteht kein Zweifel daran, dass Vorlagen nützlich sind. Ohne sie könnte die Produktinstallation viel mehr Zeit in Anspruch nehmen, einschließlich der Wartung einer zuverlässigen und stabilen Lösung zum Betrieb der Produktumgebung. Um solche Unannehmlichkeiten zu vermeiden, stellt DataSunrise ein dediziertes Skript für die Bereitstellung der HA-Infrastruktur innerhalb des Microsoft Azure-Dienstes basierend auf einem Terraform-Template bereit. Der Bereitstellungsprozess ist automatisiert und erfordert keine zusätzlichen manuellen Anpassungen.
Die DataSunrise-Infrastruktur umfasst:
- Ein benutzerdefiniertes virtuelles Netzwerk, in dem Subnetze gespeichert sind.
- Automatisch skalierende DataSunrise-Knoten (Instanzen).
- Konfigurations- und Audit-Speicher basierend auf Azure-Datenbanken.
- Azure’s Load Balancer wird verwendet, um den Traffic zwischen den aktiven Knoten zu verteilen.
- ScaleSet umfasst die Konfiguration des Failover-Clusters.
- Key Vault wird verwendet, um Zugangsdaten für Ressourcen zu speichern.
Alle diese Komponenten befinden sich in einem benutzerdefinierten virtuellen Netzwerk mit dem angegebenen Subnetz.
Vorbereitung zur Bereitstellung des Terraform-Templates
Einige Entitäten sollten in Ihrer Azure-Umgebung vorhanden sein, bevor der Bereitstellungsprozess beginnt. Hier ist die Liste der erforderlichen Elemente:
- AZ CLI ist installiert.
- Heruntergeladen/Installiert Terraform CLI.
- Ein Speicherkonto mit einem zugänglichen Container mit integriertem DataSunrise-Build oder einem beliebigen Ort, von dem aus Sie den DataSunrise-Build herunterladen können.
Wichtig:
Ihr Azure-Kontoberechtigungsabonnement sollte der Rolle “Besitzer” zugewiesen sein, um die Verwendung der verwalteten Identitätsressource zur Verbindung mit Azure CLI und zur Bereitstellung der erforderlichen Azure-Ressourcen für eine erfolgreiche DataSunrise-Implementierung zu ermöglichen. Sie können dies unter Abonnements -> <Ihr-Abonnement> -> Zugriffskontrolle -> Rollenzuweisungen überprüfen.
Bereitstellung eines Terraform-Templates
Registrieren oder wählen Sie eine vorhandene App aus und geben Sie “CLIENT_ID”, “CLIENT_SECRET”, “SUBSCRIPTION_ID” und “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 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 zu initialisieren, das Terraform-Konfigurationsdateien enthält. Dies ist der erste Befehl, der nach dem Einrichten einer neuen Terraform-Konfiguration oder dem Klonen einer bestehenden 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 tut Terraform beim Erstellen eines Plans Folgendes:
- Li liest den aktuellen Status aller bereits vorhandenen Remote-Objekte, um sicherzustellen, dass der Terraform-Status auf dem neuesten Stand ist.
- Vergleicht die aktuelle Konfiguration mit dem vorherigen Status und notiert alle Unterschiede.
- Schlägt eine Reihe von Änderungsaktionen vor, die, falls angewendet, die Remote-Objekte an die Konfiguration anpassen sollten.

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. Außerdem ist es eine bequeme Möglichkeit, alle von einer bestimmten Terraform-Konfiguration verwalteten Remote-Objekte zu zerstören. Darüber hinaus ermöglicht der Befehl terraform destroy, alle temporären Objekte nach Abschluss der Arbeit bequem aufzuräumen.
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 in terraform.tfvars – Präfix festgelegt wurde.
Wenn alle Ressourcen erfolgreich bereitgestellt wurden, werden sie innerhalb der Ressourcengruppe aufgelistet:

Debugging
Wenn Ihr Server längere Zeit nicht verfügbar ist, können Sie sich über SSH mit dem erstellten virtuellen Computer verbinden, indem Sie den Benutzernamen und das Passwort verwenden, die in der Datei terraform.tfvars angegeben sind. Nach der Verbindung führen Sie den Befehl sudo cat /var/log/cloud-init-output.log aus und sehen den Grund für die fehlerhafte Installation des Servers.
Verbindung zur DataSunrise Web-UI
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 hergestellt. Sie müssen diese IP-Adresse auch verwenden, um eine Verbindung zu Ihrer Zieldatenbank über einen Proxy herzustellen und sich über SSH mit Ihrer virtuellen Maschine zu verbinden.
Die Zieldatenbank wird automatisch zu den Einstellungen von DataSunrise hinzugefügt:
