sql >> Databasteknik >  >> RDS >> Mysql

Multi-cloud-distribution för MySQL-replikering

Under de senaste åren har användningen av plattformsinfrastruktur skiftat från on-premise till cloud computing. Detta baseras på frånvaron av kostnadskapitalkostnader som företaget måste ådra sig om de används vid implementering av IT-infrastruktur. Cloud computing ger flexibilitet i varje linje av resurser, dvs. på mänskliga resurser, energi, tidsbesparingar.

Cloud computing gör det enkelt för organisationer att göra IT-planering, genomförande och underhåll av plattformar för att stödja affärsintressen.

Men båda har likheter, vi var tvungna att tänka på BCP (Business Continuity Plan) och Disaster Recovery Plan (DRP) när vi använde molnet. Datalagring blir kritisk när vi pratar om DRP, hur snabbt vi gör återställning (Recovery Point Objective) när en katastrof inträffar. Flermolnarkitektur spelar en stor roll när vi vill designa och implementera infrastruktur i molnmiljön. I den här bloggen granskar vi den relaterade multimolninstallationen för att lagra data i MySQL.

Miljöinställningar i molnet

Den här gången använder vi Amazon Web Service (AWS), som används flitigt av företag, och Google Cloud Platform (GCP) som den andra molnleverantören i en databas med flera moln. Att göra instanser (termen som används i molnberäkningar för nya virtuella maskiner) på AWS är väldigt enkelt.

AWS använder termen Amazon EC2 (Elastic Compute Cloud) för sin beräkningsinstanstjänst. Du kan logga in på AWS och sedan välja EC2-tjänst.

Här är en visning av en instans som har tillhandahållits med EC2.

Av säkerhetsskäl, som är den största oro för molntjänster, se till att vi endast aktiverar portar som behövs när du distribuerar ClusterControl, såsom SSH-port (22), xtrabackup (9999) och databas ( 3306) är säkrade men tillgängliga för alla molnleverantörer. Ett sätt att implementera sådan anslutning skulle vara att skapa ett VPN som skulle koppla samman instanser i AWS med instanser i GCP. Tack vare en sådan design kan vi behandla alla instanser som lokala, även om de finns hos olika molnleverantörer. Vi kommer inte att beskriva exakt processen för att ställa in VPN, så kom ihåg att den distribution vi presenterar inte är lämplig för verklig produktion. Det är bara för att illustrera möjligheter som kommer med ClusterControl och multi-cloud-inställningar.

När du har slutfört AWS EC2-installationen fortsätter du med att ställa in beräkningsinstansen i GCP, i GCP kallas beräkningstjänsten Compute Engine.

I det här exemplet kommer vi att skapa 1 instans i GCP-molnet som kommer att användas som en av slavarna.

När det är klart kommer det att visas i hanteringskonsolen enligt nedan:

Se till att du säkrar och aktiverar port SSH-port (22), xtrabackup ( 9999) och databas (3306).

Efter att ha implementerat instanser i både AWS och GCP bör vi fortsätta med installationen av ClusterControl på en av instanserna i molnleverantören, där mastern kommer att finnas. I det här exemplet kommer vi att använda en av AWS-instanserna som Master.

Implementering av MySQL-replikering på Amazon Web Service 

För att installera ClusterControl bör du följa enkla instruktioner som du kan hitta på Severalnines hemsida. När ClusterControl väl är igång i molnleverantören där vår master kommer att finnas (i det här exemplet kommer vi att använda AWS för vår huvudnod) kan vi starta implementeringen av MySQL-replikering med ClusterControl. Det finns följande steg du måste ta för att installera MySQL-replikeringskluster:

Öppna ClusterControl och välj sedan MySQL-replikering, du kommer att se tre formulär som måste fyllas i för installationsändamålet

Allmänna och SSH-inställningar

Ange SSH-användare, nyckel och lösenord, SSH-port och namnet på klustret

Välj sedan "Fortsätt"

Definiera MySQL-servrar 

Välj leverantör, versionsnummer och root-lösenord för MySQL och klicka sedan på "Fortsätt"

Definiera topologi

Som ni minns har vi två noder skapade i AWS. Vi kan använda båda här. Den ene ska vara vår herre, den andra ska läggas till som slav. Sedan kan vi fortsätta med 'Deploy'

Om du vill, och om molnöverskridande anslutning redan är på plats, kan du också ställa in GCP-instansens IP-adress under 'Lägg till slavar till master A' och fortsätt sedan med ' Distribuera'. På detta sätt kommer ClusterControl att distribuera master och båda slavarna samtidigt.

När du har startat distributionen kan du övervaka framstegen på fliken Aktivitet. Du kan se exemplet på förloppsmeddelanden nedan. Nu är det dags att vänta tills jobbet är klart.

När det är klart kan du se det nyskapade klustret med namnet "Cloud" MySQL-replikering”.

Om du redan har lagt till GCP-nod som en andra slav i distributionsguiden, du har redan slutfört Master-Slaves-konfigurationen mellan AWS- och GCP-instanser.

Om inte kan du lägga till GCP-slaven till det körande klustret. Se till att anslutningen är på plats innan du fortsätter.

Lägg till en ny slav från Google Cloud Platform

Efter att MySQL-replikering på AWS har skapats kan du fortsätta genom att lägga till din nod i GCP som en ny slav. Du kan åstadkomma det genom att utföra följande steg::

  1.  
  1. På klusterlistan hittar du ditt nya kluster och klickar sedan på och  välj "Lägg till replikeringsslav"
      1.  
      1.  
  2. Guiden Lägg till replikeringsslav kommer att visas, som du kan se nedan.
  3. Fortsätt genom att välja  IP-adressen för huvudinstansen (finns i AWS)  och ange IP-adressen och porten för GCP-instansen som du vill använda som slav i rutan ‘Slavvärdnamn/IP’. När du har fyllt i allt kan du fortsätta med att klicka på "Lägg till replikeringsslav".

Som tidigare kan du övervaka framstegen på aktivitetsfliken. Nu är det dags att vänta tills jobbet är klart.

När distributionen är klar kan vi kontrollera klustret på topologifliken.

Du kan se topologin för vårt Master-Slave-kluster nedan.

Som du kan se har vi en master och en slav i AWS och vi har också en slav i GCP, vilket gör det lättare för vår databas att överleva eventuella avbrott som inträffar i en av våra molnleverantörer.

Slutsats

För den höga tillgängligheten för databastjänster tar en distribution av flera moln en mycket viktig roll för att få det att hända. ClusterControl skapas för att navigera i den här processen och göra det enklare för användaren att hantera multimolninstallationer.

En av de kritiska sakerna att tänka på när du gör Multi-Cloud Deployment är säkerhetsaspekter. Som vi nämnde tidigare kan du konfigurera en VPN-plats till webbplats mellan de två molnleverantörerna som den bästa praxis som kan tillämpas. Det finns också andra alternativ som SSH-tunnlar.


  1. Enkel rekursiv fråga i Oracle

  2. Infoga data i 3 tabeller åt gången med Postgres

  3. MySQL Snabbtips:Använd funktionen DAYOFWEEK

  4. Kör en PostgreSQL .sql-fil med kommandoradsargument