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

Jak przeprowadzić migrację MySQL z Amazon EC2 do lokalnego centrum danych bez przestojów?

Od momentu powstania nastąpiła coraz większa liczba migracji do środowiska opartego na chmurze. W końcu przetwarzanie w chmurze może zapewnić wiele korzyści firmom, zwłaszcza tym pracującym z dużymi danymi.

Jednak wraz ze wzrostem popytu rosną koszty i możesz znaleźć się w sytuacji, w której miesięczne wydatki na chmurę staną się zbyt wysokie, a negatywy wkrótce przeważą korzyści płynące z działania w chmurze. A może masz wymagania dotyczące bezpieczeństwa lub zgodności, które wymagają bardziej bezpośredniej kontroli nad swoimi systemami. Może to ostatecznie skłonić Cię do migracji z powrotem do środowiska lokalnego.

AWS zapewnia narzędzia do monitorowania i zarządzania, aby uruchomić nasz system w chmurze, mając jednocześnie widoczność i kontrolę w celu optymalizacji. Jednak gdy jesteśmy gotowi na rozwiązanie lokalne, migracja naszych danych i odtworzenie wszystkich narzędzi do prawidłowego zarządzania naszymi systemami może być trudne.

W tym blogu omówimy, w jaki sposób można przeprowadzić migrację systemów z AWS do lokalnego centrum danych oraz w jaki sposób ClusterControl może usprawnić ten proces.

Koncepcje

Zanim zaczniemy, omówmy kilka podstawowych pojęć dotyczących Amazon Cloud i ClusterControl.

AWS

Amazon Web Services (AWS) to platforma infrastruktury jako usługi składająca się z dużej liczby niezależnych i częściowo niezależnych usług. Celem platformy Infrastructure as a Service jest oferowanie na zasadach towarowych usług, które wcześniej wymagały zakupu kapitałochłonnych elementów infrastruktury, takich jak wysokiej klasy serwery, routery sieciowe i przełączniki, a dla większych przedsiębiorstw nawet ich własne centra danych.

RDS

Amazon Relational Database Service (RDS) ułatwia konfigurowanie, obsługę i skalowanie relacyjnej bazy danych w chmurze. Zapewnia ekonomiczną i skalowalną pojemność, jednocześnie automatyzując czasochłonne zadania administracyjne, takie jak dostarczanie sprzętu, konfiguracja bazy danych, instalowanie poprawek i tworzenie kopii zapasowych.

Amazon RDS jest dostępny w kilku typach instancji baz danych i zapewnia sześć znanych systemów zarządzania bazami danych do wyboru, w tym Amazon Aurora, PostgreSQL, MySQL, MariaDB, Oracle Database i SQL Server.

EC2

Amazon Elastic Compute Cloud (EC2) to usługa, która zapewnia bezpieczną i skalowalną pojemność obliczeniową w chmurze. Został zaprojektowany, aby ułatwić programistom przetwarzanie w chmurze na skalę internetową.

Prosty interfejs sieciowy Amazon EC2 pozwala uzyskać i skonfigurować wydajność przy minimalnym tarciu. Zapewnia pełną kontrolę nad zasobami obliczeniowymi i umożliwia pracę w sprawdzonym środowisku komputerowym Amazon.

ClusterControl

ClusterControl to kompleksowy system zarządzania bazami danych typu open source, który automatyzuje wdrażanie, funkcje zarządzania oraz monitorowanie stanu i wydajności z poziomu jednej szyby.

ClusterControl obsługuje wdrażanie, zarządzanie, monitorowanie i skalowanie różnych technologii baz danych w dowolnym środowisku.

Dlaczego przejść na wersję On-Prem?

Jak już wcześniej wspomnieliśmy, najczęstszymi przyczynami migracji z AWS do środowiska lokalnego są koszty, bezpieczeństwo, zgodność lub uruchamianie aplikacji lokalnych. W AWS nie wiesz, co dzieje się pod maską infrastruktury. Wiesz tylko, czy wszystko działa. Jeśli doświadczasz słabej wydajności lub anomalii, jedynym rozwiązaniem jest skontaktowanie się z pomocą techniczną Amazon.

