Как переместить базу данных RDS в другой VPC


11

Я не выбрал VPC при создании базы данных MySQL RDS, поэтому он был создан внутри автоматически созданного VPC по умолчанию. Теперь я не могу добавить его в какую-либо из моих предварительно определенных групп безопасности или получить доступ к нему из экземпляров в моем существующем VPC. Очевидным решением было бы переместить его в соответствующий VPC, но, похоже, нет никакой возможности редактировать VPC на экране «Modify db instance». Есть ли какой-нибудь способ выбрать другой VPC, или я единственный вариант удалить базу данных и воссоздать ее внутри правильного VPC?

Ответы:


12

Amazon недавно выпустила пресс-релиз, объявляющий, что теперь вы можете изменить VPC для существующих экземпляров RDS:

Теперь вы можете легко изменить виртуальное частное облако Amazon (Amazon VPC), используемое вашим экземпляром Amazon RDS DB. Вы можете указать новый VPC для существующего экземпляра БД, развернутого в конфигурации Single-AZ, с помощью консоли управления Amazon RDS, API Amazon RDS или инструментов командной строки AWS. Кроме того, если вы запускаете экземпляр БД в среде EC2-Classic, вы можете переключиться на среду EC2-VPC, изменив существующий экземпляр БД. Если ваша учетная запись AWS была создана до 2013-12-04, возможно, вы используете RDS в среде EC2-Classic.

Эта функция доступна для всех регионов, поддерживаемых Amazon RDS, и доступна для всех поддерживаемых версий MySQL, MariaDB, Microsoft SQL Server, Oracle и PostgreSQL.

Обратите внимание, что эта функция поддерживается только для экземпляров БД, работающих в развертывании Single-AZ. Если вы хотите изменить среду VPC экземпляра БД в развертывании Multi-AZ, вы можете временно изменить свой экземпляр на развертывание Single-AZ, а затем повторно включить Multi-AZ после перехода в среду EC2-VPC. ,


2
Одно замечание: вы можете изменить VPC, но зона доступности базы данных НЕ изменится. Поэтому, если ваш БД находится в VPC в подсети us-west-2a, но у другой нет подсети в этом AZ, он не позволит вам перейти на этот VPC
— Matt Dodge

10

Просто - сделайте снимок вашего текущего экземпляра RDS, а затем восстановите этот снимок на новый экземпляр в вашем VPC.


2
Раскрывающийся список VPC был отключен для меня, пока я не сказал «да» для развертывания Multi-AZ.
— Ян Филлипс

Как мне обрабатывать данные, которые добавляются во время загрузки снимка? Есть ли способ минимизировать время простоя?
— iGili

RDS вполне может действовать как утешение MySQL для другой системы, так что, возможно, это может быть путь.
— EEAA

3

Чтобы избежать простоев при переходе на новый VPC, необходимо настроить экземпляры базы данных Multi-AZ для исходного кластера RDS, чтобы создание моментального снимка не вызывало кратковременную приостановку ввода-вывода. В кластере также должно быть включено двоичное ведение журналов, чтобы при загрузке снимка в новый VPC вы могли настроить репликацию между базами данных, чтобы восстановить любые данные, которые могли быть вставлены или обновлены после создания снимка.

Следуйте этому руководству из RDS документов

РЕДАКТИРОВАТЬ

Я должен был сделать это с помощью RDS Aurora и внести небольшие изменения в вышеприведенное руководство:

  • При восстановлении из снимка Aurora нельзя установить группы параметров, поэтому экземпляр автоматически получит параметры по умолчанию. Как только экземпляр станет доступен, измените параметры, включив двоичное ведение журнала, и перезагрузите его.

  • Выполнение SHOW MASTER STATUS\Gне даст вам правильный двоичный файл журнала и положение исходной базы данных в момент создания снимка, перезагрузка экземпляра создала новый двоичный файл журнала. Вместо этого запустите, SHOW BINARY LOGS;чтобы найти предыдущий файл журнала и file_size, и используйте эти значения при настройке репликации.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.