Creación y administración de réplicas de lectura en Azure Database for PostgreSQL: servidor flexible desde Azure Portal, la CLI o la API de REST

SE APLICA A: Azure Database for PostgreSQL con servidor flexible

En este artículo, aprenderá a crear y administrar réplicas de lectura en el Servidor flexible de Azure Database for PostgreSQL desde el Azure Portal, CLI y REST API. Para más información acerca de las réplicas de lectura, consulte la introducción.

Requisitos previos

Una Instancia de Servidor flexible de Azure Database for PostgreSQL como servidor principal.

Nota:

Cuando se implementan réplicas de lectura para cargas de trabajo principales continuas con numerosas operaciones de escritura, el retraso en la replicación puede seguir creciendo y no alcanzar nunca al servidor principal. Esto también puede aumentar el uso de almacenamiento en la réplica principal, ya que los archivos WAL solo se eliminan una vez recibidos en la réplica.

Revisión de la configuración principal

Antes de configurar una réplica de lectura para el Servidor flexible de Azure Database for PostgreSQL, asegúrese de que el servidor primario está configurado para cumplir los requisitos previos necesarios. La configuración específica del servidor principal puede afectar a la capacidad de crear réplicas.

Crecimiento automático del almacenamiento: la configuración de crecimiento automático del almacenamiento en el servidor principal y sus réplicas de lectura deben cumplir a guías específicas para garantizar la coherencia y evitar interrupciones de replicación. Consulte el Crecimiento automático del almacenamientopara obtener reglas y configuraciones detalladas.

SSD prémium v2: la versión actual no admite la creación de réplicas de lectura para los servidores principales mediante el almacenamiento SSD prémium v2. Si la carga de trabajo requiere réplicas de lectura, elija una opción de almacenamiento diferente para el servidor principal.

  1. En Azure Portal, elija la instancia de servidor flexible de Azure Database for PostgreSQL que desee para la réplica.

  2. En el cuadro de diálogo Información general, anote la versión de PostgreSQL (por ejemplo 15.4). Además, tenga en cuenta la región en la que se implementa la réplica principal (por ejemplo East US).

    Captura de pantalla de los ajustes primarios de revisión.

  3. En la barra lateral del servidor, en Configuración, seleccione Proceso y almacenamiento.

  4. Revise y anote la siguiente configuración:

    • Nivel de proceso, Procesador, Tamaño (por ejemplo Standard_D4ads_v5).

    • Storage

      • Tamaño de almacenamiento (por ejemplo 128GB)
      • Crecimiento automático
    • Alta disponibilidad

      • Habilitada / Deshabilitada
      • Configuración de la zona de disponibilidad
    • Configuración de copia de seguridad

      • Período de retención
      • Opciones de redundancia
  5. En Configuración, seleccione Redes.

  6. Revisión la configuración de red.

    Captura de pantalla de la configuración del servidor.

Creación de una réplica de lectura

Para crear una réplica de lectura, siga estos pasos:

  1. Seleccione una instancia de Servidor flexible Azure Database for PostgreSQL existente para utilizarla como servidor principal.

  2. En la barra lateral del servidor, en CONFIGURACIÓN, seleccione Replicación.

  3. Seleccione Crear réplica.

    Captura de pantalla de la acción crear una réplica.

  4. Complete el formulario Aspectos básicos con la siguiente información.

    Captura de pantalla que muestra la introducción de la información básica.

  5. Seleccione Revisar y crear para confirmar la creación de la réplica o Siguiente: Redes si desea agregar, eliminar o modificar las reglas de firewall.

    Captura de pantalla de la acción modificar reglas del firewall.

  6. Deje los valores predeterminados restantes y, a continuación, seleccione el botón Revisar y crear en la parte inferior de la página o continúe con los formularios siguientes para agregar etiquetas o cambiar el método de cifrado de datos.

  7. Revise la información en la ventana de confirmación final. Cuando esté listo, seleccione Crear. Se crea una nueva implementación.

    Captura de pantalla de la revisión de la información en la ventana de confirmación final.

  8. Durante la implementación, verá el elemento principal en estado Updating.

    Captura de pantalla de la principal entrando en estado de actualización.Después de crear la réplica de lectura, puede verla en la ventana Replicación.

    Captura de pantalla de visualización de la nueva réplica en la ventana de replicación.

  • Establezca el nombre del servidor de réplica.

    Sugerencia

    Se trata de un procedimiento recomendado de Cloud Adoption Framework (CAF) para usar una convención de nomenclatura de recursos que le permitirá determinar fácilmente a qué instancia se conecta o administra y dónde reside.

  • Seleccione una ubicación diferente de la principal, pero tenga en cuenta que puede seleccionar la misma región.

    Sugerencia

    Para más información sobre las regiones en las que puede crear una réplica, consulte el artículo sobre los conceptos de la réplica de lectura.

  • Establezca el proceso y el almacenamiento como lo registró en la base de datos principal. Si el proceso mostrado no coincide, seleccione Configurar servidor y seleccione el adecuado.

    Nota:

    Si selecciona un tamaño de proceso menor que el principal, se producirá un error en la implementación. Tenga en cuenta también que es posible que el tamaño de proceso no esté disponible en otra región.

    Captura de pantalla de la elección del tamaño de cálculo.

