Usa la replicación entre regiones y la recuperación ante desastres

En esta página, se describe cómo usar la recuperación ante desastres y la replicación entre regiones del metastore de BigLake.

Esta función solo está disponible para los catálogos que usan buckets de región doble o varias regiones de Cloud Storage.

Antes de comenzar

  1. Verify that billing is enabled for your Google Cloud project.

  2. Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Roles obligatorios

Para obtener los permisos que necesitas para usar el catálogo de REST de Iceberg en el metastore de BigLake, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Flujo de trabajo de replicación y recuperación ante desastres

Para usar la replicación entre regiones y la recuperación ante desastres, sigue estos pasos generales:

  1. Consulta el estado de la replicación: Identifica tus regiones principal y secundaria actuales para determinar la región de destino de la conmutación por error.
  2. Verifica el estado de sincronización: Verifica el estado actual de tus regiones principal y secundaria para asegurarte de que estén listas para una transición.
  3. Elige un modo de conmutación por error: Decide entre una conmutación por error suave (ideal para el mantenimiento planificado) o una conmutación por error forzada (ideal para la recuperación de emergencia).
  4. Inicia la conmutación por error: Ejecuta el comando correspondiente al modo que elegiste para cambiar las regiones principal y secundaria.

Prepárate para la conmutación por error

Identifica tu región principal actual y verifica el estado de sincronización de tu región secundaria. Luego, inicia la conmutación por error.

Cómo ver el estado de la replicación

Para determinar las regiones en las que se replica tu catálogo, ejecuta el siguiente comando gcloud alpha biglake iceberg catalogs describe.

gcloud alpha biglake iceberg catalogs describe CATALOG_NAME

Reemplaza CATALOG_NAME por el nombre de tu catálogo.

Cómo verificar el estado de sincronización

Antes de iniciar una conmutación por error, verifica el estado de sincronización de tu réplica secundaria con el comando alpha biglake iceberg failover:

gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
    --validate_only \
    --primary-replica PRIMARY_REPLICA_REGION

Reemplaza lo siguiente:

  • CATALOG_NAME: Es el nombre de tu catálogo.
  • PRIMARY_REPLICA_REGION: Es la región que se designará como la nueva réplica principal.

Inicia una conmutación por error

La función de recuperación ante desastres usa la replicación del metastore para designar regiones principales y secundarias. Todos los metadatos de confirmación de la tabla se entregan desde la región principal y se replican en la región secundaria. Puedes cambiar las regiones principal y secundaria del catálogo con la operación de conmutación por error.

Conmutación por error manual

Para iniciar una conmutación por error parcial, ejecuta el siguiente comando alpha biglake iceberg failover:

gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION

Reemplaza lo siguiente:

  • CATALOG_NAME: Es el nombre de tu catálogo.
  • PRIMARY_REPLICA_REGION: Es la región que se designará como la nueva réplica principal.

Conmutación por error forzada

Para iniciar una conmutación por error forzada, ejecuta el siguiente comando alpha biglake iceberg failover:

gcloud alpha biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION \
    --conditional-failover-replication-time=REPLICATION_TIMESTAMP

Reemplaza lo siguiente:

  • CATALOG_NAME: Es el nombre de tu catálogo.

  • PRIMARY_REPLICA_REGION: Es la región que se designará como la nueva réplica principal.

  • REPLICATION_TIMESTAMP: Es una marca de tiempo RFC 3339 que actúa como punto de control para la replicación. El proceso de replicación verifica que la réplica contenga todos los datos confirmados hasta este momento. Si la réplica no contiene todos los datos confirmados antes de esta marca de tiempo, el comando fallará. Para forzar el proceso de conmutación por error independientemente de cualquier demora en la replicación, establece esta marca de tiempo en una fecha muy anterior.

¿Qué sigue?