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

Jak migrovat MySQL z Amazon EC2 do vašeho On-Prem Data Center bez výpadků

Od svého vzniku dochází ke stále většímu počtu migrací do cloudového prostředí. Koneckonců, cloud computing může poskytnout mnoho výhod pro podniky, zejména pro ty, kteří pracují s velkými daty.

S rostoucí poptávkou však rostou i náklady a můžete se ocitnout v situaci, kdy měsíční náklady na cloud budou příliš vysoké a negativa brzy převáží výhody provozu v cloudu. Nebo možná máte požadavky na zabezpečení nebo shodu, které po vás vyžadují přímou kontrolu nad vašimi systémy. To může být nakonec důvodem k migraci zpět do prostředí on-prem.

AWS poskytuje nástroje pro monitorování a správu pro provoz našeho systému v cloudu a zároveň má přehled a kontrolu pro optimalizaci. Když však zjistíme, že jsme připraveni na on-prem řešení, může být náročné migrovat naše data a znovu vytvořit všechny nástroje pro správnou správu našich systémů.

V tomto blogu probereme, jak můžete migrovat své systémy z AWS do místního datového centra a jak může ClusterControl pomoci zefektivnit proces.

Koncepty

Než se do toho pustíme, proberme některé základní pojmy o Amazon Cloud a ClusterControl.

AWS

Amazon Web Services (AWS) je platforma Infrastructure as a Service složená z velkého počtu nezávislých a polonezávislých služeb. Účelem platformy Infrastructure as a Service je nabízet na komoditní bázi služby, které dříve vyžadovaly nákup kapitálově náročných komponent infrastruktury, jako jsou špičkové servery, síťové routery a přepínače, a pro větší podniky i jejich vlastní datová centra.

RDS

Amazon Relational Database Service (RDS) usnadňuje nastavení, provoz a škálování relační databáze v cloudu. Poskytuje nákladově efektivní kapacitu s možností změny velikosti a zároveň automatizuje časově náročné administrativní úlohy, jako je zajišťování hardwaru, nastavení databáze, opravy a zálohování.

Amazon RDS je k dispozici na několika typech databázových instancí a poskytuje vám šest známých systémů správy databází, ze kterých si můžete vybrat, včetně Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database a SQL Server.

EC2

Amazon Elastic Compute Cloud (EC2) je služba, která poskytuje bezpečnou a měnitelnou výpočetní kapacitu v cloudu. Je navržen tak, aby vývojářům usnadnil cloud computing ve webovém měřítku.

Jednoduché webové rozhraní Amazon EC2 vám umožňuje získat a nakonfigurovat kapacitu s minimálním třením. Poskytuje vám úplnou kontrolu nad vašimi výpočetními prostředky a umožňuje vám provozovat osvědčené výpočetní prostředí Amazon.

ClusterControl

ClusterControl je komplexní systém pro správu databází s otevřeným zdrojovým kódem, který automatizuje nasazení, funkce správy a monitorování stavu a výkonu z jediné tabule.

ClusterControl podporuje nasazení, správu, monitorování a škálování pro různé databázové technologie v jakémkoli prostředí.

Proč migrovat na On-Prem?

Jak jsme již zmínili, nejběžnějšími důvody pro migraci z AWS do místního prostředí jsou náklady, zabezpečení, dodržování předpisů nebo spouštění místních aplikací. V AWS nevíte, co se děje pod kapotou infrastruktury. Víte pouze, zda vše funguje. Pokud zaznamenáte špatný výkon nebo anomálie, jediným řešením je kontaktovat podporu Amazon.

Příklad scénáře migrace

V AWS máte dva různé produkty související s tímto blogem:EC2 a RDS.

Hlavní rozdíl mezi nimi je ten, že v EC2 máte SSH přístup k serveru a musíte si databázi spravovat sami. RDS je hostovaná databázová služba a máte přístup pouze k instanci databáze.

V RDS, protože nemáte přístup SSH, musíte vytvořit výpis a importovat jej na nový server nebo nakonfigurovat replikaci a povýšit repliku na nový primární server. U obou možností je proces manuální. Pro zlepšení tohoto procesu můžete také přidat nástroj pro vyrovnávání zatížení. Tomuto úkolu jsme se věnovali v těchto blozích:Část 1 a Část 2.

Zaměřme se tedy na migraci z EC2.

V našem příkladu se podívejme, jak migrovat MySQL z AWS EC2 do vlastního datového centra. Použijeme prostředí replikace MySQL, ale tyto kroky by měly fungovat pro jiné technologie, jako je PostgreSQL.

Předpokládáme, že máte hlavní databázi MySQL spuštěnou na instanci EC2. V místním datovém centru budeme také předpokládat, že máte nainstalovaný ClusterControl a nový databázový server, na který chcete migrovat.

V konzole pro správu AWS byste měli mít něco takového v EC2 sekce instance:

Nejprve budete muset importovat svůj aktuální primární uzel běžící na EC2 na ClusterControl. Pro tento proces importu musíte otevřít port 3306 úpravou skupiny zabezpečení přidružené k instanci EC2.

Poté v ClusterControl přejděte do sekce Import:

Tam si můžete vybrat databázovou technologii, v tomto příkladu MySQL Replication, a musíte zadat uživatele, klíč nebo heslo a port pro připojení k vašemu serveru přes SSH. Také musíte zadat název vašeho nového clusteru.

 

