Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wdrożenie w wielu chmurach dla replikacji MySQL

W ostatnich latach korzystanie z infrastruktury platformy przesunęło się z przetwarzania lokalnego na przetwarzanie w chmurze. Opiera się to na braku kosztów kapitałowych, które musi ponieść firma, jeśli zostanie wykorzystana podczas wdrażania infrastruktury IT. Cloud computing zapewnia elastyczność w każdej linii zasobów tj. na zasoby ludzkie, energię, oszczędność czasu.

Przetwarzanie w chmurze ułatwia organizacjom planowanie, wykonywanie i utrzymywanie platform informatycznych w celu wspierania interesów biznesowych.

Ale oba mają podobieństwa, podczas korzystania z chmury musieliśmy pomyśleć o BCP (Plan ciągłości działania) i Planie odtwarzania po awarii (DRP). Przechowywanie danych staje się krytyczne, gdy mówimy o DRP, jak szybko wykonujemy odzyskiwanie (cel punktu odzyskiwania) w przypadku awarii. Architektura multi-cloud odgrywa dużą rolę, gdy chcemy zaprojektować i wdrożyć infrastrukturę w środowisku chmury. W tym blogu przyjrzymy się powiązanemu wdrożeniu w wielu chmurach do przechowywania danych w MySQL.

Konfiguracja środowiska w chmurze

Tym razem używamy Amazon Web Service (AWS), który jest powszechnie używany przez firmy, oraz Google Cloud Platform (GCP) jako drugiego dostawcy chmury w konfiguracji wielochmurowej bazy danych. Tworzenie instancji (termin używany w chmurze obliczeniowej dla nowych maszyn wirtualnych) na AWS jest bardzo proste.

AWS używa terminu Amazon EC2 (Elastic Compute Cloud) dla swojej usługi instancji obliczeniowej. Możesz zalogować się do AWS, a następnie wybrać usługę EC2.

Oto wyświetlenie instancji, która została udostępniona w EC2.

Ze względów bezpieczeństwa, co jest największym problemem usług w chmurze, upewnij się, że włączamy tylko porty, które są potrzebne podczas wdrażania ClusterControl, takie jak port SSH (22), xtrabackup (9999) i bazy danych ( 3306) są zabezpieczone, ale dostępne dla wszystkich dostawców chmury. Jednym ze sposobów na zaimplementowanie takiej łączności byłoby stworzenie sieci VPN, która łączyłaby instancje w AWS z instancjami w GCP. Dzięki takiemu projektowi możemy traktować wszystkie instancje jako lokalne, mimo że znajdują się one u różnych dostawców chmury. Nie będziemy dokładnie opisywać procesu konfiguracji VPN, dlatego pamiętaj, że przedstawione przez nas wdrożenie nie nadaje się do rzeczywistej produkcji. Służy tylko do zilustrowania możliwości, jakie daje ClusterControl i konfiguracje wielochmurowe.

Po zakończeniu instalacji AWS EC2 kontynuuj konfigurowanie instancji obliczeniowej w GCP, w GCP usługa obliczeniowa nazywa się Compute Engine.

W tym przykładzie utworzymy 1 instancję w chmurze GCP, która będzie być używanym jako jeden z niewolników.

Po zakończeniu zostanie wyświetlony w konsoli zarządzania, jak poniżej:

