sql >> Database teknologi >  >> RDS >> Mysql

Multi-Cloud-implementering til MySQL-replikering

I de seneste år er brugen af ​​platformsinfrastruktur skiftet fra on-premise til cloud computing. Dette er baseret på fraværet af omkostningskapitalomkostninger, som virksomheden skal afholde, hvis de anvendes ved implementering af IT-infrastruktur. Cloud computing giver fleksibilitet i hver linje af ressourcer, dvs. på menneskelige ressourcer, energi, tidsbesparelser.

Cloud computing gør det nemt for organisationer at lave it-planlægning, eksekvering og vedligeholdelse af platforme for at understøtte forretningsinteresser.

Men begge har ligheder, vi var nødt til at tænke på BCP (Business Continuity Plan) og Disaster Recovery Plan (DRP), når vi brugte skyen. Datalagring bliver kritisk, når vi taler om DRP, hvor hurtigt vi laver gendannelse (Recovery Point Objective), når en katastrofe opstår. Multi-cloud-arkitektur spiller en stor rolle, når vi ønsker at designe og implementere infrastruktur i cloud-miljøet. I denne blog gennemgår vi den relaterede multi-cloud-implementering til lagring af data i MySQL.

Opsætning af miljø i skyen

Denne gang bruger vi Amazon Web Service (AWS), som er meget brugt af virksomheder, og Google Cloud Platform (GCP) som den anden cloud-udbyder i en multi-cloud-databaseopsætning. At lave forekomster (udtrykket, der bruges i cloud computing til nye virtuelle maskiner) på AWS er ​​meget ligetil.

AWS bruger udtrykket Amazon EC2 (Elastic Compute Cloud) til deres computerforekomsttjeneste. Du kan logge ind på AWS og derefter vælge EC2-tjeneste.

Her er visningen af ​​en forekomst, der er blevet klargjort med EC2.

Af sikkerhedsmæssige årsager, som er den største bekymring for cloud-tjenester, skal du sørge for, at vi kun aktiverer porte, der er nødvendige ved implementering af ClusterControl, såsom SSH-port (22), xtrabackup (9999) og database ( 3306) er sikret, men kan nås på tværs af cloud-udbyderne. En måde at implementere en sådan forbindelse på ville være at oprette en VPN, der forbinder instanser i AWS med instanser i GCP. Takket være et sådant design kan vi behandle alle forekomster som lokale, selvom de er placeret i forskellige cloud-udbydere. Vi vil ikke beskrive nøjagtigt processen med at konfigurere VPN, så husk, at den implementering, vi præsenterer, ikke er egnet til produktion i den virkelige verden. Det er kun for at illustrere muligheder, der følger med ClusterControl og multi-cloud opsætninger.

Når du har gennemført AWS EC2-opsætningen, skal du fortsætte med at opsætte computerforekomsten i GCP, i GCP kaldes compute-tjenesten Compute Engine.

I dette eksempel vil vi oprette 1 forekomst i GCP-skyen, som vil bruges som en af ​​slaverne.

Når det er gennemført, vil det blive vist i administrationskonsollen som nedenfor:

Sørg for at sikre og aktivere port SSH-port (22), xtrabackup ( 9999) og database (3306).

Efter at have implementeret forekomster i både AWS og GCP, bør vi fortsætte med installationen af ​​ClusterControl på en af ​​forekomsterne i cloud-udbyderen, hvor masteren vil være placeret. I denne eksempelopsætning vil vi bruge en af ​​AWS-instanserne som Master.

Implementering af MySQL-replikering på Amazon Web Service 

For at installere ClusterControl skal du følge enkle instruktioner, som du kan finde på Severalnines hjemmeside. Når ClusterControl er oppe og køre i cloud-udbyderen, hvor vores master skal være placeret (i dette eksempel vil vi bruge AWS til vores masterknude), kan vi starte implementeringen af ​​MySQL-replikering ved hjælp af ClusterControl. Der er følgende trin, du skal tage for at installere MySQL-replikeringsklynge:

