Habilita e inhabilita la alta disponibilidad en una instancia

En esta página, se describe cómo configurar una instancia para alta disponibilidad.

Puedes configurar una instancia para alta disponibilidad cuando la creas, o bien habilitar la alta disponibilidad en una instancia existente.

Para obtener más información sobre la alta disponibilidad, consulta la página Descripción general de la configuración de alta disponibilidad.

Crea una instancia nueva para alta disponibilidad

Cuando creas una instancia y la configuras para alta disponibilidad, Cloud SQL la crea como una instancia regional.

Para crear una instancia que tenga alta disponibilidad configurada, realiza los siguientes pasos:

Console

  1. Ve a la página Instancias de Cloud SQL en Google Cloud Console.

    Ir a la página Instancias de Cloud SQL

  2. Crea una instancia.
  3. En la página Información de la instancia, selecciona Mostrar opciones de configuración.
  4. Abre Copias de seguridad, recuperación y alta disponibilidad.
  5. Selecciona el botón de selección Alta disponibilidad (regional).

gcloud

  1. Crea la instancia regional:
    gcloud sql instances create [REGIONAL_INSTANCE_NAME] \
                                     --availability-type=REGIONAL \
                                     --database-version=SQLSERVER_2017_STANDARD \
                                     --cpu=[NUMBER_CPUS] --memory=[MEMORY_SIZE]
    
  2. Configura el usuario raíz:
    gcloud sql users set-password root no-host \
               --instance=[REGIONAL_INSTANCE_NAME]
               --password=[PASSWORD]
    
Para obtener una lista completa de los parámetros disponibles, visita la página de referencia de gcloud sql instances create.

REST

Para obtener la lista completa de los parámetros de esta solicitud, visita la página instances:insert.

