sql >> Databáze >  >> RDS >> Mysql

Multi-Cloud Deployment pro replikaci MySQL

V posledních letech se používání infrastruktury platforem přesunulo z on-premise na cloud computing. To je založeno na absenci nákladových kapitálových nákladů, které musí společnost vynaložit, pokud jsou použity při implementaci IT infrastruktury. Cloud computing poskytuje flexibilitu v každé řadě zdrojů, tzn. na lidské zdroje, energii, úsporu času.

Cloud computing usnadňuje organizacím plánování, realizaci a údržbu platforem pro podporu obchodních zájmů.

Ale oba mají podobnosti, při používání cloudu jsme museli myslet na BCP (Business Continuity Plan) a Disaster Recovery Plan (DRP). Ukládání dat se stává kritickým, když mluvíme o DRP, o tom, jak rychle provádíme obnovu (cíl bodu obnovy), když dojde ke katastrofě. Multicloudová architektura hraje velkou roli, když chceme navrhnout a implementovat infrastrukturu v cloudovém prostředí. V tomto blogu se podíváme na související multi-cloudové nasazení pro ukládání dat v MySQL.

Nastavení prostředí v cloudu

Tentokrát používáme Amazon Web Service (AWS), který je široce používán společnostmi, a Google Cloud Platform (GCP) jako druhého poskytovatele cloudu v nastavení multicloudové databáze. Vytváření instancí (termín používaný v cloud computingu pro nové virtuální stroje) na AWS je velmi přímočaré.

AWS používá termín Amazon EC2 (Elastic Compute Cloud) pro svou službu instance výpočtu. Můžete se přihlásit k AWS a poté vybrat službu EC2.

Zde je zobrazení instance, která byla zřízena s EC2.

Z bezpečnostních důvodů, které jsou největším problémem cloudových služeb, se ujistěte, že povolujeme pouze porty, které jsou potřeba při nasazení ClusterControl, jako je port SSH (22), xtrabackup (9999) a databáze ( 3306) jsou zabezpečené, ale dostupné napříč poskytovateli cloudu. Jedním ze způsobů implementace takové konektivity by bylo vytvoření VPN, která by propojovala instance v AWS s instancemi v GCP. Díky takovému designu můžeme všechny instance považovat za lokální, i když se nacházejí u různých poskytovatelů cloudu. Nebudeme přesně popisovat proces nastavení VPN, proto mějte prosím na paměti, že námi prezentované nasazení není vhodné pro reálnou produkci. Je to pouze pro ilustraci možností, které nabízí ClusterControl a nastavení multi-cloud.

Po dokončení nastavení AWS EC2 pokračujte v nastavení instance výpočtu v GCP, v GCP se výpočetní služba nazývá Compute Engine.

V tomto příkladu vytvoříme 1 instanci v cloudu GCP, která bude být použit jako jeden z otroků.

Po dokončení se zobrazí v konzole pro správu, jak je uvedeno níže:

Ujistěte se, že jste zabezpečili a povolili port SSH port (22), xtrabackup ( 9999) a databáze (3306).

Po nasazení instancí v AWS i GCP bychom měli pokračovat v instalaci ClusterControl na jednu z instancí u poskytovatele cloudu, kde se bude nacházet hlavní server. V tomto příkladu nastavení použijeme jednu z instancí AWS jako hlavní.

Nasazení replikace MySQL ve službě Amazon Web Service 

Chcete-li nainstalovat ClusterControl, měli byste postupovat podle jednoduchých pokynů, které najdete na webových stránkách společnosti Somenines. Jakmile bude ClusterControl spuštěn a spuštěn u poskytovatele cloudu, kde se bude nacházet náš hlavní uzel (v tomto příkladu použijeme AWS pro náš hlavní uzel), můžeme zahájit nasazení replikace MySQL pomocí ClusterControl. Chcete-li nainstalovat replikační cluster MySQL, musíte provést následující kroky:

Otevřete ClusterControl a poté vyberte MySQL Replication, uvidíte tři formuláře, které je třeba vyplnit pro účely instalace

Obecné nastavení a nastavení SSH

Zadejte SSH User, Key and Password, SSH Port a název clusteru

Poté vyberte „Pokračovat“

Definujte servery MySQL 

Vyberte dodavatele, číslo verze a heslo uživatele root MySQL a klikněte na tlačítko Pokračovat

Definujte topologii

Jak si vzpomínáte, máme v AWS vytvořeny dva uzly. Zde můžeme použít oba. Jeden bude naším pánem, druhý by měl být přidán jako otrok. Poté můžeme pokračovat s ‚Deploy‘

Pokud chcete a je-li již konektivita napříč cloudem zavedena, můžete také nastavit IP adresu instance GCP v části „Přidat podřízené jednotky do hlavní jednotky A“ a poté pokračovat pomocí „ Nasadit'. Tímto způsobem ClusterControl nasadí master a oba slave současně.

Po spuštění nasazení můžete sledovat průběh na kartě Aktivita. Níže můžete vidět příklad zpráv o průběhu. Nyní je čas počkat, až bude úloha dokončena.

Po dokončení můžete vidět nově vytvořený cluster s názvem „Cloud Replikace MySQL“.

Pokud jste již v průvodci nasazením přidali uzel GCP jako druhého slave, již jste dokončili nastavení Master-Slaves mezi instancemi AWS a GCP.

Pokud ne, můžete přidat GCP slave do běžícího clusteru. Než budete pokračovat dále, ujistěte se, že je připojení na místě.

Přidat nového otroka z Google Cloud Platform

Po vytvoření replikace MySQL na AWS můžete pokračovat přidáním svého uzlu do GCP jako nového slave. Můžete toho dosáhnout provedením následujících kroků::

  1.  
  1. V seznamu clusterů vyhledejte svůj nový cluster a klikněte na a  vyberte možnost Přidat replikační slave
      1.  
      1.  
  2. Zobrazí se průvodce Add Replication Slave, jak můžete vidět níže.
  3. Pokračujte výběrem  IP hlavní instance (umístěné v AWS)  a zadáním IP adresy a portu instance GCP, kterou chcete použít jako podřízenou, do pole „Název hostitele / IP podřízená“. Jakmile vše vyplníte, můžete pokračovat kliknutím na ‚Přidat replikační slave‘.

Postup můžete stejně jako dříve sledovat na kartě aktivity. Nyní je čas počkat, až bude úloha dokončena.

Po dokončení nasazení můžeme zkontrolovat cluster na kartě topologie.

Topologii našeho clusteru Master-Slave můžete vidět níže.

Jak vidíte, v AWS máme master a jeden slave máme také slave v GCP, což naší databázi usnadňuje přežít jakékoli výpadky, ke kterým dojde u jednoho z našich cloudových poskytovatelů.

Závěr

Pro vysokou dostupnost databázových služeb hraje při realizaci velmi důležitou roli nasazení ve více cloudech. ClusterControl je vytvořen k navigaci v tomto procesu a usnadňuje uživateli správu nasazení multi-cloud.

Jednou z kritických věcí, které je třeba zvážit při implementaci Multi-Cloud Deployment, jsou bezpečnostní aspekty. Jak jsme zmínili dříve, můžete nastavit VPN Site to Site mezi dvěma cloudovými poskytovateli jako osvědčený postup, který lze použít. Existují také další možnosti, jako jsou tunely SSH.


  1. Jak pozastavit provádění příkazu v PostgreSQL

  2. Co je připojovací řetězec ovladače MySQL JDBC?

  3. sloupec zde není povolen chyba v příkazu INSERT

  4. Migrace Laravel:jedinečný klíč je příliš dlouhý, i když je zadán