Conmutar por error una instancia principal o secundaria manualmente

En este documento se describe cómo conmutar por error manualmente una instancia principal o secundaria.

Alta disponibilidad en instancias principales y secundarias

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

Alta disponibilidad en instancias principales

Para garantizar la alta disponibilidad, 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 de espera, que se convierte en el nuevo nodo activo.

Puedes conmutar por error manualmente tu instancia principal a su nodo de espera en cualquier momento, aunque el nodo activo funcione correctamente. Cuando inicias una conmutación por error manual, AlloyDB hace lo siguiente:

  1. Desconecta el nodo principal.

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

  3. Reactivar el nodo activo anterior como nuevo nodo de reserva.

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

Por ejemplo, supongamos que tienes una instancia principal cuyos nodos activos y de espera se encuentran 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 provoca 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 vuelva a cambiar los nodos de la instancia principal a sus ubicaciones anteriores al corte.

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. Como la conmutación por error manual es un procedimiento intencional y controlado, no está diseñada para simular fallos inesperados de hardware o de red. En su lugar, puedes probar la alta disponibilidad de tu instancia principal mediante la inyección de errores.

Alta disponibilidad en instancias secundarias

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

De forma predeterminada, la alta disponibilidad 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 de reserva

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 nodo pasa al nodo de espera para actuar como el nuevo nodo activo. A continuación, tus datos se redirigen al nuevo nodo activo. Este proceso se denomina conmutación por error.

Antes de empezar

  • El Google Cloud proyecto que estés usando debe tener habilitado el acceso a AlloyDB.
  • Debes tener uno de estos roles de gestión de identidades y accesos en el Google Cloud proyecto que estés usando:
    • roles/alloydb.admin (el rol de gestión de identidades y accesos predefinido de AlloyDB)
    • roles/owner (el rol básico de propietario de gestión de identidades y accesos)
    • roles/editor (el rol básico de gestión de identidades y accesos Editor)

    Si no tienes ninguno de estos roles, ponte en contacto con el administrador de tu organización para solicitar acceso.

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

Consola

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

Ir a Clústeres

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

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

  3. Haz clic en Conmutación por error.

  4. En el cuadro de diálogo que aparece, introduce 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

Haz los cambios siguientes:

  • 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 encuentra el clúster.

Para confirmar que la conmutación por error ha funcionado, 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 nuevas zonas de los dos nodos.

  3. Confirma que las zonas de los nodos activo y de espera han cambiado de lugar.

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

Conmutar por error una instancia secundaria manualmente es similar a los pasos que se siguen para conmutar por error la instancia principal manualmente.

Para conmutar por error a un clúster secundario manualmente, sigue estos pasos:

Consola

  1. En la Google Cloud consola, ve a la página Clusters.

    Ir a Clústeres

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

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

  4. En el cuadro de diálogo que aparece, introduce el ID de la instancia y haz clic en Activar failover.

gcloud

Para usar la CLI de gcloud, puedes instalar e inicializar Google Cloud CLI o usar Cloud Shell.

Usa el comando gcloud alloydb instances failover para forzar que una instancia secundaria conmute por error a su instancia de espera.

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

Haz los cambios siguientes:

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

Siguientes pasos