Crea la instancia regional.

  1. Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • project-id: El ID del proyecto
    • instance-name: es el nombre de la instancia.
    • database-version: es la string de enumeración de la versión de la base de datos.
    • region: La región de GCP
    • machine-type: es el tipo de máquina.

    Método HTTP y URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances

    Cuerpo JSON de la solicitud:

    {
      "name": "instance-name",
      "region": "region",
      "databaseVersion": "database-version",
       "settings": {
         "tier": "machine-type",
         "backupConfiguration": {
             "enabled": true
          },
          "availabilityType": "REGIONAL"
       }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la siguiente:

  2. Una vez que la instancia termina de inicializarse, actualiza la contraseña raíz en la instancia:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • project-id: El ID del proyecto
    • instance-id: El ID de la instancia
    • password: es la contraseña de usuario raíz nueva.

    Método HTTP y URL:

    PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=%25&name=sqlserver'

    Cuerpo JSON de la solicitud:

    {
       "name": "sqlserver",
       "host": "nohost",
       "password": "password"}
    

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

Para obtener más información sobre cómo crear una instancia, consulta Crea instancias.

Configura una instancia existente de alta disponibilidad

Configurar una instancia existente de alta disponibilidad ocasiona algunos minutos de tiempo de inactividad mientras la instancia se configura de nuevo.

Si deseas configurar una instancia existente para que tenga alta disponibilidad, sigue estos pasos:

Console

Configurar una instancia existente para una alta disponibilidad ocasiona algunos minutos de inactividad mientras la instancia se vuelve a configurar.

Para configurar una instancia existente con alta disponibilidad, sigue estos pasos:

  1. Ve a la página Instancias de Cloud SQL en Google Cloud Console.

    Ir a la página Instancias de Cloud SQL

  2. Haz clic en el nombre de la instancia para abrir la página Descripción general de la instancia y selecciona Editar en la barra de botones.
  3. En la sección de opciones de configuración Copias de seguridad automáticas y alta disponibilidad, selecciona Alta disponibilidad (regional). También se recomienda habilitar Automatizar copias de seguridad.
  4. Haz clic en Guardar.

    Volverás a la página de la instancia principal mientras la instancia se actualiza.

gcloud

Actualiza la instancia para que sea regional:

gcloud sql instances patch [INSTANCE_NAME] --availability-type REGIONAL

Para obtener información de referencia, consulta gcloud sql instances patch.

REST

Configurar una instancia existente para que tenga alta disponibilidad genera algunos minutos de inactividad mientras la instancia se vuelve a configurar.

Actualiza la instancia para que sea una instancia regional:

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-name: El nombre de la instancia

Método HTTP y URL:

PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name

Cuerpo JSON de la solicitud:

{
  "settings": {"availabilityType": "REGIONAL" }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

Inicia una conmutación por error

Realizar pruebas sobre la conmutación por error es opcional, pero se recomienda para probar cómo responde tu aplicación en caso de que ocurra una conmutación por error.

Para obtener más información sobre las conmutaciones por error, consulta la Descripción general de conmutaciones por error.

Console

  1. Ve a la página Instancias de Cloud SQL en Google Cloud Console.

    Ir a la página Instancias de Cloud SQL

  2. Haz clic en el nombre de la instancia principal para abrir la página Detalles de la instancia.
  3. Haz clic en Conmutación por error en la barra de botones.

gcloud

Inicia la conmutación por error:

gcloud sql instances failover [PRIMARY_INSTANCE_NAME]

REST

  1. Describe la instancia principal para obtener el valor del campo settingsVersion.

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • project-id: El ID del proyecto
    • instance-id: El ID de la instancia

    Método HTTP y URL:

    GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

    {
      "kind": "sql#instance",
      "state": "RUNNABLE",
      "databaseVersion": "MYSQL_5_7",
      "settings": {
        "authorizedGaeApplications": [],
        "tier": "db-f1-micro",
        "kind": "sql#settings",
        "pricingPlan": "PER_USE",
        "replicationType": "SYNCHRONOUS",
        "activationPolicy": "ALWAYS",
        "ipConfiguration": {
          "authorizedNetworks": [],
          "ipv4Enabled": true
        },
        "locationPreference": {
          "zone": "asia-east1-a",
          "kind": "sql#locationPreference"
        },
        "dataDiskType": "PD_SSD",
        "backupConfiguration": {
          "startTime": "08:00",
          "kind": "sql#backupConfiguration",
          "enabled": true,
          "binaryLogEnabled": true
        },
        "settingsVersion": "13",
        "storageAutoResizeLimit": "0",
        "storageAutoResize": true,
        "dataDiskSizeGb": "10"
      },
      "etag": "etag-id",
      "ipAddresses": [
        {
          "type": "PRIMARY",
          "ipAddress": "10.0.0.1"
        }
      ],
      "serverCaCert": {
        "kind": "sql#sslCert",
        "certSerialNumber": "0",
        "cert": "certificate-id",
        "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
        "sha1Fingerprint": "sha-id",
        "instance": "instance-id",
        "createTime": "2019-06-28T22:46:35.052Z",
        "expirationTime": "2029-06-25T22:47:35.052Z"
      },
      "instanceType": "CLOUD_SQL_INSTANCE",
      "project": "project-id",
      "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
      "backendType": "SECOND_GEN",
      "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
      "connectionName": "project-id:region:instance-id",
      "name": "instance-id",
      "region": "asia-east1",
      "gceZone": "asia-east1-a"
    }
    
  2. Inicia la conmutación por error:

    Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

    • project-id: El ID del proyecto
    • instance-name: El nombre de la instancia
    • settings-version: es el valor settingsVersion de instanceInfo.

    Método HTTP y URL:

    POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name/failover

    Cuerpo JSON de la solicitud:

    {
      "failoverContext":
         {
            "settingsVersion":"settings-version"
         }
    }
    

    Para enviar tu solicitud, expande una de estas opciones:

    Deberías recibir una respuesta JSON similar a la siguiente:

La instancia se conmuta por error y no estará disponible para entregar datos durante algunos minutos.

Verifica si una instancia tiene alta disponibilidad

Para verificar que una instancia tenga alta disponibilidad, sigue estos pasos:

Console

  1. Ve a la página Instancias de Cloud SQL en Google Cloud Console.

    Ir a la página Instancias de Cloud SQL

  2. Haz clic en el nombre de una instancia para abrir su página Detalles de la instancia.
  3. En Configuración, se muestra Alta disponibilidad (regional).

gcloud

gcloud sql instances describe [INSTANCE_NAME]
El resultado indica que availabilityType es REGIONAL.

REST

Antes de usar cualquiera de los datos de solicitud siguientes, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-id: El ID de la instancia

Método HTTP y URL:

GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir una respuesta JSON similar a la que se muestra a continuación:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_5_7",
  "settings": {
    "authorizedGaeApplications": [],
    "tier": "db-f1-micro",
    "kind": "sql#settings",
    "pricingPlan": "PER_USE",
    "replicationType": "SYNCHRONOUS",
    "activationPolicy": "ALWAYS",
    "ipConfiguration": {
      "authorizedNetworks": [],
      "ipv4Enabled": true
    },
    "locationPreference": {
      "zone": "asia-east1-a",
      "kind": "sql#locationPreference"
    },
    "dataDiskType": "PD_SSD",
    "backupConfiguration": {
      "startTime": "08:00",
      "kind": "sql#backupConfiguration",
      "enabled": true,
    },
    "settingsVersion": "13",
    "storageAutoResizeLimit": "0",
    "storageAutoResize": true,
    "dataDiskSizeGb": "10"
  },
  "etag": "etag-id",
  "ipAddresses": [
    {
      "type": "PRIMARY",
      "ipAddress": "10.0.0.1"
    }
  ],
  "serverCaCert": {
    "kind": "sql#sslCert",
    "certSerialNumber": "0",
    "cert": "certificate-id",
    "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id",
    "sha1Fingerprint": "sha-id",
    "instance": "instance-id",
    "createTime": "2019-06-28T22:46:35.052Z",
    "expirationTime": "2029-06-25T22:47:35.052Z"
  },
  "instanceType": "CLOUD_SQL_INSTANCE",
  "project": "project-id",
  "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com",
  "backendType": "SECOND_GEN",
  "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id",
  "connectionName": "project-id:region:instance-id",
  "name": "instance-id",
  "region": "asia-east1",
  "gceZone": "asia-east1-a"
}

El resultado indica que availabilityType es REGIONAL.

Inhabilita la alta disponibilidad en una instancia

Antes de realizar este procedimiento, asegúrate de que no haya operaciones actualmente en ejecución en la instancia.

Para inhabilitar la alta disponibilidad, sigue estos pasos:

Console

  1. Ve a la página Instancias de Cloud SQL en Google Cloud Console.

    Ir a la página Instancias de Cloud SQL

  2. Selecciona la instancia en la que deseas inhabilitar la alta disponibilidad.
  3. En la página Detalles de la instancia, haz clic en EDITAR.
  4. Abre Copias de seguridad automáticas.
  5. En Disponibilidad, haz clic en Zona única.
  6. Haz clic en Guardar. Esta edición requiere reiniciar la instancia.
  7. Cuando veas el cuadro de mensajes, haz clic en GUARDAR Y REINICIAR.

gcloud

Para obtener información de referencia, consulta gcloud sql instances patch.
gcloud sql instances patch [INSTANCE_NAME]
           --availability-type ZONAL

REST

En la siguiente solicitud, se usa el método instances:patch para cambiar el tipo de disponibilidad de la instancia a ZONAL.

Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:

  • project-id: El ID del proyecto
  • instance-name: El nombre de la instancia

Método HTTP y URL:

PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name

Cuerpo JSON de la solicitud:

{
  "settings": {"availabilityType": "ZONAL" }
}

Para enviar tu solicitud, expande una de estas opciones:

Deberías recibir un código de estado exitoso (2xx) y una respuesta vacía.

Soluciona problemas

Haz clic en los vínculos de la tabla para obtener más información:

Situación Posible problema Solución
No se pueden encontrar métricas para la conmutación por error manual. Solo las conmutaciones por error automáticas se incluyen en las métricas. No disponible.
La CPU y la RAM tienen un uso de alrededor del 100%. El tamaño de la máquina de la instancia es demasiado pequeño para la carga. Actualiza el tamaño de la máquina de la instancia.

No se pueden encontrar métricas para la conmutación por error manual

Realizaste una conmutación por error manual y no puedes encontrar una entrada correspondiente en la sección de las métricas de conmutación por error automática del Explorador de métricas.

Posible problema

Solo las conmutaciones por error automáticas se incluyen en las métricas. Las conmutaciones por error que se iniciaron de forma manual no se incluyen.

Solución

No disponible.


La CPU y la RAM tienen un uso de alrededor del 100%

Los recursos de la instancia de Cloud SQL (CPU y RAM) tienen un uso de alrededor del 100%, lo que hace que se interrumpa el funcionamiento de la instancia con alta disponibilidad.

Posible problema

El tamaño de la máquina de la instancia es demasiado pequeño para la carga.

Solución

Edita la instancia para actualizarla a un tamaño de máquina más grande y obtener más CPU y memoria.

Próximos pasos