Przykładowy scenariusz migracji

W AWS masz dwa różne produkty związane z tym blogiem:EC2 i RDS.

Główna różnica między nimi polega na tym, że w EC2 masz dostęp SSH do serwera i musisz samodzielnie zarządzać bazą danych. RDS jest usługą hostowanej bazy danych i masz dostęp tylko do instancji bazy danych.

W RDS, ponieważ nie masz dostępu SSH, musisz utworzyć zrzut i zaimportować go do nowego serwera lub skonfigurować replikację i promować replikę na nowy serwer podstawowy. W przypadku obu opcji proces jest ręczny. Możesz też dodać system równoważenia obciążenia, aby usprawnić ten proces. Omówiliśmy to zadanie w tych blogach:Część 1 i Część 2.

Skupmy się więc na migracji z EC2.

W naszym przykładzie zobaczmy, jak przeprowadzić migrację MySQL z AWS EC2 do lokalnego centrum danych. Będziemy używać środowiska replikacji MySQL, ale te kroki powinny działać w przypadku innych technologii, takich jak PostgreSQL.

Zakładamy, że Twoja główna baza danych MySQL jest uruchomiona na instancji EC2. W lokalnym centrum danych założymy również, że masz zainstalowany ClusterControl i nowy serwer bazy danych do migracji.

W konsoli zarządzania AWS powinieneś mieć coś takiego w EC2 sekcja instancji:

Najpierw musisz zaimportować swój bieżący węzeł główny działający w EC2 do ClusterControl. W tym procesie importu musisz otworzyć port 3306, edytując grupę bezpieczeństwa powiązaną z instancją EC2.

Następnie w ClusterControl przejdź do sekcji Import:

Tam możesz wybrać technologię bazy danych, w tym przykładzie MySQL Replication, i musisz określić użytkownika, klucz lub hasło oraz port, aby połączyć się z serwerem przez SSH. Musisz również podać nazwę nowego klastra.

 

Po skonfigurowaniu informacji o dostępie SSH należy zdefiniować pewne informacje o bazie danych, takie jak poświadczenia administratora bazy danych, port i basedir. Możesz także włączyć funkcje ClusterControl Node AutoRecovery i Cluster AutoRecovery dla nowego klastra.

Następnie musisz dodać serwer, używając adresu IP lub nazwy hosta i nacisnąć Importuj.

Gdy to zrobisz, możesz monitorować stan zadania importu z poziomu Monitor aktywności ClusterControl.

Po zakończeniu zadania zobaczysz swój węzeł bazy danych w głównym Ekran ClusterControl:

Pamiętaj, aby włączyć generowanie binlogów w bieżącej głównej bazie danych.

Teraz możesz dodać swój przyszły nowy węzeł główny jako nową replikę z bieżącej podstawowej bazy danych. W tym celu przejdź do ClusterControl -> Wybierz Cluster -> Cluster Actions -> Add Replication Slave.

Tutaj musisz dodać nazwę hosta lub adres IP nowej repliki serwera i jeśli chcesz, aby ClusterControl zainstalował oprogramowanie za Ciebie.

Upewnij się, że masz łączność z AWS z portami 3306 i 9999 na lokalnym serwerze.

ClusterControl składa replikę z danymi, wykonując kopię zapasową na gorąco, przesyłając ją strumieniowo do repliki i tam ją przywracając. Po przywróceniu węzeł repliki jest połączony z węzłem podstawowym, dzięki czemu może nadążyć za zdarzeniami i zsynchronizować się. Zwróć uwagę, że w przypadku dużych baz danych działających z pewnym obciążeniem możesz chcieć uniknąć dodatkowego obciążenia tą operacją w węźle podstawowym. W takim przypadku można najpierw zbudować węzeł repliki z istniejącej kopii zapasowej, a następnie podłączyć replikę, aby dogoniła węzeł podstawowy.

Po tym zadaniu powinieneś mieć coś takiego:

Możesz również zweryfikować swoją topologię w sekcji ClusterControl Topology.

