Conmutar por error una instancia principal o secundaria de forma manual

En este documento, se describe cómo conmutar por error de forma manual una instancia principal o secundaria.

Alta disponibilidad en instancias principales y secundarias

AlloyDB para PostgreSQL admite la alta disponibilidad en instancias principales y secundarias.

Alta disponibilidad en instancias principales

Para garantizar la alta disponibilidad (HA), cada instancia principal de AlloyDB tiene un nodo activo y un nodo en espera, que se encuentran en zonas diferentes. Si el nodo activo deja de estar disponible, AlloyDB conmuta por error automáticamente la instancia principal a su nodo en espera, lo que lo convierte en el nuevo nodo activo.

Puedes conmutar por error de forma manual tu instancia principal a su nodo en espera en cualquier momento, incluso si el nodo activo funciona como se espera. Cuando inicias una conmutación por error manual, AlloyDB hace lo siguiente:

  1. Pone el nodo principal sin conexión.

  2. Convierte el nodo en espera en el nuevo nodo activo.

  3. Reactiva el nodo activo anterior como el nuevo nodo en espera.

La conmutación por error manual intercambia los roles activos y en espera de los nodos de tu instancia principal. Puedes activar una conmutación por error manual en cualquier momento que desees que se produzca este intercambio.

Por ejemplo, imagina que tienes una instancia principal cuyos nodos activos y en espera residen en las zonas us-central1-a y us-central1-b, respectivamente. Una interrupción en us-central1-a activa una conmutación por error automática, lo que hace que la zona us-central1-b aloje el nodo activo. Si prefieres mantener el nodo activo en la zona us-central1-a, puedes iniciar una conmutación por error manual para que AlloyDB intercambie los nodos de la instancia principal a sus ubicaciones anteriores a la interrupción.

Durante las operaciones de mantenimiento, una instancia principal con HA y una instancia básica suelen experimentar un tiempo de inactividad por mantenimiento mínimo de menos de un segundo. Debido a que la conmutación por error manual es un procedimiento intencional y controlado, no está diseñada para simular fallas inesperadas de hardware o de red. En cambio, puedes probar la alta disponibilidad de tu instancia principal mediante la inserción de errores.

Alta disponibilidad en instancias secundarias

AlloyDB ofrece HA en instancias secundarias para admitir la recuperación ante desastres y reducir el tiempo de inactividad cuando una instancia secundaria deja de estar disponible.

De forma predeterminada, la HA está configurada en una instancia secundaria.

Una instancia secundaria de AlloyDB incluye los siguientes nodos:

  • Un nodo secundario activo, que responde a las solicitudes
  • Un nodo secundario en espera

Los nodos activos y en espera se encuentran en dos zonas diferentes de una región. Si AlloyDB detecta la falta de disponibilidad del nodo activo, este conmuta por error al nodo en espera para que actúe como el nuevo nodo activo. Luego, tus datos se redireccionan al nuevo nodo activo. Este proceso se denomina conmutación por error.

Antes de comenzar

  • El Google Cloud proyecto que usas debe estar habilitado para acceder a AlloyDB.
  • Debes tener uno de estos roles de IAM en el Google Cloud proyecto que usas:
    • roles/alloydb.admin (el rol de IAM predefinido de administrador de AlloyDB)
    • roles/owner (el rol de IAM básico de propietario)
    • roles/editor (el rol de IAM básico de editor)

    Si no tienes ninguno de estos roles, comunícate con el administrador de tu organización para solicitar acceso.

Realiza una conmutación por error manual en una instancia principal

Console

  1. Ve a la página Clústeres.

Ir a los clústeres

  1. En la columna Nombre del recurso, haz clic en el nombre de un clúster.

  2. En la sección Instancias en tu clúster, abre el menú Acciones de la instancia de tu instancia principal.

  3. Haz clic en Conmutación por error.

  4. En el cuadro de diálogo que aparece, ingresa el ID de la instancia.

  5. Haz clic en Activar conmutación por error.

gcloud

Ejecuta el gcloud alloydb instances failover comando:

gcloud alloydb instances failover INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID

Reemplaza lo siguiente:

  • INSTANCE_ID: El ID de la instancia.
  • REGION_ID: La región en la que se coloca la instancia.
  • CLUSTER_ID: El ID del clúster en el que se coloca la instancia.
  • PROJECT_ID: El ID del proyecto en el que se coloca el clúster.

Para confirmar que la conmutación por error funcionó, sigue estos pasos:

  1. Antes de realizar la conmutación por error, anota las zonas de los nodos de la instancia principal.

  2. Después de ejecutar la conmutación por error, anota las zonas nuevas de los dos nodos.

  3. Confirma que las zonas de los nodos activos y en espera hayan cambiado de lugar.

Realiza una conmutación por error manual en una instancia secundaria

La conmutación por error manual de una instancia secundaria es similar a los pasos que se siguen para conmutar por error la instancia principal de forma manual.

Para conmutar por error un clúster secundario de forma manual, sigue estos pasos:

Console

  1. En la Google Cloud consola de, ve a la página Clústeres.

    Ir a los clústeres

  2. Haz clic en el nombre de un clúster secundario en la columna Nombre del recurso.

  3. En la página Descripción general , ve a la sección Instancias en tu clúster , elige la instancia secundaria y haz clic en Conmutación por error.

  4. En el cuadro de diálogo que aparece, ingresa el ID de la instancia y haz clic en Activar conmutación por error.

gcloud

Para usar gcloud CLI, puedes instalar y, luego, inicializar Google Cloud CLI o usar Cloud Shell.

Usa el gcloud alloydb instances failover comando para forzar una instancia secundaria a conmutar por error su instancia en espera.

 gcloud alloydb instances failover SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID

Reemplaza lo siguiente:

  • SECONDARY_INSTANCE_ID: El ID de la instancia secundaria que deseas conmutar por error.
  • SECONDARY_CLUSTER_ID: El ID del clúster secundario con el que está asociada la instancia secundaria.
  • REGION_ID: El ID de la región de la instancia secundaria, por ejemplo, us-central1.
  • PROJECT_ID: El ID del proyecto del clúster secundario.

¿Qué sigue?