sql >> Database >  >> RDS >> Mysql

Implementeer een Hybrid Cloud MySQL-database met ClusterControl

Een hybride clouddatabase is een mix van actieve hosts die zich op zowel on-premises als cloudinfrastructuren bevinden en werken als één enkel operationeel systeem. Het helpt bij het implementeren van een omgeving met hoge beschikbaarheid, en aangezien zowel database als applicaties draagbaar moeten zijn om op locatie en in de cloud te kunnen werken, vermindert het ook de afhankelijkheid van een bepaalde cloudleverancier (lock-in van cloudleveranciers). Het implementeren van dit soort omgevingen is echter niet zo eenvoudig.

In deze blogpost gaan we kijken naar het gebruik van ClusterControl om een ​​Hybrid Cloud MySQL-database te implementeren, tussen on-premises en cloudinfrastructuur die draait op AWS. Deze opzet stelt ons in staat de database dichter bij de clients en applicaties in een cloudomgeving te brengen, en we zullen een replica van de database op de locatie bewaren voor noodherstel en live back-updoeleinden.

Architectuur 

Onze implementatie bestaat uit vier knooppunten:één knooppunt voor ClusterControl en één knooppunt voor masterserver andere twee knooppunten bevinden zich in slave-servers, waarbij 2 van de databaseknooppunten zich in het AWS-datacenter bevinden als het primaire datacenter (evenals ClusterControl), terwijl het derde knooppunt zich in het on-premises datacenter bevindt. Het volgende diagram illustreert onze uiteindelijke architectuur.

Uw cloudomgeving voorbereiden 

Eerst moet u uw omgeving maken bij uw belangrijkste cloudprovider. In dit geval gebruiken we AWS met drie EC2-instanties.

Ga vervolgens naar de on-premises omgeving en maak één virtuele machine of host die het standby-knooppunt zal zijn.

ClusterControl - 52.14.222.75

Master - 3.17.190.53

Slave 1 - 3.14.146.131

Slave 2 - 192.168.33.15

We gaan ervan uit dat er een ClusterControl-installatie actief is en dat u al Cloud Provider-accounts hebt aangemaakt. Houd er rekening mee dat we cloudinstanties met openbare IP's gebruiken voor de blog. Voor een setup van productiekwaliteit moet u uw omgeving beveiligen, bijvoorbeeld cloud-VM's moeten zich binnen een VPC bevinden met alleen privé-IP-adressen. U zou een beveiligde verbinding hebben tussen on-prem en de VPC.

MySQL implementeren met ClusterControl 

Ga naar uw ClusterControl GUI en selecteer de optie "Deploy". Als er al een MySQL-instantie actief is, moet u in plaats daarvan "Bestaande server/database importeren" selecteren.

Hier gaan we een nieuwe implementatie doen, dus we selecteren de optie "Deploy". Wanneer u MySQL selecteert, moet u de gebruiker, sleutel of wachtwoord en poort specificeren om via SSH verbinding te maken met uw MySQL-knooppunten .

Raadpleeg de gebruikersvereisten van ClusterControl voor meer informatie over de SSH-connectiviteit.

Na het instellen van de SSH-toegang, moet u de databasegebruiker en -versie definiëren. Datadir is optioneel. U kunt ook aangeven welke repository u wilt gebruiken. Hier kiezen we voor MySQL 8.0-versie.

Zorg ervoor dat u een groen vinkje krijgt dat aangeeft dat ClusterControl verbinding kan maken met de databaseknooppunten om de implementatie uit te voeren. Klik op de knop "Deploy" om de implementatie te starten en u kunt de voortgang van de implementatie volgen onder Activiteit -> Taken -> Cluster maken. U kunt de aanmaakstatus volgen in de ClusterControl-activiteitenmonitor.


 

Zodra de taak is voltooid, kunt u uw nieuwe MySQL-configuratie zien in het hoofdscherm van ClusterControl.

En controleer uw uiteindelijke topologie in de sectie Topologieweergave.

Conclusie 


ClusterControl-functies stellen u in staat om snel replicatie op te zetten in een hybride cloudomgeving, tussen verschillende cloudproviders of zelfs tussen een cloudprovider en een on-prem-omgeving. Over de communicatie tussen de cloudproviders, of tussen private en public cloud, moet u om veiligheidsredenen het verkeer alleen van bekende bronnen beperken, om het risico van ongeautoriseerde toegang tot uw netwerk te verminderen.


  1. Problemen met de postgresql COPY-opdracht met Rails op een andere server

  2. CDC inschakelen op een reeks tabellen OF inschakelen op alle tabellen in een database in SQL Server - SQL Server-zelfstudie

  3. SQL VIEW

  4. PostgreSQL-kolom bestaat niet, maar bestaat wel