Tutorial: Migración desde el servidor único de Azure Database for PostgreSQL al servidor flexible de Azure Database for PostgreSQL mediante el servicio de migración

SE APLICA A: Azure Database for PostgreSQL: servidor flexible

Mediante Azure Portal, puede migrar una instancia de servidor único a una de servidor flexible de Azure Database for PostgreSQL. En este tutorial, migramos una base de datos de ejemplo de una instancia de servidor único de Azure Database for PostgreSQL a una instancia de servidor flexible de PostgreSQL mediante Azure Portal.

  • Configuración de la instancia de servidor flexible de Azure Database for PostgreSQL
  • Configuración de la tarea de migración
  • Supervisión de la migración
  • Cancelación de la migración
  • Después de la migración

Puede realizar la migración mediante Azure Portal.

Requisitos previos (sin conexión)

Antes de iniciar la migración con el servicio de migración en Azure Database for PostgreSQL, es fundamental cumplir con los siguientes requisitos previos que se aplican a escenarios de migración sin conexión.

Comprobación de la versión de origen

La versión de PostgreSQL de origen debe ser >= 9.5. Si la versión de PostgreSQL de origen es menor que 9.5, actualice la versión de PostgreSQL de origen a 9.5 o una superior antes de realizar la migración.

Configuración de destino

  • Azure Database for PostgreSQL debe configurarse en Azure antes de la migración.

  • La SKU elegida para Azure Database for PostgreSQL debe corresponderse con las especificaciones de la base de datos de origen a fin de garantizar la compatibilidad y el rendimiento adecuado.

  • Para obtener instrucciones detalladas sobre cómo crear una instancia de Azure Database for PostgreSQL, consulte el vínculo siguiente: Inicio rápido: Creación de un servidor.

Configuración de red

La configuración de red adecuada es esencial para garantizar una conectividad correcta entre el origen y el destino durante la migración. Esta es una guía a fin de ayudarle a establecer la conexión de red para diferentes escenarios:

Requisitos de redes para la migración:

  • Tunelización de ExpressRoute/VPN de IPsec/VPN: al conectar el origen local o de AWS a Azure, es posible que tenga que configurar una tunelización de ExpressRoute, VPN de IPsec o de VPN para facilitar la transferencia de datos segura.

  • Emparejamiento de VNET: establezca el emparejamiento de red virtual entre las dos redes virtuales distintas para habilitar la conectividad de red directa, que es un requisito previo para la migración entre la máquina virtual de Azure y Azure Database for PostgreSQL.

Escenarios de conectividad:

La tabla siguiente puede ayudar a configurar la red entre el origen y el destino.

Source Destino Sugerencias de conectividad
Public Public No se requiere ninguna otra acción si el origen está en la lista de permitidos en las reglas de firewall del destino.
Private Public Esta configuración no es compatible; use pg_dump/pg_restore para la transferencia de datos.
Público Privada No se requiere ninguna otra acción si el origen está en la lista de permitidos en las reglas de firewall del destino.
Privada Privada Establezca una tunelización de ExpressRoute, VPN de IPsec, VPN o un emparejamiento de red virtual entre el origen y el destino.
Privada Punto de conexión privado Esta configuración no es compatible; póngase en contacto con Soporte técnico de Microsoft.

Consideraciones adicionales sobre redes:

  • Configuración de pg_hba.conf: para facilitar la conectividad entre las instancias de PostgreSQL de origen y de destino, es esencial comprobar y modificar, en caso necesario, el archivo pg_hba.conf. Este archivo incluye la autenticación de cliente y debe configurarse para permitir que la instancia de PostgreSQL de destino se conecte al origen. Los cambios realizados en el archivo pg_hba.conf normalmente requieren un reinicio de la instancia de PostgreSQL de origen para que surtan efecto.

Nota:

El archivo pg_hba.conf se encuentra en el directorio de datos de la instalación de PostgreSQL. Este archivo debe comprobarse y configurarse si la base de datos de origen es un servidor de PostgreSQL local o un servidor de PostgreSQL hospedado en una máquina virtual de Azure. En el caso de las instancias de PostgreSQL en AWS RDS o en servicios administrados similares, no se puede acceder al archivo pg_hba.conf directamente, ni aplicarlo. En su lugar, el acceso se controla mediante las configuraciones de seguridad y acceso de red proporcionadas por el servicio.

