sql >> Database >  >> RDS >> Mysql

Multi-cloudimplementatie voor MySQL-replicatie

In de afgelopen jaren is het gebruik van platforminfrastructuur verschoven van on-premise naar cloud computing. Dit is gebaseerd op het ontbreken van kostenkapitaalkosten die het bedrijf moet maken als het wordt gebruikt bij het implementeren van de IT-infrastructuur. Cloud computing biedt flexibiliteit in elke lijn van resources, dwz. op human resources, energie, tijdsbesparing.

Cloud computing maakt het voor organisaties gemakkelijk om IT-platforms te plannen, uit te voeren en te onderhouden om zakelijke belangen te ondersteunen.

Maar beide hebben overeenkomsten, we moesten bij het gebruik van de cloud nadenken over BCP (Business Continuity Plan) en Disaster Recovery Plan (DRP). Gegevensopslag wordt van cruciaal belang als we het hebben over DRP, hoe snel we herstel uitvoeren (Recovery Point Objective) wanneer zich een ramp voordoet. Multi-cloudarchitectuur speelt een grote rol wanneer we infrastructuur in de cloudomgeving willen ontwerpen en implementeren. In deze blog bespreken we de gerelateerde multi-cloud-implementatie voor het opslaan van gegevens in MySQL.

Omgeving instellen in de cloud

Deze keer gebruiken we Amazon Web Service (AWS), dat veel wordt gebruikt door bedrijven, en Google Cloud Platform (GCP) als de tweede cloudprovider in een multi-clouddatabaseconfiguratie. Het maken van instances (de term die in cloud computing wordt gebruikt voor nieuwe virtuele machines) op AWS is heel eenvoudig.

AWS gebruikt de term Amazon EC2 (Elastic Compute Cloud) voor hun computerinstantieservice. U kunt inloggen op AWS en vervolgens de EC2-service selecteren.

Dit is de weergave van een instantie die is ingericht met EC2.

Om veiligheidsredenen, de grootste zorg van cloudservices, moet u ervoor zorgen dat we alleen poorten inschakelen die nodig zijn bij de implementatie van ClusterControl, zoals SSH-poort (22), xtrabackup (9999) en database ( 3306) zijn beveiligd maar bereikbaar via alle cloudproviders. Een manier om dergelijke connectiviteit te implementeren, zou zijn om een ​​VPN te maken die instanties in AWS zou verbinden met instanties in GCP. Dankzij een dergelijk ontwerp kunnen we alle instanties als lokaal behandelen, ook al bevinden ze zich in verschillende cloudproviders. We zullen niet precies het proces van het opzetten van VPN beschrijven. Houd er daarom rekening mee dat de implementatie die we presenteren niet geschikt is voor productie in de echte wereld. Het is alleen bedoeld om de mogelijkheden van ClusterControl en multi-cloudopstellingen te illustreren.

Ga na het voltooien van de AWS EC2-installatie verder met het instellen van de rekeninstantie in GCP, in GCP wordt de rekenservice Compute Engine genoemd.

In dit voorbeeld maken we 1 instantie in de GCP-cloud die worden gebruikt als een van de slaven.

Als het klaar is, wordt het als volgt weergegeven in de beheerconsole:

Zorg ervoor dat u poort SSH-poort (22) beveiligt en inschakelt, xtrabackup ( 9999) en database (3306).

Nadat we instanties in zowel AWS als GCP hebben geïmplementeerd, moeten we doorgaan met de installatie van ClusterControl op een van de instanties in de cloudprovider, waar de master zich bevindt. In deze voorbeeldopstelling gebruiken we een van de AWS-instanties als de master.

Deployment MySQL-replicatie op Amazon Web Service 

Om ClusterControl te installeren, moet u de eenvoudige instructies volgen die u kunt vinden op de website van verschillendenines. Zodra ClusterControl actief is in de cloudprovider waar onze master zich zal bevinden (in dit voorbeeld zullen we AWS gebruiken voor onze masternode), kunnen we de implementatie van MySQL-replicatie starten met behulp van ClusterControl. Er zijn de volgende stappen die u moet nemen om MySQL-replicatiecluster te installeren:

