En esta página, se describe cómo usar y promover réplicas de lectura entre regiones (réplicas creadas en una región diferente a la de la principal) para la migración regional o la recuperación ante desastres.
Descripción general
Hay dos situaciones comunes en las que se ascienden réplicas entre regiones:
- Migración regional: Realiza una migración planificada de una base de datos a una región diferente.
- Recuperación ante desastres: Conmuta por error una base de datos a otra región en caso de que la región principal deje de estar disponible.
Ambos casos de uso incluyen la configuración de la replicación entre regiones y, luego, el ascenso de la réplica. La principal diferencia entre ellos es si el ascenso de la réplica está planificado (en el caso de la migración regional) o no planificado (se requiere una conmutación por error a la región de la réplica para continuar con las operaciones porque la principal dejó de estar disponible).
Migración regional
Puedes usar una réplica entre regiones para migrar tu base de datos a otra región con un tiempo de inactividad mínimo. La idea general es crear una réplica en otra región, esperar a que la replicación se actualice, ascenderla y, luego, dirigir a los clientes a la instancia recién ascendida.
Los pasos involucrados en el ascenso son los mismos que se usan a fin de ascender una réplica dentro de la región. Sigue estas instrucciones para asegurarte de que la instancia recién ascendida tenga todas las transacciones confirmadas en la instancia principal original. Una vez que hayas ascendido la réplica y verificado que la instancia recién ascendida funciona, actualiza todos los clientes de la base de datos para que se conecten con la instancia nueva.
Recuperación ante desastres (DR)
Las réplicas entre regiones se pueden usar como parte de un procedimiento de recuperación ante desastres. Puedes ascender una réplica entre regiones para conmutar por error a otra región si la región de la instancia principal deja de estar disponible por un período prolongado.
Para obtener más información sobre la recuperación ante desastres, consulta Información sobre la recuperación ante desastres en Cloud SQL.
Verifica los criterios de conmutación por error
Debido a que la replicación es asíncrona, cuando se produce una interrupción regional y se intenta realizar una conmutación por error, es posible que se pierdan algunas transacciones recientes que se confirmaron en la instancia principal (no se replican en la réplica). Cuando una instancia principal deja de estar disponible, en los pasos siguientes se muestran (1) cómo determinar la cantidad de datos, si los hubiere, que podrían haberse perdido en la conmutación por error entre regiones y (2) cómo garantizar que la réplica promocionada refleje la mayor cantidad posible de escrituras recientes.
Primero, verifica los valores Lag Bytes
en el panel de supervisión. Cuando hay una interrupción que afecta solo a la región de la instancia principal, Lag Bytes
se informa en la instancia principal.
Luego, conéctate a la instancia de réplica con un cliente PostgreSQL mediante las instrucciones que se muestran en la página estado de replicación (consulta la pestaña Cliente de psql). Consulta las instrucciones relacionadas con las métricas pg_catalog.pg_last_wal_receive_lsn()
y pg_catalog.pg_last_wal_replay_lsn()
. Verifica que la réplica haya procesado todas las transacciones que recibió de la instancia principal.
Esto garantiza que, cuando se promueva, la réplica refleje todas las transacciones que se recibieron antes de que la instancia principal dejara de estar disponible.
Asciende una réplica de lectura
Una vez que determines que se cumplen los criterios de conmutación por error, puedes promover una de las réplicas a una instancia independiente que admita operaciones de escritura. Considera la siguiente situación:
- La región A (us-central1) tiene una instancia principal con alta disponibilidad (db-a-0).
- La región B (us-west1) tiene una réplica entre regiones con alta disponibilidad (db-b-1) de db-a-0.
- La región C (us-east1) tiene una réplica entre regiones (db-c-1) de db-a-0.
Puedes elegir ascender db-b-1 en la región B para que se convierta en una instancia independiente que admita escritura.
Consulta Asciende una réplica para obtener instrucciones detalladas.
Asegúrate de que el tipo de máquina sea adecuado
Asegúrate de que el tipo de máquina de la instancia recién ascendida sea adecuado para su carga de trabajo mediante la supervisión de métricas de la instancia, como el uso de CPU y memoria. Si la instancia recién ascendida es más pequeña que la instancia principal anterior, te recomendamos que cambies el tamaño de la instancia ascendida para que coincida con su instancia principal anterior, de modo que pueda manejar la misma cantidad de carga.
Habilita la alta disponibilidad en la instancia que se ascendió
Para una configuración de recuperación ante desastres, recomendamos que configures la réplica que planeas ascender como una réplica de alta disponibilidad. De forma alternativa, configura la instancia recién ascendida como de alta disponibilidad. Si eliges no configurar la réplica de lectura con alta disponibilidad, también puedes configurar la instancia con alta disponibilidad cuando la asciendas (si es que lo haces).
Cuando se ascienden, las réplicas de lectura se configuran de forma automática con copias de seguridad. La configuración de una réplica de lectura para alta disponibilidad se realiza de la misma manera que para una instancia principal. Si deseas obtener más información, consulta Configura la instancia para alta disponibilidad.
Vuelve a crear réplicas adicionales
Si asciendes una réplica para que se convierta en una instancia principal, debes volver a crear cualquier otra réplica de la instancia principal anterior. Por ejemplo, considera la configuración que se mencionó antes y que se repite aquí:
- La región A (us-central1) tiene una instancia principal con alta disponibilidad (db-a-0).
- La región B (us-west1) tiene una réplica entre regiones (db-b-1) de db-a-0.
- La región C (us-east1) tiene una réplica entre regiones (db-c-1) de db-a-0.
Si la instancia principal (db-a-0) deja de estar disponible, puedes ascender la réplica en la región B para que se convierta en la instancia principal. Para volver a tener réplicas adicionales en las regiones A y C, borra las instancias anteriores (la instancia que antes era la principal en A y la réplica en C) y crea réplicas de lectura nuevas a partir de la instancia principal nueva en B.
La configuración resultante sería la siguiente:
- La región A (us-central1) ahora tiene una réplica entre regiones (db-a-1).
- La región B (us-west1) ahora tiene la instancia principal (db-b-1).
- La región C (us-east1) ahora tiene una réplica nueva entre regiones (db-c-2).