Para más información sobre la configuración de red, visite Guía de red para el servicio de migración en el servidor flexible de Azure Database for PostgreSQL.

Extensiones

Las extensiones son características adicionales que se pueden agregar a PostgreSQL para mejorar su función. Las extensiones se admiten en Azure Database for PostgreSQL, pero deben habilitarse manualmente. Para habilitar las extensiones, siga estos pasos:

  • Use el comando select en el origen para mostrar todas las extensiones que se usan: select extname,extversion from pg_extension;

  • Busque el parámetro de servidor azure.extensions en la página Parámetros de servidor de Azure Database for PostgreSQL. Habilite las extensiones que se encuentran en el origen dentro de PostgreSQL.

  • Guarde los cambios de los parámetros y reinicie Azure Database for PostgreSQL para aplicar la nueva configuración si es necesario.

    Captura de pantalla de las extensiones.

  • Compruebe si la lista contiene cualquiera de las siguientes extensiones:

    • PG_CRON
    • PG_HINT_PLAN
    • PG_PARTMAN_BGW
    • PG_PREWARM
    • PG_STAT_STATEMENTS
    • PG_AUDIT
    • PGLOGICAL
    • WAL2JSON

De ser así, busque en la página de parámetros del servidor el parámetro shared_preload_libraries. Este indica el conjunto de bibliotecas de extensiones que se cargan previamente en el reinicio del servidor.

Parámetros del servidor

Estos parámetros no se migran automáticamente al entorno de destino y deben configurarse manualmente.

  • Haga coincidir los valores de parámetros del servidor de la base de datos de PostgreSQL de origen con Azure Database for PostgreSQL; para ello, acceda a la sección "Parámetros del servidor" en Azure Portal y actualice manualmente los valores según corresponda.

  • Guarde los cambios de los parámetros y reinicie Azure Database for PostgreSQL para aplicar la nueva configuración si es necesario.

Deshabilitación de la alta disponibilidad (fiabilidad) y las réplicas de lectura en el destino

  • Deshabilitar la alta disponibilidad (fiabilidad) y las réplicas de lectura en el entorno de destino es esencial. Estas características deben habilitarse solo una vez completada la migración.

  • Al seguir estas instrucciones, puede ayudar a garantizar un proceso de migración fluido sin las variables agregadas que introducen la alta disponibilidad y las réplicas de lectura. Una vez que se completa la migración y la base de datos es estable, puede continuar con la habilitación de estas características para mejorar la disponibilidad y escalabilidad del entorno de base de datos en Azure.

Configuración de la instancia de servidor flexible de Azure Database for PostgreSQL

  • Cree el servidor flexible de destino. Para ver los pasos guiados, consulte el inicio rápido Creación de una instancia de servidor flexible de Azure Database for PostgreSQL con el portal.

  • Agregar a la lista de permitidos extensiones cuyas bibliotecas deben cargarse al iniciar el servidor. Es esencial que la extensión esté en la lista de permitidos antes de iniciar una migración.

  • Compruebe si la distribución de datos entre las tablas de una base de datos es asimétrica con la mayoría de los datos presentes en una sola (o pocas) tablas. Si está sesgada, la velocidad de migración podría ser más lenta de lo esperado. En este caso, la velocidad de migración se puede aumentar mediante la migración en paralelo de la tabla grande.

Configuración de la tarea de migración

El servicio de migración incluye una experiencia sencilla basada en asistentes en Azure Portal. A continuación, se indica cómo empezar:

  1. Abra el explorador web y vaya al portal. Para iniciar sesión, escriba sus credenciales. La vista predeterminada es el panel del servicio.

  2. Vaya al destino de Azure Database for PostgreSQL con servidor flexible.

  3. En la pestaña Información general del servidor flexible, en el menú de la izquierda, desplácese hacia abajo hasta la opción Migración y selecciónela.

    Captura de pantalla de la página de información general flexible.

  4. Seleccione el botón Crear para iniciar una migración de un servidor único a un servidor flexible. Si esta es la primera vez que usa el servicio de migración, aparecerá una cuadrícula vacía con un mensaje para comenzar la primera migración.

    Captura de pantalla de la pestaña de migración en el servidor flexible.

    Si ya ha creado migraciones al destino del servidor flexible, la cuadrícula contiene información sobre las migraciones que se intentaron para este destino desde el servidor único.

  5. Seleccione el botón Migrar desde un servidor único. Pasa por una serie de pestañas basadas en el asistente para crear una migración a este destino de servidor flexible desde cualquier servidor único de origen.

