Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Stellen Sie eine hybride Cloud-MySQL-Datenbank mit ClusterControl bereit

Eine hybride Cloud-Datenbank ist eine Mischung aus aktiven Hosts, die sich sowohl auf lokalen als auch auf Cloud-Infrastrukturen befinden und als ein einzelnes Betriebssystem arbeiten. Es hilft bei der Implementierung einer Hochverfügbarkeitsumgebung, und da sowohl die Datenbank als auch die Anwendungen portierbar sein müssen, um lokal und in der Cloud zu funktionieren, verringert es auch die Abhängigkeit von einem bestimmten Cloud-Anbieter (Cloud Vendor Lock-in). Die Bereitstellung dieser Art von Umgebung ist jedoch nicht so einfach.

In diesem Blogpost werden wir uns mit der Verwendung von ClusterControl zur Bereitstellung einer hybriden Cloud-MySQL-Datenbank zwischen einer lokalen und einer Cloud-Infrastruktur, die auf AWS ausgeführt wird, befassen. Diese Einrichtung ermöglicht es uns, die Datenbank näher an die Clients und Anwendungen zu bringen, die sich in einer Cloud-Umgebung befinden, und wir werden eine Replik der Datenbank vor Ort für Notfallwiederherstellung und Live-Backup-Zwecke behalten.

Architektur 

Unsere Bereitstellung besteht aus vier Knoten – einem Knoten für ClusterControl und einem Knoten für Master-Server Die anderen beiden Knoten befinden sich in Slave-Servern, wobei sich 2 der Datenbankknoten im AWS-Rechenzentrum als primäres Rechenzentrum (sowie ClusterControl) befinden, während sich der dritte Knoten im lokalen Rechenzentrum befindet. Das folgende Diagramm veranschaulicht unsere endgültige Architektur.

Vorbereiten Ihrer Cloud-Umgebung 

Zunächst müssen Sie Ihre Umgebung bei Ihrem Haupt-Cloud-Anbieter erstellen. In diesem Fall verwenden wir AWS mit drei EC2-Instances.

Wechseln Sie dann zur lokalen Umgebung und erstellen Sie eine virtuelle Maschine oder einen Host, der als Standby-Knoten dient.

ClusterControl - 52.14.222.75

Master - 3.17.190.53

Slave 1 - 3.14.146.131

Slave 2 - 192.168.33.15

Wir gehen davon aus, dass Sie eine ClusterControl-Installation ausführen und bereits Cloud-Provider-Konten erstellt haben. Beachten Sie, dass wir für den Zweck des Blogs Cloud-Instanzen mit öffentlichen IPs verwenden. Für eine produktionstaugliche Einrichtung müssen Sie Ihre Umgebung sichern, z. B. sollten sich Cloud-VMs innerhalb einer VPC mit nur privaten IP-Adressen befinden. Sie hätten eine sichere Verbindung zwischen On-Prem und der VPC.

Bereitstellen von MySQL mit ClusterControl 

Gehen Sie zu Ihrer ClusterControl-GUI und wählen Sie die Option „Bereitstellen“. Wenn Sie bereits eine MySQL-Instanz ausführen, müssen Sie stattdessen „Vorhandenen Server/Datenbank importieren“ auswählen.

Hier werden wir eine neue Bereitstellung durchführen, also wählen wir die Option „Bereitstellen“. Wenn Sie MySQL auswählen, müssen Sie Benutzer, Schlüssel oder Passwort und Port angeben, um sich über SSH mit Ihren MySQL-Knoten zu verbinden .

Weitere Details zur SSH-Konnektivität finden Sie in den ClusterControl-Benutzeranforderungen.

Nach dem Einrichten des SSH-Zugangs müssen Sie den Datenbankbenutzer und die Version festlegen. Datadir ist optional. Sie können auch angeben, welches Repository verwendet werden soll. Hier wählen wir die Version MySQL 8.0.

Stellen Sie sicher, dass ein grünes Häkchen angezeigt wird, das anzeigt, dass ClusterControl eine Verbindung zu den Datenbankknoten herstellen kann, um die Bereitstellung durchzuführen. Klicken Sie auf die Schaltfläche „Bereitstellen“, um die Bereitstellung zu starten, und Sie können den Bereitstellungsfortschritt unter Aktivität -> Jobs -> Cluster erstellen überwachen. Sie können den Erstellungsstatus im Aktivitätsmonitor von ClusterControl überwachen.


 

Sobald die Aufgabe abgeschlossen ist, können Sie Ihr neues MySQL-Setup im Hauptbildschirm von ClusterControl sehen.

Und überprüfen Sie Ihre endgültige Topologie im Abschnitt "Topologieansicht".

Schlussfolgerung 


ClusterControl-Funktionen ermöglichen Ihnen die schnelle Einrichtung einer Replikation in einer Hybrid-Cloud-Umgebung, zwischen verschiedenen Cloud-Anbietern oder sogar zwischen einem Cloud-Anbieter und einer lokalen Umgebung. Über die Kommunikation zwischen den Cloud-Anbietern oder zwischen privater und öffentlicher Cloud müssen Sie aus Sicherheitsgründen den Datenverkehr nur von bekannten Quellen einschränken, um das Risiko eines unbefugten Zugriffs auf Ihr Netzwerk zu verringern.