Następnie musisz zmienić replikę na podstawową (ClusterControl -> Wybierz Cluster -> Node Actions -> Promate Slave) i zmień punkt końcowy w swojej aplikacji.

Aby ulepszyć tę topologię, możesz dodać system równoważenia obciążenia do zarządzania ruchem z serwera aplikacji do bazy danych. Korzystając z modułu równoważenia obciążenia, nie musisz zmieniać punktu końcowego z aplikacji podczas migracji; system równoważenia obciążenia zmieni węzeł główny w przejrzysty sposób.

Istnieje wiele sposobów wykonania tego zadania i powinieneś być w stanie zastosuj taką strategię do swojego środowiska, w zależności od infrastruktury, bezpieczeństwa itp.

Ze względów bezpieczeństwa należy rozważyć użycie VPN między AWS a środowiskiem lokalnym.

W przypadku topologii z wieloma wzorcami, takiej jak Galera Cluster, wystarczy dodać węzły, które chcesz lokalnie, ale uważaj na opóźnienia. Możesz na przykład użyć różnych segmentów Galera, aby zmniejszyć użycie sieci.

Rozważania dotyczące migracji

Na koniec, oto kilka kwestii, które należy wziąć pod uwagę, jeśli chcesz opuścić AWS i zacząć korzystać z własnego środowiska:

  • Monitorowanie:nie zapomnij użyć systemu monitorowania. Musisz cały czas wiedzieć, co dzieje się w Twoim systemie!
  • Strategia odzyskiwania po awarii:należy rozważyć dobry DRP. Ogólnie rzecz biorąc, informacje powinny znajdować się w trzech różnych fizycznych miejscach:podstawowym, replika i kopia zapasowa.
  • Wysoka dostępność:w dzisiejszych czasach wysoka dostępność jest koniecznością w większości środowisk produkcyjnych, więc musisz pomyśleć o najlepszym rozwiązaniu wysokiej dostępności w zależności od Twojej infrastruktury.
  • Skalowanie:Powinieneś być w stanie skalować w razie potrzeby w przyszłości lub dla konkretnego wydarzenia.
  • Wycofanie zmian:jeśli chcesz przeprowadzić migrację z AWS do środowiska lokalnego, pamiętaj, że coś może pójść nie tak (jak w przypadku każdego rodzaju migracji), więc powinieneś mieć plan wycofania.
  • Załóżmy, że szukasz jakiegoś środowiska hybrydowego, z instancjami działającymi na AWS i on-prem. W takim przypadku ClusterControl doskonale nadaje się do monitorowania, zarządzania dostępnością, tworzenia kopii zapasowych, skalowania i nie tylko. Spróbuj!

Zawijanie

Czasami działanie w chmurze po prostu nie jest najlepszym rozwiązaniem i może się okazać, że będziesz musiał wrócić do rozwiązania lokalnego. Mamy nadzieję, że ten blog dostarczył Ci przydatnych informacji na temat migracji danych opartych na MySQL do lokalnego centrum danych z AWS oraz tego, jak ClusterControl zapewnia narzędzia potrzebne do prawidłowego zarządzania systemami.

Po pomyślnym zakończeniu migracji zwiększ poziom systemu monitorowania za pomocą proaktywnych strategii, takich jak alerty predykcyjne. Sprawdź nasz niedawno zaktualizowany post na temat monitorowania baz danych za pomocą ClusterControl, aby dowiedzieć się więcej.

Aby uzyskać więcej informacji na temat wskazówek dotyczących zarządzania bazami danych i najlepszych praktyk, zasubskrybuj nasz blog, kanał RSS i obserwuj nas na LinkedIn i Twitterze.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oblicz percentyl na podstawie częstotliwości w MySQL

  2. Funkcja MySQL ATAN() — zwraca łuk tangensa wartości (lub wartości)

  3. Nielegalna mieszanka błędów sortowania w MySql

  4. Jak napisać instrukcję IF ELSE w zapytaniu MySQL?

  5. Zamień pierwszą literę każdego słowa na wielką literę w istniejącej tabeli