Conmutar por error una instancia principal o secundaria de forma manual

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

Alta disponibilidad en instancias principales y secundarias

AlloyDB para PostgreSQL admite 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 de 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 tu instancia principal al nodo de reserva en cualquier momento, incluso si el nodo activo funciona según lo esperado. Cuando inicias una conmutación por error manual, AlloyDB hace lo siguiente:

  1. Desconecta el nodo principal.

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

  3. Vuelve a activar el nodo activo anterior como el nuevo nodo en espera.

La conmutación por error manual intercambia los roles activo y en espera de los nodos de tu instancia principal. Puedes activar un resguardo manual en cualquier momento que desees que se realice 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 cambie los nodos de la instancia principal a sus ubicaciones anteriores a la interrupción.

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

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 se configura 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 que el nodo activo no está disponible, este falla y se traslada 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 failover.

Antes de comenzar

  • El proyecto de Google Cloud que usas debe estar habilitado para acceder a AlloyDB.
  • Debes tener uno de estos roles de IAM en el proyecto de Google Cloud 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 comando gcloud alloydb instances failover:

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: Es la región en la que se coloca la instancia.
  • CLUSTER_ID: Es el ID del clúster en el que se coloca la instancia.
  • PROJECT_ID: Es el ID del proyecto en el que se ubica el clúster.

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

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

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

  3. Confirma que las zonas de los nodos activo y en espera cambiaron de lugar.

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

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

Para realizar una conmutación por error de un clúster secundario de forma manual, sigue estos pasos:

Console

  1. En la consola de Google Cloud , 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 bien usar Cloud Shell.

Usa el comando gcloud alloydb instances failover para forzar a una instancia secundaria a fallar en su estado de espera.

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

Reemplaza lo siguiente:

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

¿Qué sigue?