Åbn ClusterControl og vælg derefter MySQL-replikering, du vil se tre formularer, der skal udfyldes til installationsformålet

Generelle og SSH-indstillinger

Indtast SSH User, Key and Password, SSH Port og navnet på klyngen

Vælg derefter 'Fortsæt'

Definer MySQL-servere 

Vælg leverandør, versionsnummer og root-adgangskode for MySQL, og klik derefter på 'Fortsæt'

Definer topologi

Som du husker, har vi to noder oprettet i AWS. Vi kan bruge dem begge her. Den ene skal være vores herre, den anden skal tilføjes som slave. Så kan vi fortsætte med 'Deploy'

Hvis du vil, og hvis cross-cloud-forbindelsen allerede er på plads, kan du også indstille GCP-forekomstens IP-adresse under 'Tilføj slaver til master A' og fortsæt med ' Indsætte'. På denne måde vil ClusterControl implementere master og begge slaver på samme tid.

Når du har startet installationen, kan du overvåge fremskridtene på fanen Aktivitet. Du kan se eksemplet på statusmeddelelserne nedenfor. Nu er det tid til at vente, indtil jobbet er fuldført.

Når den er fuldført, kan du se den nyoprettede klynge med navnet "Cloud" MySQL-replikering”.

Hvis du allerede har tilføjet GCP-node som en anden slave i implementeringsguiden, du har allerede gennemført Master-Slaves-opsætningen mellem AWS- og GCP-instanser.

Hvis ikke, kan du tilføje GCP-slaven til den kørende klynge. Sørg for, at forbindelsen er på plads, før du fortsætter.

Tilføj en ny slave fra Google Cloud Platform

Efter MySQL-replikering på AWS er ​​blevet oprettet, kan du fortsætte ved at tilføje din node i GCP som en ny slave. Du kan opnå det ved at udføre følgende trin::

  1.  
  1. Find din nye klynge på klyngelisten, og klik derefter på og  vælg 'Tilføj replikeringsslave'
      1.  
      1.  
  2. Guiden Tilføj replikeringsslave vises, som du kan se nedenfor.
  3. Fortsæt ved at vælge  IP-adressen for Master Instance (placeret i AWS)  og indtast IP-adressen og porten for GCP-instansen, som du vil bruge som slave, i feltet ‘Slave Hostname/IP’. Når du har udfyldt alt, kan du fortsætte med at klikke på 'Tilføj replikeringsslave'.

Som før kan du overvåge fremskridtene i aktivitetsfanen. Nu er det tid til at vente, indtil jobbet er fuldført.

Når implementeringen er færdig, kan vi tjekke klyngen i topologi-fanen.

Du kan se topologien for vores Master-Slave-klynge nedenfor.

Som du kan se, har vi en master og en slave i AWS og vi har også en slave i GCP, hvilket gør det nemmere for vores database at overleve eventuelle udfald, der sker i en af ​​vores cloud-udbydere.

Konklusion

For den høje tilgængelighed af databasetjenester spiller en multi-cloud-implementering en meget vigtig rolle for at få det til at ske. ClusterControl er oprettet for at navigere i denne proces og gøre det nemmere for brugeren at administrere multi-cloud-implementeringerne.

En af de kritiske ting at overveje, når du udfører Multi-Cloud Deployment, er sikkerhedsaspekter. Som vi nævnte tidligere, kan du konfigurere et VPN-sted til websted mellem de to cloud-udbydere som den bedste praksis, der kan anvendes. Der er også andre muligheder som SSH-tunneler.


  1. CLR Strenge sikkerhed på SQL Server 2017

  2. SQL Server Failover Cluster Installation -4

  3. Tilsidesæt Query Optimizer til dine T-SQL-joins med FORCEPLAN

  4. Database modellering