ClusterControl 1.7.3 přichází s výrazným vylepšením cloudové integrace. Je možné nasadit replikační cluster MySQL a PostgreSQL do cloudu a také automaticky spustit cloudovou instanci a škálovat váš databázový cluster přidáním nového databázového uzlu.
Tento blogový příspěvek ukazuje, jak snadno nasadit Galera Cluster pomocí ClusterControl na AWS. Tato nová funkce je součástí ClusterControl Community Edition, která přichází s bezplatnými funkcemi pro nasazení a monitorování. To znamená, že tuto funkci můžete využívat zdarma!
ClusterControl Database Cluster Architecture
Následující diagram shrnuje naši celkovou architekturu databázových clusterů.
Server ClusterControl je umístěn mimo infrastrukturu AWS, což umožňuje spravedlivou viditelnost do našeho databázového clusteru (umístěného ve Frankfurtu:eu-central-1). Server ClusterControl MUSÍ mít vyhrazenou veřejnou IP adresu. Důvodem je, že IP adresa bude přidělena ClusterControl na databázovém serveru a skupině zabezpečení AWS. Verze databáze Galera, kterou se chystáme nasadit, je MariaDB Cluster 10.3 s použitím ClusterControl 1.7.3.
Příprava prostředí AWS
ClusterControl je schopen nasadit databázový cluster na podporovaných cloudových platformách, konkrétně AWS, Google Cloud Platform (GCP) a Microsoft Azure. První věc, kterou musíme nakonfigurovat, je získat přístupové klíče AWS, které umožní ClusterControl provádět programové požadavky na služby AWS. Můžete použít přístupový klíč k účtu root, ale toto není doporučený způsob. Je lepší vytvořit vyhrazeného uživatele správy identit a přístupu (IAM) výhradně pro tento účel.
Přihlaste se do své konzole AWS -> Moje bezpečnostní pověření -> Uživatelé -> Přidat uživatele . Zadejte uživatele a jako typ přístupu vyberte "Programmatický přístup":
Na další stránce vytvořte novou uživatelskou skupinu kliknutím na tlačítko „Vytvořit skupina" a zadejte název skupiny "DatabaseAutomation". Přiřaďte následující typ přístupu:
- AmazonEC2FullAccess
- AmazonVPCFullAccess
- AmazonS3FullAccess (pouze pokud plánujete uložit zálohu databáze na AWS S3)
Zaškrtněte políčko DatabaseAutomation a klikněte na „Přidat uživatele do skupiny“:
Volitelně můžete přiřadit značky na další stránce. V opačném případě pokračujte k vytvoření uživatele. Měli byste získat dvě nejdůležitější věci, ID přístupového klíče a tajný přístupový klíč.
Stáhněte si soubor CSV a uložte jej na bezpečném místě. Nyní jsme schopni automatizovat nasazení v cloudu.
Nainstalujte ClusterControl na příslušný server:
$ whoami
root
$ wget http://severalnines.com/downloads/cmon/install-cc
$ chmod 755 install-cc
$ ./install-cc
Postupujte podle pokynů k instalaci a přejděte na http://192.168.0.11/clustercontrol a vytvořte uživatele a heslo superadmin.
Aby mohl ClusterControl provádět automatické nasazení v cloudu, je třeba vytvořit cloudové přihlašovací údaje pro vybranou oblast s platným ID klíče AWS a tajným klíčem. Přejděte na Postranní panel -> Integrace -> Poskytovatelé cloudu -> Přidejte své první přihlašovací údaje do cloudu -> Webové služby Amazon a zadejte požadované údaje a jako výchozí region vyberte Frankfurt:
Toto pověření bude ClusterControl používat k automatizaci nasazení a správy clusteru. V tuto chvíli jsme připraveni nasadit náš první cluster.
Nasazení clusteru databáze
Přejděte na Deploy -> Deploy in the Cloud -> MySQL Galera -> MariaDB 10.3 -> Configure Cluster pro pokračování na další stránku.
V části Configure Cluster se ujistěte, že počet uzlů je 3 a zadejte název clusteru a heslo root MySQL:
V části Vybrat pověření vyberte pověření nazvané „AWS Frankfurt“ a pokračujte na další stránku kliknutím na „Vybrat virtuální počítač“. Vyberte preferovaný operační systém a velikost instance. Doporučujeme provozovat naši infrastrukturu v privátním cloudu, abychom mohli získat vyhrazenou interní IP adresu pro naše cloudové instance a hostitelé nebyli přímo vystaveni veřejné síti. Klikněte na tlačítko „Přidat nový“ vedle pole Virtual Private Cloud (VPC) a přidělte této síti podsíť 10.10.0.0/16:
VPC, které jsme vytvořili, je privátní cloud a nemá připojení k internetu. Aby mohl ClusterControl nasadit a spravovat hostitele z vnější sítě AWS, musíme tomuto VPC povolit internetové připojení. Chcete-li to provést, musíme provést následující:
- Vytvořte internetovou bránu
- Přidat externí směrování do směrovací tabulky
- Přiřaďte podsíť směrovací tabulce
Chcete-li vytvořit internetovou bránu, přihlaste se do AWS Management Console -> VPC -> Internetové brány -> Vytvořit internetovou bránu -> přiřadit název této bráně . Poté vyberte vytvořenou bránu ze seznamu a přejděte na Akce -> Připojit k VPC -> vyberte VPC pro rozevírací seznam -> Připojit . Nyní jsme připojili internetovou bránu k privátnímu cloudu. Musíme však nakonfigurovat síť tak, aby všechny externí požadavky předávala přes tuto internetovou bránu. Proto musíme do tabulky směrování přidat výchozí trasu. Přejděte naVPC -> Tabulky tras -> vyberte tabulku tras -> Upravit trasy a zadejte cílovou síť, 0.0.0.0/0 a cíl (vytvořené ID internetové brány), jak je uvedeno níže:
Poté musíme k této síti přiřadit podsíť DB, aby přiřadila všechny instance vytvořené v této síti k výchozí trase, kterou jsme vytvořili dříve, vyberte tabulku směrování -> Upravit přidružení podsítě -> přiřaďte podsíť DB , jak je uvedeno níže:
VPC je nyní připraveno k použití ClusterControl pro nasazení.
Po vytvoření vyberte vytvořené VPC z rozbalovací nabídky. V případě klíče SSH požádáme ClusterControl o jeho automatické vygenerování:
Vygenerovaný klíč SSH bude umístěn na serveru ClusterControl v adresáři /var/lib/cmon/autogenerated_ssh_keys/s9s/.
Klikněte na "Přehled nasazení". Na této stránce musíme přiřadit podsíť z VPC k databázovému clusteru. Protože se jedná o nové VPC, nemá žádnou podsíť a musíme vytvořit novou. Klikněte na tlačítko "Přidat novou podsíť" a přiřaďte 10.10.1.0/24 jako síť pro náš databázový cluster:
Nakonec v textovém poli vyberte podsíť pro vytvoření a klikněte na „Deploy Cluster“:
Postup úlohy můžete sledovat v části Aktivita -> Úlohy -> Vytvořit klastr . ClusterControl provede nezbytné předinstalační kroky, jako je vytvoření cloudových instancí, skupiny zabezpečení, vygenerování klíče SSH atd., než začnou samotné kroky instalace.
Jakmile bude cluster připraven, měli byste na řídicím panelu ClusterControl vidět následující cluster:
Naše nasazení clusteru je nyní dokončeno.
Zveřejnit nasazení databáze AWS
Můžeme začít načítat naše data do clusteru nebo vytvořit novou databázi pro použití vaší aplikace. Chcete-li se připojit, jednoduše dejte svým aplikacím nebo klientům pokyn, aby se připojili k soukromé nebo veřejné IP adrese jednoho z databázových serverů. Tyto informace můžete získat na stránce Nodes, jak je znázorněno na následujícím snímku obrazovky:
Pokud chcete přistupovat přímo k uzlům databáze, můžete použít modul ClusterControl web-SSH v Akce uzlů -> Konzole SSH , což vám poskytuje podobnou zkušenost jako při připojení přes klienta SSH.
Chcete-li zvětšit cluster přidáním databázového uzlu, stačí přejít na Akce clusteru (ikona zásobníku serveru) -> Přidat uzel -> Přidat uzel DB v nové instanci cloudu a zobrazí se vám následující dialog:
Jednoduše postupujte podle průvodce nasazením a podle toho nakonfigurujte svou novou instanci. Jakmile je instance vytvořena, ClusterControl automaticky nainstaluje, nakonfiguruje a připojí uzel do clusteru.
To je zatím vše, lidi. Šťastné shlukování v cloudu!