Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

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

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

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