Importante

Revise la sección sobre las consideraciones de la información general de Réplicas de lectura.

Para evitar problemas durante la promoción de réplicas, cambie constantemente los siguientes parámetros de servidor en las réplicas en primer lugar, antes de aplicarlos en la principal: max_connections, max_prepared_transactions, max_locks_per_transaction, max_wal_senders, max_worker_processes.

Creación de puntos de conexión virtuales

Nota:

Todas las operaciones que implican puntos de conexión virtuales, como agregar, editar o quitar, se ejecutan en el contexto del servidor principal.

  1. En Azure Portal, seleccione el servidor principal.

  2. En la barra lateral del servidor, en CONFIGURACIÓN, seleccione Replicación.

  3. Seleccione Crear punto de conexión.

  4. En el cuadro de diálogo, escriba un nombre descriptivo para el punto de conexión. Observe el punto de conexión DNS que se está generando.

    Captura de pantalla de la creación de un nuevo punto de conexión virtual con un nombre personalizado.

  5. Seleccione Crear.

    Nota:

    Si no crea un punto de conexión virtual, recibirá un error en el intento de promoción de réplica.

    Captura de pantalla del error de promoción cuando falta un punto de conexión virtual.

Enumeración de puntos de conexión virtuales

Para enumerar los puntos de conexión virtuales, siga estos pasos:

  1. En Azure Portal, seleccione el servidor principal.

  2. En la barra lateral del servidor, en CONFIGURACIÓN, seleccione Replicación.

  3. En la parte superior de la página, verá que se muestran los puntos de conexión lector y escritor, junto con los nombres de los servidores a los que apunta.

    Captura de pantalla de la lista de puntos de conexión virtuales.

Modificación de la aplicación para que apunte al punto de conexión virtual

Modifique cualquier aplicación que esté utilizando su instancia del Servidor flexible de Azure Database for PostgreSQL para utilizar los nuevos puntos de conexión virtuales (ej: corp-pg-001.writer.postgres.database.azure.com y corp-pg-001.reader.postgres.database.azure.com).

Promoción de la réplica

Con todos los componentes necesarios en su lugar, ya puede realizar una operación de promover de réplica a principal.

Para promover la réplica desde Azure Portal, siga estos pasos:

  1. En Azure Portal, seleccione su instancia de Servidor flexible principal de Azure Database for PostgreSQL.

  2. En el menú del servidor, en Configuración, seleccione Replicación.

  3. En Servidores, seleccione el icono Promover de la réplica.

    Captura de pantalla de la selección para promocionar una réplica.

  4. En el cuadro de diálogo, asegúrese de que la acción sea Promover al servidor principal.

  5. En Sincronización de datos, asegúrese de que Planear: sincronizar datos antes de promover está seleccionado.

    Captura de pantalla de cómo seleccionar la promoción de una réplica.

  6. Seleccione Promover para comenzar el proceso. Una vez completado, los roles inversos: la réplica se convierte en la principal y la principal asume el rol de la réplica.