Como alternativa, puede iniciar el proceso de migración desde el servidor único de Azure Database for PostgreSQL.

  1. Abra el explorador web y vaya al portal. Para iniciar sesión, debe escribir sus credenciales. La vista predeterminada es el panel del servicio.

  2. Al seleccionar el servidor único, puede observar un banner relacionado con la migración en la pestaña Información general. Seleccione Migrar ahora para empezar.

    Captura de pantalla de Iniciar migración desde la pestaña Servidor único.

  3. Se le remite a una página con dos opciones. Si ya ha creado un servidor flexible y quiere usarlo como destino, elija Seleccionar existente y seleccione los detalles correspondientes de Suscripción, Grupo de recursos y Nombre del servidor. Una vez realizadas las selecciones, seleccione Ir al Asistente para migración y vaya a las instrucciones de la sección Pestaña Configuración de esta página.

    Captura de pantalla para elegir la opción de servidor flexible existente.

  4. Si elige crear un servidor flexible, seleccione Crear nuevo y seleccione Ir al Asistente para crear. Esta acción le guía por el proceso de creación del servidor flexible e implementa el servidor flexible.

    Captura de pantalla para elegir la opción de un nuevo servidor flexible.

Después de implementar el servidor flexible, siga los pasos del 3 al 5 en Configuración de la tarea de migración.

Pestaña Configuración

La primera pestaña es Configuración. En caso de que no lo haya hecho, agregue a la lista de permitidos las extensiones necesarias como se muestra en Es esencial agregar a la lista de permitidos estas extensiones antes de iniciar una migración.

Captura de pantalla de los detalles que pertenecen a la pestaña de configuración para la opción sin conexión.

Nombre de la migración es el identificador único de cada migración a este destino de servidor flexible. Este campo solo acepta caracteres alfanuméricos; no acepta caracteres especiales, excepto un guion (-). El nombre no puede empezar por un guion y debe ser único en un servidor de destino. Dos migraciones al mismo destino de servidor flexible no pueden tener el mismo nombre.

El valor de Tipo de servidor de origen indica el origen. En este caso, es el servidor único de Azure Database for PostgreSQL

Opción de migración: le permite realizar validaciones antes de desencadenar una migración. Puede elegir cualquiera de las siguientes opciones.

  • Validar: comprueba la preparación del servidor y de la base de datos para la migración al destino.
  • Migrar: omite las validaciones e inicia las migraciones.
  • Validar y migrar: realiza la validación antes de desencadenar una migración. La migración se desencadena solo si no hay errores de validación.

Siempre es recomendable elegir la opciónValidar o Validar y migrar para realizar validaciones previas a la migración antes de ejecutar la migración.

Si se selecciona la versión preliminar de migración en línea, la replicación lógica debe estar activada en el servidor único de origen. Si no está activado, el servicio de migración activa automáticamente la replicación lógica en el servidor único de origen. La replicación también se puede configurar manualmente en la pestaña Replicación del panel lado servidor único estableciendo el nivel de soporte técnico de replicación de Azure en Lógico. Cualquiera de los enfoques reinicia el servidor único de origen.

Seleccione el botón Siguiente: Conectar al origen.

Pestaña Source (Origen)

La pestaña Origen le pide que proporcione detalles relacionados con el servidor único que es el origen de las bases de datos.

Después de realizar las selecciones Suscripción y Grupo de recursos, la lista desplegable de nombres de servidor muestra los servidores únicos en ese grupo de recursos entre regiones. Seleccione el origen des de el que quiere migrar las bases de datos. Puede migrar bases de datos de un servidor único a un servidor flexible de destino en la misma región. Las migraciones entre regiones solo están habilitadas para servidores en India, China y Emiratos Árabes Unidos.

