Jak przenieść bazę danych RDS do innego VPC

11

Nie wybrałem VPC podczas tworzenia bazy danych MySQL RDS, więc stworzyłem go w automatycznie generowanym „domyślnym” VPC. Nie mogę teraz dodać go do żadnej z wcześniej zdefiniowanych grup zabezpieczeń ani uzyskać do niego dostępu z instancji w moim istniejącym VPC. Oczywistym rozwiązaniem byłoby przeniesienie go do właściwego VPC, ale wydaje się, że nie ma żadnej opcji edycji VPC na ekranie „Modyfikuj instancję db”. Czy jest jakiś sposób na wybranie innego VPC, czy też moja jedyna opcja polega na usunięciu db i odtworzeniu go w poprawnym VPC?

Cerin
źródło

Odpowiedzi:

12

Firma Amazon wydała niedawno komunikat prasowy informujący, że można teraz zmienić VPC dla istniejących instancji RDS:

Teraz możesz łatwo zmienić Amazon Virtual Private Cloud (Amazon VPC) używaną przez twoją instancję Amazon RDS DB. Możesz określić nowego VPC dla istniejącej instancji DB wdrożonej w konfiguracji Single-AZ za pomocą Amazon RDS Management Console, Amazon RDS API lub AWS Command Line Tools. Ponadto, jeśli uruchamiasz instancję DB w środowisku EC2-Classic, możesz przełączyć się do środowiska EC2-VPC, modyfikując istniejącą instancję DB. Jeśli Twoje konto AWS zostało utworzone przed 2013-12-04, potencjalnie korzystasz z RDS w środowisku EC2-Classic.

Ta funkcja jest dostępna dla wszystkich regionów obsługiwanych przez Amazon RDS i jest dostępna dla wszystkich obsługiwanych wersji MySQL, MariaDB, Microsoft SQL Server, Oracle i PostgreSQL.

Należy pamiętać, że ta funkcja jest obsługiwana tylko dla instancji DB działających we wdrożeniu Single-AZ. Jeśli chcesz zmienić środowisko VPC instancji DB we wdrożeniu Multi-AZ, możesz tymczasowo zmodyfikować swoje wystąpienie do wdrożenia Single-AZ, a następnie ponownie włączyć Multi-AZ po zmianie na środowisko EC2-VPC .

Siddharth Sharma
źródło
2
Należy zwrócić uwagę na jedną rzecz: Możesz zmienić VPC, ale strefa dostępności bazy danych NIE ulegnie zmianie. Więc jeśli twoja baza danych znajduje się w VPC w podsieci us-west-2a, ale druga nie ma podsieci w tej AZ, nie pozwoli ci zmienić się na VPC
Matt Dodge
10

Proste - zrób migawkę bieżącej instancji RDS, a następnie przywróć tę migawkę do nowej instancji w VPC.

EEAA
źródło
2
Lista rozwijana VPC była dla mnie wyłączona, dopóki nie powiedziałem „tak” dla wdrożenia Multi-AZ.
Ian Phillips
Jak obsługiwać dane dodawane podczas ładowania migawki? Czy istnieje sposób na zminimalizowanie przestojów?
iGili
RDS jest w pełni zdolny do działania jako pociecha MySQL w innym systemie, więc być może taka będzie droga.
EEAA
3

Aby uniknąć przestojów podczas migracji do nowego VPC, należy skonfigurować instancje DB Multi-AZ dla oryginalnego klastra RDS, aby utworzenie migawki nie spowodowało krótkiego zawieszenia we / wy. Klaster powinien także mieć włączone rejestrowanie binarne, aby po załadowaniu migawki do nowego VPC można skonfigurować replikację między bazami danych w celu przywrócenia danych, które mogły zostać wstawione lub zaktualizowane po utworzeniu migawki.

Postępuj zgodnie z tym przewodnikiem z dokumentów RDS

EDYTOWAĆ

Musiałem to zrobić z RDS Aurora i musiałem wprowadzić niewielkie modyfikacje do powyższego przewodnika:

  • Podczas przywracania z migawki Aurora nie można ustawić grup parametrów, więc instancja automatycznie otrzymuje parametry domyślne. Gdy instancja będzie dostępna, zmień parametry, aby uwzględnić rejestrowanie binarne i uruchom ponownie.

  • Uruchomienie SHOW MASTER STATUS\Gnie zapewni poprawnego pliku dziennika binarnego i położenia oryginalnego pliku db w momencie wykonania migawki. Ponowne uruchomienie instancji utworzyło nowy plik dziennika binarnego. Zamiast tego uruchom, SHOW BINARY LOGS;aby znaleźć poprzedni plik dziennika i rozmiar_pliku i użyj tych wartości podczas konfigurowania replikacji.

MarkAWard
źródło