Nota:

La réplica que está promoviendo debe tener asignado el punto de conexión virtual del lector o recibirá un error en la promoción.

Prueba de aplicaciones

Para realizar algunas operaciones, reinicie las aplicaciones y, a continuación, intente esas operaciones. Las aplicaciones deben funcionar sin problemas sin modificar la cadena de conexión del punto de conexión virtual ni las entradas DNS. Deje las aplicaciones en ejecución esta vez.

Conmutación por recuperación al servidor y la región originales

Repita las mismas operaciones para promover el servidor original al servidor principal.

  1. Seleccione la réplica en Azure Portal.

  2. En la barra lateral del servidor, en Configuración, seleccione Replicación

  3. En Servidores, seleccione el icono Promover de la réplica.

  4. En el cuadro de diálogo, asegúrese de que la acción sea Promover al servidor principal.

  5. En Sincronización de datos, asegúrese de que Planear: sincronizar datos antes de promover está seleccionado.

  6. Seleccione Promover, comienza el proceso. Una vez completado, los roles inversos: la réplica se convierte en la principal y la principal asume el rol de la réplica.

Prueba de aplicaciones

De nuevo, cambie a una de las aplicaciones que consumen. Espere a que el estado principal y de réplica cambie a Updating y, a continuación, intente realizar algunas operaciones. Durante la promoción de réplica, la aplicación podría encontrar problemas de conectividad temporales con el punto de conexión:

Captura de pantalla de posibles errores de conectividad de promoción.

Agregar réplica de lectura secundaria

Cree una réplica de lectura secundaria en una región independiente para modificar el punto de conexión virtual del lector y para permitir la creación de un servidor independiente desde la primera réplica.

  1. En Azure Portal, elija el Servidor flexible principal de Azure Database for PostgreSQL.

  2. En la barra lateral del servidor, en CONFIGURACIÓN, seleccione Replicación.

  3. Seleccione Crear réplica.

  4. Introduzca el formulario Aspectos básicos con información en una tercera región (por ejemplo westus y corp-pg-westus-001)

  5. Seleccione Revisar y crear para confirmar la creación de la réplica o Siguiente: Redes si desea agregar, eliminar o modificar las reglas de firewall.

  6. Verificar la configuración del firewall. Observe cómo se copian automáticamente la configuración principal.

  7. Deje los valores predeterminados restantes y, a continuación, seleccione el botón Revisar y crear en la parte inferior de la página o continúe con los siguientes formularios para configurar la seguridad o agregar etiquetas.

  8. Revise la información en la ventana de confirmación final. Cuando esté listo, seleccione Crear. Se crea una nueva implementación.

  9. Durante la implementación, verá el elemento principal en estado Updating.

    Captura de pantalla de la principal entrando en estado de actualización.

Modificación del punto de conexión virtual

  1. En Azure Portal, elija el Servidor flexible principal de Azure Database for PostgreSQL.

  2. En la barra lateral del servidor, en CONFIGURACIÓN, seleccione Replicación.

  3. Seleccione los puntos suspensivos y, a continuación, seleccione Editar.

    Captura de pantalla de la edición del punto de conexión virtual.

  4. En el cuadro de diálogo, seleccione la nueva réplica secundaria.

    Captura de pantalla de la selección de la réplica secundaria.

  5. Seleccione Guardar. El punto de conexión del lector ahora apunta a la réplica secundaria y la operación de promoción ahora está vinculada a esta réplica.

Promoción de la réplica al servidor independiente

En lugar de cambiar a una réplica, también es posible interrumpir la replicación de una réplica de modo que se convierta en su servidor independiente.

  1. En Azure Portal, elija el servidor principal del Servidor flexible de Azure Database for PostgreSQL.

  2. En la barra lateral del servidor, en el menú del servidor, en Configuración, seleccione Replicación.

  3. En Servidores, seleccione el icono Promover de la réplica que desea promover a un servidor independiente.

    Captura de pantalla de cómo seleccionar la promoción de una réplica 2.

  4. En el cuadro de diálogo, asegúrese de que la acción es Promover al servidor independiente y quitar de la replicación. Esto no afectará al servidor principal.

  5. En Sincronización de datos, asegúrese de que Planear: sincronizar datos antes de promover está seleccionado.

    Captura de pantalla de la promoción de la réplica en un servidor independiente.

  6. Seleccione Promover, comienza el proceso. Una vez completado, el servidor ya no es una réplica de la principal.