Después de elegir el origen de servidor único, los cuadros Ubicación, Versión de PostgreSQL y Nombre de inicio de sesión del administrador del servidor se rellenan automáticamente. El nombre de inicio de sesión del administrador del servidor es el nombre del usuario administrador empleado para crear el servidor único. En el cuadro Contraseña, escriba la contraseña para dicho usuario administrador. El servicio de migración migra bases de datos de servidor único como usuario administrador.

Después de rellenar todos los campos, seleccione el vínculo Conectar al origen. Esta acción valida que los detalles del servidor de origen especificados sean correctos y que se pueda acceder al servidor de origen.

Captura de pantalla de los detalles del servidor de bases de datos de origen.

Seleccione el botón Siguiente: Seleccionar destino de migración para continuar.

Pestaña Destino

En la pestaña Destino se muestran los metadatos del destino Servidor flexible, como el nombre de la suscripción, el grupo de recursos, el nombre del servidor, la ubicación y la versión de PostgreSQL.

Captura de pantalla de los detalles del servidor de bases de datos de destino.

En Nombre de inicio de sesión del administrador del servidor, la pestaña muestra el nombre del usuario administrador usado durante la creación del destino del servidor flexible. Introduzca la contraseña correspondiente para el usuario administrador. Después de rellenar la contraseña, seleccione el vínculo Conectar al destino. Esta acción valida que los detalles del servidor de destino especificados sean correctos y que se pueda acceder al servidor de destino.

Seleccione el botón Siguiente para seleccionar las bases de datos que se van a migrar.

Seleccione Bases de datos para la pestaña de migración

En esta pestaña, hay una lista de bases de datos de usuario dentro del servidor único. Puede seleccionar y migrar hasta ocho bases de datos en un único intento de migración. Si hay más de ocho bases de datos de usuario, el proceso de migración se repite entre los servidores de origen y de destino para el siguiente conjunto de bases de datos. De forma predeterminada, las bases de datos seleccionadas con el mismo nombre en el destino se sobrescriben.

Captura de pantalla de bases de datos a migrar.

Seleccione el botón Siguiente para revisar los detalles.

Resumen

En la pestaña Resumen se sintetizan todos los detalles para crear la validación o la migración. Revise los detalles y seleccione el botón Inicio.

Captura de pantalla de los detalles para revisar para la migración.

Supervisar el portal de migración

Después de seleccionar el botón Iniciar, aparece una notificación en unos segundos para indicar que la validación o la creación de la migración se han realizado correctamente. Se le redirige automáticamente a la página Migración del servidor flexible. Tiene una nueva entrada para la validación o migración creada recientemente.

Captura de pantalla de los detalles de la migración creada recientemente.

La cuadrícula que muestra las migraciones tiene estas columnas: Nombre, Estado, Tipo de migración, Modo de migración, Servidor de origen, Tipo de servidor de origen, Bases de datos, Hora de inicio y Duración. Las entradas se muestran en el orden descendente de la hora de inicio con la entrada más reciente en la parte superior.

Puede usar el botón Actualizar para actualizar el estado de la validación o migración. También puede seleccionar el nombre de la migración en la cuadrícula para ver los detalles asociados.

Cuando se crea la validación o migración, pasa al estado InProgress y al subestado PerformingPreRequisiteSteps. El flujo de trabajo tarda entre 2 y 3 minutos en configurar la infraestructura de migración y las conexiones de red.

Veamos cómo supervisar las migraciones de cada una de las opciones de migración.

Validación

Una vez completado el subestado PerformingPreRequisiteSteps, la validación pasa al subestado Validación en curso, donde se realizan comprobaciones en el servidor de origen y de destino para evaluar la preparación para la migración.

La validación pasa al estado de Correcto si todas las validaciones están en estado Correcto o Advertencia.

Captura de pantalla de la cuadrícula de validación.

