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

11

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

Cerin
источник

Ответы:

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.

EEAA
источник
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, и используйте эти значения при настройке репликации.

MarkAWard
источник