Nota:

Una vez que se promueve una réplica a un servidor independiente, no se puede volver a agregar al conjunto de replicación.

Eliminación del punto de conexión virtual

  1. En Azure Portal, seleccione el servidor principal.

  2. En la barra lateral del servidor, en CONFIGURACIÓN, seleccione Replicación.

  3. En la parte superior de la página, busque la sección Virtual endpoints. Vaya a los tres puntos (opciones de menú) junto al nombre del punto de conexión, expándalo y elija Delete.

  4. Aparece un cuadro de diálogo de confirmación de eliminación. Le advierte: "Esta acción elimina el punto de conexión virtual virtualendpointName. Los clientes conectados mediante estos dominios pueden perder acceso". Confirme las implicaciones y confirme haciendo clic en Eliminar.

Eliminación de una réplica

Puede eliminar una réplica de lectura de forma similar a como elimina una instancia de servidor flexible independiente de Azure Database for PostgreSQL.

  1. En Azure Portal, abra la página Introducción para la réplica de lectura. Seleccione Eliminar.

    Captura de pantalla de la página Resumen de réplicas, seleccione para eliminar la réplica.

También puede eliminar la réplica de lectura desde la ventana Replicación siguiendo estos pasos:

  1. En Azure Portal, seleccione su instancia de Servidor flexible principal de Azure Database for PostgreSQL.

  2. En el menú del servidor, en Configuración, seleccione Replicación.

  3. Seleccione la réplica de lectura que desea eliminar y, a continuación, seleccione los puntos suspensivos. Seleccione Eliminar.

    Captura de pantalla de selección de la réplica a eliminar.

  4. Confirme la operación de eliminación.

Eliminación de un servidor principal

Solo puede eliminar el servidor principal una vez que elimine todas las réplicas de lectura. Para eliminar réplicas, siga las instrucciones de la sección Eliminar una réplica y, a continuación, continúe con los pasos proporcionados.

Para eliminar un servidor de Azure Portal, siga estos pasos:

  1. En Azure Portal, seleccione su instancia de Servidor flexible principal de Azure Database for PostgreSQL.

  2. En la página Información general del servidor, seleccione Eliminar.

    Captura de pantalla de la página Información general del servidor, seleccione para eliminar el servidor principal.

  3. Escriba el nombre del servidor principal que desea eliminar. Seleccione Eliminar para confirmar la eliminación del servidor principal.

    Captura de pantalla de confirmación para eliminar el servidor principal.

Supervisión de una réplica

Están disponibles dos métricas para supervisar las réplicas de lectura.

Retraso máximo de replicación física

Solo está disponible en el servidor principal.

La métrica Retraso máximo de replicación física muestra el retardo en bytes entre el servidor principal y la réplica con mayor retardo.

  1. En Azure Portal, seleccione el servidor principal.

  2. Seleccione Métricas. En la ventana Métricas, seleccione Retraso máximo de replicación física.

    Captura de pantalla de la página Métricas mostrando la métrica Retraso máximo de replicación física.

  3. En Agregación, seleccione Máx.

Métrica Retraso de réplica de lectura

La métrica Retraso de réplica de lectura muestra el tiempo transcurrido desde la última transacción reproducida en una réplica. Si no se produce ninguna transacción en el servidor principal, la métrica refleja este retardo de tiempo. Por ejemplo, si no se producen transacciones en el servidor principal y la última transacción se reprodujo hace 5 segundos, el retraso de réplica de lectura mostrará 5 segundos de retraso.

  1. En Azure Portal, seleccione Réplica de lectura.

  2. Seleccione Métricas. En la ventana Métricas, seleccione Retraso de réplica de lectura.

    Captura de pantalla de la página Métricas mostrando la métrica Retraso en la réplica de lectura.

  3. En Agregación, seleccione Máx.