La cuadrícula de validación tiene las

  • Secciones Detalles de validación para la instancia y Detalles de validación para bases de datos que representan las reglas de validación usadas para comprobar la preparación de la migración.
  • Estado de validación: representa el resultado de cada regla y puede tener cualquiera de los tres valores
    • Correcto: si no se encontraron errores.
    • Error: si hay errores de validación.
    • Advertencia:: si hay advertencias de validación.
  • Duración: tiempo necesario para la operación de validación.
  • Hora de inicio y finalización: hora de inicio y finalización de la operación de validación en UTC.

El estado de validación pasa a Con errores si se ha producido algún problema. Seleccione el Nombre de la validación o la validación Nombre de la base de datos en la que se ha producido el error y un panel de distribución ramificada proporcionará los detalles y la acción correctiva que debe realizar para evitar este error.

Captura de pantalla de la cuadrícula de validación con estado erróneo.

Migrate

Una vez completado el sustrato PerformingPreRequisiteSteps, la migración pasa al sustrato MigratingData, que es cuando se realiza la clonación o la copia de las bases de datos. El tiempo que tarda en completarse la migración depende del tamaño y la forma de las bases de datos que migre. La migración es rápida si los datos se distribuyen principalmente de forma uniforme en todas las tablas. Los tamaños de tablas sesgadas tardan un tiempo relativamente más largo.

Al seleccionar cualquiera de las bases de datos en la migración, aparece un panel de distribución ramificada. Se incluye todo el recuento de tablas: copiadas, en cola, copiándose y errores aparte del estado de migración de la base de datos.

Captura de pantalla de la cuadrícula de migración que contiene todos los detalles de la base de datos.

La migración pasa al estado Correcto cuando el estado MigratingData se completa correctamente. Si hay algún problema en el subestado MigratingData, la migración pasa a un estado Error.

Captura de pantalla del resultado de la migración.

Una vez que la migración pasa al estado Correcto, se completa la migración del esquema y los datos del servidor único al destino del servidor flexible. Puedes usar el botón de actualización de la página para confirmar la acción.

Captura de pantalla de las migraciones completadas.

Validar y migrar

En esta opción, las validaciones se realizan primero antes de que se inicie la migración. Una vez completado el subestado PerformingPreRequisiteSteps, el flujo de trabajo pasa al subestado de Validación en curso.

  • Si la validación tiene errores, la migración pasa a un estado Error.
  • Si la validación se completa sin ningún error, se inicia la migración y el flujo de trabajo pasará al subestado Migración de datos.

Podrá ver los resultados de Validar y migrar una vez completada la operación.

Captura de pantalla que muestra la pestaña de validaciones en la página de detalles.

Cancelación de la migración mediante el portal

Puede cancelar las validaciones o migraciones en curso. El flujo de trabajo debe estar en el estado inProgress que se va a cancelar. No se puede cancelar una validación o migración que esté en el estado Correcta o Errónea.

La cancelación de una validación detiene cualquier actividad de validación adicional y la validación pasa al estado de Cancelada. La cancelación de una migración detiene aún más la actividad de migración en el servidor de destino y se mueve a un estado de Cancelada. No quita ni revierte ningún cambio en el servidor de destino. Asegúrese de anular las bases de datos en el servidor de destino implicadas en una migración cancelada.

Después de la migración

Después de completar las bases de datos, debe validar manualmente los datos entre el origen y el destino, así como comprobar que todos los objetos de la base de datos de destino se han creado correctamente.

Después de la migración, se pueden realizar las siguientes tareas:

  • Compruebe los datos en el servidor flexible y asegúrese de que es una copia exacta de la instancia de origen.

  • Después de la comprobación, habilite la opción de alta disponibilidad en el servidor flexible según sea necesario.

  • Cambie la SKU del servidor flexible para que coincida con las necesidades de la aplicación. Este cambio requiere un reinicio del servidor de bases de datos.

  • Si ha cambiado los valores predeterminados de los parámetros del servidor en la instancia de origen, copie esos valores de los parámetros del servidor en el servidor flexible.

  • Copie otras opciones de configuración del servidor, como etiquetas, alertas, reglas de firewall (si procede) de la instancia de origen al servidor flexible.

  • Realice cambios en la aplicación para que las cadenas de conexión apunten a un servidor flexible.

  • Supervise atentamente el rendimiento de la base de datos para ver si requiere el ajuste del rendimiento.