Open ClusterControl en selecteer vervolgens MySQL-replicatie. U zult zien dat er drie formulieren moeten worden ingevuld voor de installatie

Algemene en SSH-instellingen

Voer SSH-gebruiker, sleutel en wachtwoord, SSH-poort en de naam van het cluster in

Selecteer vervolgens 'Doorgaan'

MySQL-servers definiëren 

Selecteer leverancier, versienummer en root-wachtwoord van MySQL en klik vervolgens op 'Doorgaan'

Topologie definiëren

Zoals je je herinnert, hebben we twee knooppunten gemaakt in AWS. We kunnen ze hier allebei gebruiken. De ene zal onze meester zijn, de andere moet als slaaf worden toegevoegd. Dan kunnen we doorgaan met 'Deploy'

Als je wilt, en als de cross-cloud-connectiviteit al aanwezig is, kun je ook het IP-adres van de GCP-instantie instellen onder 'Slavers toevoegen aan master A' en vervolgens doorgaan met ' Aanwenden'. Op deze manier zal ClusterControl master en beide slaves tegelijkertijd inzetten.

Zodra de implementatie is gestart, kunt u de voortgang volgen op het tabblad Activiteit. Hieronder ziet u het voorbeeld van de voortgangsberichten. Nu is het tijd om te wachten tot de klus is geklaard.

Zodra het is voltooid, kunt u het nieuw gemaakte cluster met de naam "Cloud MySQL-replicatie”.

Als u de GCP-node al als tweede slave heeft toegevoegd in de implementatiewizard, je hebt de Master-Slaves-configuratie tussen AWS en GCP-instanties al voltooid.

Zo niet, dan kunt u de GCP-slave toevoegen aan het actieve cluster. Zorg ervoor dat de verbinding aanwezig is voordat u verder gaat.

Een nieuwe slaaf toevoegen vanuit Google Cloud Platform

Nadat MySQL-replicatie op AWS is gemaakt, kunt u doorgaan door uw node in GCP toe te voegen als een nieuwe slave. U kunt dat bereiken door de volgende stappen uit te voeren:

  1.  
  1. Zoek in de clusterlijst uw nieuwe cluster en klik vervolgens op en  selecteer 'Replicatieslave toevoegen'
      1.  
      1.  
  2. De wizard
  3. Add Replication Slave' verschijnt, zoals u hieronder kunt zien.
  4. Ga verder door het IP-adres van de hoofdinstantie (in AWS) te kiezen en het IP-adres en de poort van de GCP-instantie in te voeren die u als slave wilt gebruiken in het vak 'Slavehostnaam/IP'. Als je alles hebt ingevuld, kun je verder gaan met het klikken op 'Replicatieslave toevoegen'.

Zoals voorheen kunt u de voortgang volgen op het tabblad Activiteit. Nu is het tijd om te wachten tot de klus is geklaard.

Zodra de implementatie is voltooid, kunnen we het cluster controleren op het tabblad Topologie.

U kunt de topologie van ons Master-Slave-cluster hieronder bekijken.

Zoals je kunt zien, hebben we een master en een slave in AWS en we hebben ook een slaaf in GCP, waardoor het voor onze database gemakkelijker wordt om eventuele uitval bij een van onze cloudproviders te overleven.

Conclusie

Voor de hoge beschikbaarheid van databaseservices speelt een multi-cloudimplementatie een zeer belangrijke rol om dit mogelijk te maken. ClusterControl is gemaakt om door dit proces te navigeren en het voor de gebruiker gemakkelijker te maken om de multi-cloud-implementaties te beheren.

Een van de kritieke dingen om te overwegen bij het uitvoeren van Multi-Cloud-implementatie zijn beveiligingsaspecten. Zoals we eerder vermeldden, kunt u een VPN-site-naar-site instellen tussen de twee cloudproviders als de best practice die kan worden toegepast. Er zijn ook andere opties zoals SSH-tunnels.


  1. SQL Server-statistieken bijwerken voor grote tabellen

  2. Exporteer SQLite-database naar XML-bestand

  3. Configuraties opslaan in Android

  4. MariaDB Cluster offline installatie voor CentOS