Cómo mover la base de datos RDS a diferentes VPC

11

No seleccioné una VPC al crear una base de datos MySQL RDS, por lo que la creó dentro de una VPC "predeterminada" generada automáticamente. Ahora no puedo agregarlo a ninguno de mis grupos de seguridad predefinidos, ni acceder desde instancias en mi VPC existente. La solución obvia sería reubicarlo en la VPC adecuada, pero no parece haber ninguna opción para editar la VPC en la pantalla "Modificar instancia de db". ¿Hay alguna forma de seleccionar una VPC diferente, o es mi única opción para eliminar la base de datos y volver a crearla dentro de la VPC correcta?

Cerin
fuente

Respuestas:

12

Amazon emitió recientemente un comunicado de prensa anunciando que ahora puede cambiar la VPC para instancias RDS existentes:

Ahora puede cambiar fácilmente la Amazon Virtual Private Cloud (Amazon VPC) utilizada por su instancia de Amazon RDS DB. Puede especificar una nueva VPC para una instancia de base de datos existente implementada en configuración Single-AZ utilizando la Consola de administración de Amazon RDS, la API de Amazon RDS o las Herramientas de línea de comandos de AWS. Además, si está ejecutando su instancia de base de datos en el entorno EC2-Classic, puede cambiar al entorno EC2-VPC modificando su instancia de base de datos existente. Si su cuenta de AWS se creó antes del 04/12/2013, posiblemente esté ejecutando RDS en el entorno EC2-Classic.

Esta función está disponible para todas las regiones compatibles con Amazon RDS, y está disponible para todas las versiones compatibles de MySQL, MariaDB, Microsoft SQL Server, Oracle y PostgreSQL.

Tenga en cuenta que esta característica solo es compatible con instancias de base de datos que se ejecutan en la implementación Single-AZ. Si desea cambiar el entorno VPC de una instancia de base de datos en una implementación Multi-AZ, puede modificar temporalmente su instancia a una implementación Single-AZ y luego volver a habilitar Multi-AZ una vez que haya cambiado al entorno EC2-VPC .

Siddharth Sharma
fuente
2
Una cosa a tener en cuenta: puede cambiar la VPC pero la zona de disponibilidad de la base de datos NO cambiará. Entonces, si su base de datos está en una VPC en la subred us-west-2a pero la otra no tiene una subred en esa AZ, no le permitirá cambiar a esa VPC
Matt Dodge
10

Simple: tome una instantánea de su instancia RDS actual y luego restaure esa instantánea en una nueva instancia en su VPC.

EEAA
fuente
2
El menú desplegable VPC fue deshabilitado para mí hasta que dije "sí" a la implementación Multi-AZ.
Ian Phillips
¿Cómo debo manejar los datos que se agregan mientras cargo la instantánea? ¿Hay alguna manera de minimizar el tiempo de inactividad?
iGili
RDS es perfectamente capaz de actuar como un consuelo de MySQL para otro sistema, por lo que quizás ese sea el camino a seguir.
EEAA
3

Para evitar el tiempo de inactividad al migrar a una nueva VPC, debe configurar instancias de base de datos Multi-AZ para su clúster RDS original para que la creación de una instantánea no cause una breve suspensión de E / S. El clúster también debe tener habilitado el registro binario para que, cuando cargue su instantánea en la nueva VPC, pueda configurar la replicación entre las bases de datos para restaurar los datos que puedan haberse insertado o actualizado después de que se creó la instantánea.

Siga esta guía de los documentos de RDS

EDITAR

Tuve que hacer esto con RDS Aurora y tuve que hacer ligeras modificaciones a la guía anterior:

  • Al restaurar desde una instantánea de Aurora, no puede establecer los grupos de parámetros, por lo que la instancia obtiene los parámetros predeterminados automáticamente. Una vez que la instancia esté disponible, cambie los parámetros para incluir el registro binario y reinícielo.

  • La ejecución SHOW MASTER STATUS\Gno le dará el archivo de registro binario correcto y la posición de la base de datos original en el momento en que se tomó la instantánea, el reinicio de la instancia creó un nuevo archivo de registro binario. En su lugar, ejecute SHOW BINARY LOGS;para buscar el archivo de registro anterior y file_size y use esos valores al configurar la replicación.

MarkAWard
fuente