Upewnij się, że zabezpieczyłeś i włączyłeś port SSH (22), xtrabackup ( 9999 i baza danych (3306).

Po wdrożeniu instancji zarówno w AWS, jak i GCP, powinniśmy kontynuować instalację ClusterControl w jednej z instancji dostawcy chmury, w której będzie znajdować się master. W tej przykładowej konfiguracji użyjemy jednej z instancji AWS jako Master.

Wdrożenie replikacji MySQL w Amazon Web Service

Aby zainstalować ClusterControl, postępuj zgodnie z prostymi instrukcjami, które można znaleźć na stronie internetowej Manynines. Po uruchomieniu ClusterControl u dostawcy chmury, w którym ma znajdować się nasz master (w tym przykładzie użyjemy AWS dla naszego węzła głównego), możemy rozpocząć wdrażanie replikacji MySQL za pomocą ClusterControl. Aby zainstalować klaster replikacji MySQL, musisz wykonać następujące czynności:

Otwórz ClusterControl, a następnie wybierz Replikacja MySQL, zobaczysz trzy formularze, które należy wypełnić w celu instalacji

Ustawienia ogólne i SSH

Wpisz użytkownika SSH, klucz i hasło, port SSH i nazwę klastra

Następnie wybierz „Kontynuuj”

Zdefiniuj serwery MySQL 

Wybierz dostawcę, numer wersji i hasło roota MySQL, a następnie kliknij „Kontynuuj”

Zdefiniuj topologię

Jak pamiętasz, mamy dwa węzły utworzone w AWS. Możemy tutaj wykorzystać oba z nich. Jeden będzie naszym panem, drugi powinien być dodany jako niewolnik. Następnie możemy kontynuować „Wdrażanie”

Jeśli chcesz i jeśli połączenie między chmurami jest już na miejscu, możesz również ustawić adres IP instancji GCP w sekcji „Dodaj urządzenia podrzędne do mastera A”, a następnie kontynuuj z „ Rozmieścić'. W ten sposób ClusterControl wdroży jednocześnie urządzenie nadrzędne i oba urządzenia podrzędne.

Po rozpoczęciu wdrażania możesz monitorować postęp na karcie Aktywność. Poniżej możesz zobaczyć przykład komunikatów o postępie. Teraz nadszedł czas, aby poczekać, aż praca zostanie zakończona.

Po zakończeniu możesz zobaczyć nowo utworzony Klaster o nazwie „Cloud Replikacja MySQL”.

Jeśli dodałeś już węzeł GCP jako drugie urządzenie podrzędne w kreatorze wdrażania, zakończyłeś już konfigurację Master-Slaves między instancjami AWS i GCP.

Jeśli nie, możesz dodać urządzenie podrzędne GCP do działającego klastra. Upewnij się, że połączenie jest na miejscu, zanim przejdziesz dalej.

Dodaj nowe urządzenie podrzędne z Google Cloud Platform

Po utworzeniu replikacji MySQL na AWS możesz kontynuować, dodając swój węzeł w GCP jako nowe urządzenie podrzędne. Możesz to osiągnąć, wykonując następujące czynności:

  1.  
  1. Na liście klastrów znajdź swój nowy klaster, a następnie kliknij i wybierz opcję „Dodaj moduł replikacji”
      1.  
      1.  
  2. Pojawi się kreator Dodaj Slave replikacji, jak widać poniżej.
  3. Kontynuuj, wybierając  IP instancji nadrzędnej (zlokalizowanej w AWS)  i wprowadzając adres IP oraz port instancji GCP, której chcesz używać jako podrzędnej w polu „Nazwa/IP hosta podrzędnego”. Po wypełnieniu wszystkiego możesz kontynuować, klikając „Dodaj niewolnik replikacji”.

Tak jak poprzednio, postęp można monitorować na karcie aktywności. Teraz nadszedł czas, aby poczekać, aż praca zostanie zakończona.

Po zakończeniu wdrożenia możemy sprawdzić klaster na karcie topologia.

Możesz zobaczyć topologię naszego klastra Master-Slave poniżej.

Jak widać, mamy mastera i jednego slave'a w AWS i mamy również niewolnika w GCP, co ułatwia naszej bazie danych przetrwanie wszelkich przestojów, które mają miejsce u jednego z naszych dostawców chmury.

Wnioski

Dla wysokiej dostępności usług baz danych, wdrożenie w wielu chmurach odgrywa bardzo ważną rolę. ClusterControl został stworzony, aby poruszać się po tym procesie i ułatwić użytkownikowi zarządzanie wdrożeniami w wielu chmurach.

Jedną z najważniejszych rzeczy do rozważenia podczas wdrażania Multi-Cloud Deployment są aspekty bezpieczeństwa. Jak wspomnieliśmy wcześniej, najlepszą praktyką, którą można zastosować, jest konfiguracja VPN Site to Site między dwoma dostawcami chmury. Istnieją również inne opcje, takie jak tunele SSH.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak znaleźć wartości nieliczbowe w kolumnie w MySQL?

  2. Jakiego typu danych użyć dla pola haszowanego hasła i jakiej długości?

  3. MySQL - jak z przodu pad kod pocztowy z 0?

  4. Co to jest MySQL:przegląd

  5. PDO pobiera jedną kolumnę z tabeli do 1-wymiarowej tablicy