Po nastavení informací o přístupu SSH musíte definovat některé informace o databázi, např. přihlašovací údaje správce databáze, port a basedir. Pro nový cluster můžete také povolit funkce ClusterControl Node AutoRecovery a Cluster AutoRecovery.

Potom musíte přidat svůj server pomocí IP adresy nebo názvu hostitele a stisknout Import.

Jakmile budete hotovi, můžete sledovat stav úlohy importu z Monitor aktivity ClusterControl.

Po dokončení úkolu uvidíte svůj databázový uzel v hlavním Obrazovka ClusterControl:

Nezapomeňte povolit generování binlogu ve vaší aktuální hlavní databázi.

Nyní můžete přidat svůj budoucí nový primární uzel jako novou repliku z vaší aktuální primární databáze. Chcete-li to provést, přejděte do ClusterControl -> Vybrat klastr -> Akce klastru -> Přidat replikační slave.

Zde musíte přidat název hostitele nebo IP adresu nové repliky server, a pokud chcete, aby ClusterControl nainstaloval software za vás.

Ujistěte se, že máte připojení z AWS k portům 3306 a 9999 na místním serveru.

ClusterControl vytváří repliku s daty tak, že vezme horkou zálohu primárního, streamuje ji do repliky a tam ji obnoví. Po obnovení je uzel repliky připojen k primárnímu uzlu, takže může zachytit události a synchronizovat se. Všimněte si, že u velkých databází běžících s určitou zátěží se možná budete chtít vyhnout dodatečné zátěži této operace na primárním uzlu. V takovém případě je možné nejprve sestavit uzel repliky ze stávající zálohy a poté repliku připojit, aby dohnala primární uzel.

Po tomto úkolu byste měli mít něco takového:

Svou topologii můžete také ověřit v sekci Topologie ClusterControl.

Potom musíte repliku povýšit na primární (ClusterControl -> Vybrat Cluster -> Node Actions -> Promote Slave) a změňte koncový bod ve vaší aplikaci.

Pro zlepšení této topologie můžete přidat nástroj pro vyrovnávání zatížení pro řízení provozu z aplikačního serveru do databáze. Když používáte nástroj pro vyrovnávání zatížení, nebudete muset během migrace měnit koncový bod z vaší aplikace; load balancer změní primární uzel transparentním způsobem.

Tento úkol lze provést mnoha způsoby a měli byste být schopni osvojte si takovouto strategii pro své prostředí v závislosti na vaší infrastruktuře, zabezpečení atd.

Z bezpečnostních důvodů byste měli zvážit použití VPN mezi AWS a místním prostředím.

V případě topologie s více mastery, jako je Galera Cluster, stačí přidat uzly, které chcete lokálně, ale buďte opatrní s latencí. Ke snížení využití sítě můžete použít například různé segmenty Galera.

Úvahy o migraci

Nakonec je zde několik věcí, které je třeba vzít v úvahu, pokud chcete opustit AWS a začít používat své vlastní prostředí:

  • Monitorování:Nezapomeňte používat monitorovací systém. Musíte neustále vědět, co se děje ve vašem systému!
  • Strategie obnovy po havárii:Měli byste zvážit dobrou DRP. Obecně byste měli mít informace na třech různých fyzických místech:Primární, Replika a Záloha.
  • Vysoká dostupnost:V dnešní době je vysoká dostupnost ve většině produkčních prostředí nutností, takže musíte přemýšlet o nejlepším řešení vysoké dostupnosti v závislosti na vaší infrastruktuře.
  • Škálování:V případě potřeby v budoucnu nebo pro konkrétní událost byste měli být schopni škálovat.
  • Vrácení:Pokud chcete migrovat z AWS do místního prostředí, mějte na paměti, že se něco může pokazit (jako u každého typu migrace), takže byste měli mít plán vrácení.
  • Předpokládejme, že hledáte nějaké hybridní prostředí s instancemi běžícími na AWS a on-prem. V takovém případě se ClusterControl výborně hodí pro monitorování, správu dostupnosti, zálohování, škálování a další. Zkuste to!

Zabalení

Někdy se provoz v cloudu prostě nehodí a možná zjistíte, že potřebujete migrovat zpět na místní řešení. Doufáme, že vám tento blog poskytl užitečné informace o migraci vašich dat založených na MySQL do vašeho on-prem datového centra z AWS a o tom, jak ClusterControl poskytuje nástroje, které potřebujete ke správné správě vašich systémů.

Jakmile migraci úspěšně dokončíte, vylepšete svůj monitorovací systém pomocí proaktivních strategií, jako je prediktivní upozorňování. Podívejte se na náš nedávno aktualizovaný příspěvek o monitorování databáze pomocí ClusterControl, kde se dozvíte více.

Chcete-li získat další aktualizace tipů a osvědčených postupů pro správu databází, nezapomeňte se přihlásit k odběru našeho blogu, zdroje RSS a sledovat nás na LinkedIn a Twitteru.


  1. Jaké je pořadí řádků MySQL pro SELECT * FROM název_tabulky;?

  2. Export dotazu PostgreSQL do souboru csv pomocí Pythonu

  3. Testování příkazů DML pro OLTP v paměti

  4. Oracle Trigger ORA-04098:Trigger je neplatný a opětovné ověření se nezdařilo