En esta página se describe cómo configurar una instancia de segunda generación para lograr una alta disponibilidad.
La forma más fácil de configurar una instancia para alta disponibilidad es hacerlo al crear la instancia. También puedes habilitar la alta disponibilidad en una instancia existente.
Para obtener más información sobre la configuración de alta disponibilidad, consulta Descripción general de la Configuración de alta disponibilidad.
Crear una nueva instancia configurada para alta disponibilidad
Cuando creas una instancia de segunda generación, puedes configurarla para alta disponibilidad; Cloud SQL crea la réplica de conmutación por error al mismo tiempo que crea el maestro.
Para crear una instancia configurada para alta disponibilidad:
Consola
- Ve a la página de instancias de Cloud SQL de la consola de Google Cloud Platform.
- Crea a una instancia de segunda generación. Para ello, marca la casilla Alta disponibilidad en la sección de opción de configuración Habilitar copias de seguridad automáticas y alta disponibilidad y deja activada la copia de seguridad y registro binarios automatizados.
gcloud
- Crea la instancia maestra y su réplica de conmutación por error:
gcloud sql instances create [MASTER_INSTANCE_NAME] \ --backup-start-time [BACKUP_WINDOW_START_TIME] \ --failover-replica-name [FAILOVER_REPLICA_NAME] \ --tier [MACHINE_TYPE] --enable-bin-log
La hora de inicio de la ventana de copia de seguridad está en el formato
HH:MM
. - Configura el usuario raíz en el maestro:
gcloud sql users set-password root % \ --instance [MASTER_INSTANCE_NAME] --password [PASSWORD]
cURL
- Crea la instancia maestra y su réplica de conmutación por error:
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"name":"[MASTER_INSTANCE_NAME]", "region":"[REGION]", "settings": { "tier":"[MACHINE_TYPE]", "backupConfiguration": {"binaryLogEnabled": true, "enabled": true}}, "failoverReplica": {"name": "[FAILOVER_REPLICA_NAME]"}}' \ -X POST \ https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances
Para ver la lista completa de parámetros de esta petición, accede a la página instances:insert. -
Cuando el maestro termine de inicializarse, actualiza la contraseña raíz en el maestro:
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"name": "root", "host": "%", "password": "[ROOT_PASSWORD]"}' \ 'https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users?host=%25&name=root'
Este cambio se propaga automáticamente en la réplica.
La réplica de conmutación por error se crea con el mismo tipo de máquina (nivel) que la instancia maestra. Puedes cambiar luego el tipo de máquina de la réplica de conmutación por error, pero debe ser al menos tan grande como la instancia maestra.
Para obtener más información sobre cómo crear una instancia, consulta Crear instancias.
Configurar una instancia existente para alta disponibilidad
Consola
El proceso para configurar una instancia existente para alta disponibilidad se compone de los siguientes pasos:
- Inicia la creación de réplicas de conmutación por error.
- Si es necesario, habilita las copias de seguridad y el registro binario en la instancia.
- Finaliza la creación de la réplica de conmutación por error.
- Tienes la opción de probar la conmutación por error.
La consola de Google Cloud Platform te ayudará durante la mayor parte de este proceso.
Para configurar una instancia existente para alta disponibilidad:
- Ve a la página de instancias de Cloud SQL de la consola de Google Cloud Platform.
- Busca la instancia que quieras configurar para alta disponibilidad en la lista de instancias y haz clic en Agregar.
Se abre la página Crear réplica de conmutación por error. Si la instancia está lista para crear réplicas, se mostrarán los campos que puedes editar para la réplica, y puede ir directamente al paso 6. Si no, continúa con el siguiente paso.
-
Si la instancia no tiene habilitados los registros binarios o las copias de seguridad, habilítalos ahora seleccionando ambas casillas de verificación y haciendo clic en Guardar y reiniciar.
Nota: Al habilitar el registro binario en una instancia existente, se reinicia la instancia. Las conexiones de bases de datos existentes se pierden y deben volver a abrirse.
Ya deberías poder ver la página Crear réplica de conmutación por error.
- Revisa la configuración actual de la réplica y actualiza las configuraciones según sea necesario.
Por ejemplo, puedes cambiar el nombre de la réplica, agregar una red autorizada o cambiar la zona de la réplica. Puedes cambiar el tipo de máquina (nivel), pero debe ser al menos tan grande como la instancia maestra. Los indicadores de MySQL deben ser idénticos en el maestro y en la réplica.
- Haz clic en Crear para crear la réplica.
Volverás a la página de la instancia para el maestro mientras se inicializa la réplica.
gcloud
- Comprueba el estado de la instancia maestra:
gcloud sql instances describe [MASTER_INSTANCE_NAME]
Si la propiedad
databaseReplicationEnabled
estrue
, la instancia es una réplica; no se puede crear una réplica de conmutación por error para una réplica. - Si la propiedad
enabled
enbackupConfiguration
esfalse
, habilita copias de seguridad para la instancia maestra ahora:gcloud sql instances patch [MASTER_INSTANCE_NAME] --backup-start-time [HH:MM]
El parámetro
backup-start-time
se especifica en 24 horas, en la zona horaria UTC ± 00, y especifica el inicio de una ventana de copia de seguridad de 4 horas. Las copias de seguridad pueden iniciarse en cualquier momento del periodo de copia de seguridad. - Si la propiedad
binaryLogEnabled
esfalse
, habilita los registros binarios:gcloud sql instances patch --enable-bin-log [MASTER_INSTANCE_NAME]
Al habilitar los registros binarios, se reinicia la instancia.
- Crea la réplica:
gcloud sql instances create [FAILOVER_REPLICA_NAME] \ --master-instance-name=[MASTER_INSTANCE_NAME] \ --replica-type=FAILOVER
cURL
- Comprueba el estado de la instancia maestra:
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ -X GET \ https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]?fields=settings
El resultado contendrá la
backupConfiguration
, por ejemplo:"backupConfiguration": { "kind": "sql#backupConfiguration", "startTime": "12:00", "enabled": true, "binaryLogEnabled": true }
- Si
enabled
obinaryLogEnabled
sonfalse
, usa el métodopatch
del recurso de las instancias para habilitarlos. Especifica las propiedades de la configuración de la copia de seguridad que quieras conservar tal cual y las que quieras cambiar.Para habilitar las copias de seguridad, establece
enabled
entrue
ystartTime
en un valor que sea el inicio de la ventana de copia de seguridad. Para habilitar el registro binario, establecebinaryLogEnabled
entrue
.curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"settings" : {"backupConfiguration" : {"startTime": "[HH:MM]", "enabled": true, "binaryLogEnabled": true}}}' \ -X PATCH \ https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]
-
Usa el método de
insert
del recurso de instancias para crear la réplica de lectura.curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"name": "[REPLICA_NAME]", "masterInstanceName": "[MASTER_INSTANCE_NAME]", "region": "[MASTER_REGION]", "databaseVersion": "[MASTER_DATABASE_VERSION]", "replicaConfiguration": {"failoverTarget": true}, "settings": {"tier":"[MACHINE_TYPE]"}}' \ -X POST \ https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances
MACHINE_TYPE
debe ser un tipo de máquina válido para instancias de segunda generación y al menos tan grande como el tipo de máquina de la instancia maestra.
Inicializar la conmutación por error
La prueba de conmutación por error es opcional, pero se recomienda realizarla para poder ver cómo responde la aplicación en el caso de una conmutación por error.
Consola
- Ve a la página de instancias de Cloud SQL de la consola de Google Cloud Platform.
- Haz clic en el nombre de la instancia maestra para abrir la página Detalles de instancia.
- Haz clic en Conmutación por error en la barra de botones.
gcloud
Inicializa la conmutación por error:
gcloud sql instances failover [MASTER_INSTANCE_NAME]
cURL
- Describe la instancia maestra para obtener el valor del campo `settingsVersion`.
ACCESS_TOKEN="$(gcloud auth application-default print-access-token)" curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ -X GET \ https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]
- Inicializa la conmutación por error:
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \ --header 'Content-Type: application/json' \ --data '{"failoverContext":{"settingsVersion":"[SETTINGS_VERSION]"}}' \ -X POST \ https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]/failover
La instancia falla y no está disponible para servir datos durante unos minutos.
Crear una alerta para retraso de replicación
El tiempo necesario para una operación de conmutación por error depende de la cantidad de retraso de replicación cuando se inicia la conmutación por error. Puedes utilizar Stackdriver Monitoring en la consola de Google Cloud Platform para que te avise cuando el retraso de replicación supere un límite.
Para obtener más información sobre el retraso de replicación, busca "seconds_behind_master" en la página SHOW SLAVE STATUS Syntax en la documentación de MySQL.
Para obtener más información sobre Stackdriver Monitoring, consulta la documentación de Stackdriver Monitoring.
Establecer una alerta para una réplica de conmutación por error específica
- Haz clic en el logotipo de Stackdriver en la esquina superior izquierda para volver a la página principal de Stackdriver Monitoring.
- Haz clic en Crear política de alertas.
- Introduce un nombre descriptivo para la alerta.
- Selecciona Umbral métrico y haz clic en Siguiente para abrir la pestaña Destino.
- En Tipo de recurso, selecciona Cloud SQL.
- En Se aplica a, selecciona Individual y luego tu réplica de conmutación por error.
- Haz clic en Siguiente para abrir la pestaña Configuración.
-
Introduce los siguientes valores:
Campo Valor Si métrico Segundos detrás del maestro Condición Por encima de los Umbrales 120 (o el valor que sea apropiado para tu entorno) Por 3 minutos -
Selecciona los métodos de Notificación que quieras y haz clic en Guardar condición.
Configurar una alerta para un grupo de réplicas de conmutación por error
Si tienes previsto crear varias réplicas de conmutación por error en el mismo proyecto, podría ser más fácil establecer la alerta para todo el grupo, en lugar de hacerlo en cada réplica de conmutación por error de forma individual. Para crear un grupo para la supervisión, usa un sufijo para los nombres de las réplicas de conmutación por error, como "-failover". Asegúrate de no utilizar este sufijo para ningún otro tipo de instancias de Cloud SQL.
Crea tu grupo de réplica de conmutación por error:
- En el menú de la izquierda, selecciona Supervisión para abrir la página de Stackdriver Monitoring e inicia sesión.
- En la barra de menú superior, selecciona Grupos > Crear...
- Introduce un nombre descriptivo para tu grupo.
- Deja seleccionados Nombre y Contiene e introduce la subcadena de nombre.
-
Haz clic en Guardar grupo.
Se abrirá la página de resumen para el nuevo grupo.
-
Confirma que las instancias esperadas estén incluidas en el grupo.
Crea la alerta para el grupo de réplicas de conmutación por error:
- Haz clic en el logotipo de Stackdriver en la esquina superior izquierda para volver a la página principal de Stackdriver Monitoring.
- Haz clic en Crear política de alertas.
- introduce un nombre descriptivo para tu alerta grupal.
- Selecciona Umbral métrico y haz clic en Siguiente para abrir la pestaña Destino.
- En Tipo de recurso, selecciona Cloud SQL.
- En Se aplica a, selecciona Grupo, y luego, tu grupo de conmutación por error.
- Deja seleccionada Cualquier miembro infringe y haz clic en Siguiente para abrir la pestaña Configuración.
-
Introduce los siguientes valores:
Campo Valor Si métrico Segundos detrás del maestro Condición Por encima de los Umbrales 120 (o el valor que sea apropiado para tu entorno) Por 3 minutos -
Selecciona los métodos de Notificación que quieras y haz clic en Guardar condición.
Siguientes pasos
- Obtén más información sobre cómo funciona la configuración de alta disponibilidad.
- Prueba cómo responde tu aplicación a las conexiones perdidas reiniciando la instancia.
- Obtén más información sobre cómo administrar las conexiones de tu base de datos.
- Crea réplicas de lectura para tu instancia.
- Obtén más información sobre Stackdriver Monitoring.