Administrar copias de seguridad

En esta página, se describen las operaciones de copia de seguridad de Bigtable y se explica cómo crear una copia de seguridad de una tabla y restablecer desde una tabla nueva. Antes de leer esta página, debes estar familiarizado con las Copias de seguridad.

Puedes trabajar con copias de seguridad de Bigtable si usas lo siguiente:

También puedes acceder directamente a la API, pero te recomendamos que lo hagas solo si necesitas usar un lenguaje que no sea compatible con las bibliotecas cliente de Cloud Bigtable.

Antes de comenzar

Asegúrate de que tú o la cuenta de usuario que usas tengan los permisos necesarios para las acciones que debes realizar.

Si planeas usar la CLI de gcloud, instala la CLI de gcloud para Bigtable.

Usar copia de seguridad automática

Puedes usar gcloud CLI para habilitar la copia de seguridad automática cuando crees o actualices una tabla. Los pasos para borrar, actualizar, copiar y restablecer una copia de seguridad son los mismos, ya sea que esta se cree de forma manual o como resultado de una copia de seguridad automática.

Durante la versión preliminar, ten en cuenta lo siguiente si planeas habilitar la copia de seguridad automática:

  • Si se agrega un clúster a una instancia que contiene una tabla con la copia de seguridad automática habilitada, no se crearán copias de seguridad diarias en el clúster agregado. Para crear copias de seguridad diarias en todos los clústeres, incluido el que se acaba de agregar, inhabilita la copia de seguridad automática de la tabla y, luego, vuelve a habilitarla.
  • Si una tabla con la copia de seguridad automática habilitada se borra y, luego, se recupera, debes volver a habilitar la copia de seguridad automática en la tabla recuperada.
  • Restablecer una copia de seguridad automática de una tabla no habilita de forma automática la copia de seguridad automática en la tabla restablecida. Debes habilitar de forma manual la copia de seguridad automática.

Habilitar la copia de seguridad automática

Para habilitar la copia de seguridad automática de una tabla, ejecuta el comando gcloud bigtable instances tables update. Para obtener más información sobre cómo habilitar la copia de seguridad automática cuando creas una tabla, consulta Crea una tabla.

Después de habilitar la política de copia de seguridad automatizada para una tabla, la configuración actualizada puede tardar hasta 1 hora en aplicarse.

gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--enable-automated-backup

Reemplaza lo siguiente:

  • TABLE_ID: ID de la tabla de la que se realizará una copia de seguridad.
  • INSTANCE_ID: Identificador permanente de la instancia
  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

      gcloud bigtable instances list
    
  2. Visualiza la lista de tablas para confirmar el ID de la tabla de la que deseas realizar una copia de seguridad.

        gcloud bigtable instances tables list --instances=INSTANCE_ID
    

A las copias de seguridad que se crean como parte de las copias de seguridad automáticas se les asignan IDs que comienzan con auto. Por ejemplo, una tabla con un ID de my-table tendría un ID de copia de seguridad automático como auto.my-table.c7x3.20230220-1455, en el que my-table es el ID truncado de la tabla, c7x3 es el ID de hash único y 20230220-1455 es la fecha y hora en formato UTC.

Inhabilitar la copia de seguridad automática

Para inhabilitar la copia de seguridad automática de una tabla existente, ejecuta el comando gcloud bigtable instances tables update.

Después de inhabilitar la política de copia de seguridad automatizada para una tabla, la configuración actualizada puede tardar hasta 1 hora en aplicarse. La primera copia de seguridad puede tardar hasta 24 horas en estar disponible.

gcloud bigtable instances tables update TABLE_ID \
--instance=INSTANCE_ID \
--disable-automated-backup

Reemplaza lo siguiente:

  • TABLE_ID: El ID de la tabla.
  • INSTANCE_ID: Identificador permanente de la instancia

Ver política de copias de seguridad automáticas

Para ver la política de copias de seguridad automáticas de una tabla, ejecuta el comando gcloud bigtable instances tables describe.

gcloud bigtable instances tables describe TABLE_ID \
--instance=INSTANCE_ID

Reemplaza lo siguiente:

  • TABLE_ID: El ID de la tabla.
  • INSTANCE_ID: Identificador permanente de la instancia

El resultado es similar al siguiente:

automatedBackupPolicy:
  retentionPeriod: 3d
  frequency: 24h
columnFamilies:
  my-family: {}
createTime: '2023-02-07T20:10:55.613546Z'
granularity: MILLIS
name: projects/my-project/instances/my-instance/tables/my-table
updateTime: '2023-02-07T20:10:55.613546Z'

Ten en cuenta lo siguiente:

  • El campo automatedBackupPolicy no aparece cuando la copia de seguridad automática no está habilitada para una tabla.
  • El retentionPeriod indica el período de retención de las copias de seguridad creadas automáticamente. Puedes modificar el período de retención de una copia de seguridad hasta 90 días desde su creación. Para actualizar el período de retención de la copia de seguridad, consulta Modifica una copia de seguridad.

Crear una copia de seguridad

Console

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

    Abrir la lista de instancias

  2. Haz clic en la instancia que contiene la tabla de la que deseas realizar una copia de seguridad.

  3. En el panel de navegación izquierdo, haz clic en Tablas.

  4. Haz clic en Crear copia de seguridad en la tabla de la que deseas realizar una copia de seguridad.

  5. Si usas la replicación, usa el menú desplegable para elegir el ID del clúster en el que se debe almacenar la copia de seguridad. (si hiciste clic en Crear copia de seguridad junto al ID de clúster en lugar de un ID de instancia en la página Tablas, el clúster está preseleccionado).

  6. Ingresa un ID único para la copia de seguridad.

  7. Establece una fecha de vencimiento.

  8. Haz clic en Crear.

    En la consola, se muestra la página Copias de seguridad filtrada con la copia de seguridad y sus detalles.

  9. Haz clic en Actividad para ver el estado de la copia de seguridad.

    En la columna de estado, se muestra Copia de seguridad completa cuando se completa la copia de seguridad.

gcloud

En todos los comandos, sustituye los valores reales por lo siguiente:

  • INSTANCE_ID: Identificador permanente de la instancia
  • CLUSTER_ID: El identificador permanente del clúster.
  • TABLE_ID: El ID de la tabla de la que se realizará una copia de seguridad
  • BACKUP_ID: El ID que le asignas a la copia de seguridad
  • EXPIRATION_DATE: Una fecha que es de 90 días o menos en el futuro, con el formato de una marca de tiempo UTC "zulú", con precisión de nanosegundos.

    Ejemplo2022-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD: Un período de hasta 90 días, expresado como un número con una unidad de m, h o d (minutos, horas o días).

    Ejemplos: 36h o 89d

  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Visualiza la lista de copias de seguridad de la instancia que contiene la tabla de la que deseas realizar una copia de seguridad, de modo que puedas elegir un ID de copia de seguridad que no esté en uso en el clúster deseado.

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  3. Visualiza la lista de tablas para confirmar el ID de la tabla de la que deseas realizar una copia de seguridad.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  4. Ejecuta el comando gcloud bigtable instances backup create para crear una copia de seguridad de la tabla y proporciona una fecha de vencimiento o un período de retención de hasta 90 días.

    gcloud bigtable backups create BACKUP_ID --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID \
      --table=TABLE_ID \
      --async /
      --expiration-date=EXPIRATION_DATE \
      --retention-period=RETENTION_PERIOD
    

    La marca --async es opcional. Úsala si quieres que la terminal muestre el ID de operación antes de que se complete la operación. Esto es útil si deseas verificar el estado de la operación.

  5. Visualiza la lista de copias de seguridad para ver si tu copia se creó.

    gcloud bigtable backups list --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    
  6. Si la copia de seguridad no aparece en la lista, verifica el estado de la operación.

    Un estado Ready indica que la copia de seguridad se completó.

Restablecer copia de seguridad

Console

No puedes restablecer a un proyecto diferente con la consola de Google Cloud. Si necesitas hacerlo, usa gcloud CLI.

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

    Abrir la lista de instancias

  2. Haz clic en la instancia que contiene la copia de seguridad que deseas restablecer.

  3. En el panel de navegación izquierdo, haz clic en Copias de seguridad.

  4. Haz clic en Restablecer para la copia de seguridad que deseas restablecer.

  5. Selecciona la instancia a la que deseas restablecer.

    Las instancias que no tienen suficiente almacenamiento para la tabla nueva no están disponibles. Si no tienes permiso para crear una tabla en una instancia, esta no estará disponible. Coloca el cursor sobre el ícono para obtener más información.

    Si restableces a partir de una copia de seguridad que está protegida por CMEK, la instancia de destino también debe estar protegida por CMEK.

    No puedes restablecer a un proyecto diferente con la consola de Google Cloud. Si lo necesitas, usa gcloud CLI.

  6. Ingresa un ID único para la tabla que se creará a partir de la copia de seguridad. No podrás cambiar este ID más adelante.

  7. Haz clic en Restore.

    En la consola, se mostrará la página Tablas filtrada con la tabla nueva.

    En la consola, se muestra el estado de restablecimiento de cada clúster. Cuando en la columna de estado de todos los clústeres se muestra Listo, la tabla se restableció y se replicó en todos los clústeres de la instancia.

gcloud

En todos los comandos, sustituye los valores reales por lo siguiente:

  • PROJECT_ID_SOURCE: El ID del proyecto que contiene la copia de seguridad desde la que se restablecerá
  • INSTANCE_ID_SOURCE: El ID permanente de la instancia de origen
  • PROJECT_ID_DESTINATION: El ID del proyecto al que deseas restablecer Esta marca es opcional. Si no especificas esta opción, la copia de seguridad se restablece a una tabla nueva en la misma instancia en la que se creó.
  • INSTANCE_ID_DESTINATION: El ID permanente de la instancia de destino
  • CLUSTER_ID: El identificador permanente del clúster.
  • BACKUP_ID: El ID de la copia de seguridad desde la que deseas restablecer
  • TABLE_ID_NEW: El ID de la tabla nueva
  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Visualiza la lista de las copias de seguridad de la instancia que contiene la copia de seguridad a fin de verificar que exista.

    gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \
      --cluster=CLUSTER_ID_SOURCE
    
  3. Visualiza la lista de tablas en la instancia de destino, de modo que puedas elegir un ID para la tabla nueva que aún no está en uso.

    gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
    
  4. Ejecuta el comando gcloud bigtable instances Tables reset para restablecer desde la copia de seguridad a una tabla nueva.

    gcloud bigtable instances tables restore \
    --source=projects/PROJECT_ID_SOURCE/instances/INSTANCE_ID_SOURCE/clusters/CLUSTER_ID/backups/BACKUP_ID \
    --async \
    --destination=TABLE_ID_NEW \
    --destination-instance=INSTANCE_ID_DESTINATION \
    --project=PROJECT_ID_DESTINATION
    

    La marca --async es opcional. Úsala si quieres que la terminal muestre el ID de operación antes de que se complete la operación. Esto es útil si deseas verificar el estado de la operación.

  5. Visualiza la lista de tablas para ver si tu tabla se creó.

    gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
    
  6. Si la copia de seguridad no aparece en la lista, verifica el estado de la operación.

Crea una copia de una copia de seguridad

Console

No puedes crear una copia de una copia de seguridad en un proyecto diferente con la consola. Si necesitas hacerlo, usa gcloud CLI.

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

    Abrir la lista de instancias

  2. Haz clic en la instancia que contiene la copia de seguridad que deseas copiar.

  3. En el panel de navegación izquierdo, haz clic en Copias de seguridad.

  4. Para la copia de seguridad que deseas copiar, expande el menú Más junto a la palabra Restablecer y, luego, haz clic en Copiar.

  5. Haz clic en Copiar en la copia de seguridad de la que deseas crear una copia.

    Si la copia de seguridad es una copia de otra, Copy no estará disponible.

  6. Selecciona la instancia de destino.

    No puedes crear una copia de una copia de seguridad en un proyecto diferente con la consola. Si necesitas hacerlo, usa gcloud CLI en su lugar.

    Las instancias que no tienen suficiente almacenamiento para la copia de seguridad no están disponibles. Si no tienes permiso para crear una copia de seguridad en una instancia, esta no estará disponible. Mantén el puntero sobre el ícono para obtener más información.

    Si copias una copia de seguridad protegida por CMEK, la instancia de destino también debe estar protegida con CMEK.

  7. Selecciona el clúster de destino.

    Como cualquier copia de seguridad, una copia de seguridad se almacena en un solo clúster de una instancia, incluso si esa instancia usa la replicación.

  8. Ingresa un ID único para la copia que se creará a partir de la copia de seguridad. No podrás cambiar este ID más adelante.

  9. Establece una fecha de vencimiento para la copia de seguridad, proporciona un valor para Time y selecciona una Unit en el menú desplegable.

  10. Haz clic en Copiar.

  11. Para ver tu copia, haz clic en Ver copia.

    En la consola, se muestra la página Copias de seguridad de la instancia de destino, filtrada para la copia de seguridad que se acaba de crear. Cuando la columna de estado muestra Listo, la copia está completa y lista para otras operaciones.

gcloud

En todos los comandos, sustituye los valores reales por lo siguiente:

  • PROJECT_ID_SOURCE: El proyecto que contiene la copia de seguridad que se copiará.
  • INSTANCE_ID_SOURCE: El ID permanente de la instancia de origen
  • CLUSTER_ID_SOURCE: El ID del clúster en el que se almacena la copia de seguridad de origen.
  • BACKUP_ID_SOURCE: El ID de la copia de seguridad que se copiará.
  • PROJECT_ID_DESTINATION: Es el proyecto en el que deseas colocar la copia.
  • INSTANCE_ID_DESTINATION: El ID permanente de la instancia de destino
  • CLUSTER_ID_DESTINATION: El ID del clúster en la instancia de destino en la que deseas almacenar la copia.
  • BACKUP_ID_DESTINATION: Es el ID que asignas a la copia de la copia de seguridad.
  • RETENTION_PERIOD: El tiempo de actividad de la copia de seguridad, expresado como un número y una unidad (d o h). Algunos ejemplos incluyen 5d por cinco días o 15h por 15 horas. Usa esta fecha o una de vencimiento.
  • EXPIRATION_DATE: Es la fecha y la hora para que venza la copia de seguridad, con el formato 2022-09-01T10:00:00.0Z.
  1. Si no conoces el ID de la instancia, usa el comando bigtable instances list para ver una lista de las instancias de tu proyecto:

    gcloud bigtable instances list
    
  2. Visualiza la lista de copias de seguridad de la instancia de origen que contiene la copia de seguridad para verificar que exista la que quieres copiar.

    gcloud bigtable backups list --instance=INSTANCE_ID_SOURCE \
    --cluster=CLUSTER_ID_SOURCE
    
  3. Visualiza la lista de copias de seguridad en la instancia de destino, de modo que puedas elegir un ID para la copia que aún no está en uso.

    gcloud bigtable backups list --instances=DESTINATION_INSTANCE
    
  4. Ejecuta el gcloud bigtable instances backup copy para crear la copia de seguridad.

    gcloud bigtable backups copy \
      --source-project=PROJECT_ID_SOURCE \
      --source-instance=INSTANCE_ID_SOURCE \
      --source-cluster=CLUSTER_ID_SOURCE \
      --source-backup=BACKUP_ID_SOURCE \
      --destination-project=PROJECT_ID_DESTINATION \
      --destination-instance=INSTANCE_ID_DESTINATION \
      --destination-cluster=CLUSTER_ID_DESTINATION \
      --destination-backup=BACKUP_ID_DESTINATION \
    

    Agrega el comando con uno de los siguientes elementos:

    • --retention-period`=RETENTION_PERIOD: Período de retención de la copia de seguridad. Debe ser de 6 horas como mínimo y 30 días como máximo desde el momento en que se creó la copia de seguridad de origen.
    • --expiration-date`=EXPIRATION_DATE: Vencimiento de la copia de seguridad. Debe ser de 6 horas como mínimo y 30 días como máximo desde el momento en que se creó la copia de seguridad de origen.

    De manera opcional, puedes agregar --async al comando. Úsalo si quieres que la terminal muestre el ID de operación antes de que se complete la operación. Esto es útil si deseas verificar el estado de la operación.

  5. Consulta la lista de copias de seguridad para ver si se creó tu copia.

    gcloud bigtable backups list --instances=INSTANCE_ID_DESTINATION
    
  6. Si la copia de seguridad no aparece en la lista, verifica el estado de la operación.

En el caso poco probable de que una operación de copia de seguridad falle debido a limitaciones de capacidad, vuelve a intentarlo con un clúster de destino diferente. Si la operación también falla, comunícate con el equipo de asistencia.

Verifica el estado de una operación

Console

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

    Abrir la lista de instancias

  2. Haz clic en la instancia que contiene la copia de seguridad.

  3. En el panel de navegación izquierdo, haz clic en Copias de seguridad.

  4. En la página Copias de seguridad, haz clic en Actividad. En la columna de estado, se muestra el estado actual de cada operación.

Los estados de las operaciones cuando se restablece una tabla son los siguientes:

  • Esperando para copiar
  • Restableciendo copia de seguridad
  • Inicializando
  • Listo: Optimizando
  • Listo

Los estados de las operaciones cuando se crea una copia de seguridad incluyen los siguientes:

  • Creando copia de seguridad
  • Copia de seguridad completa

Los estados de operación cuando se copia una copia de seguridad incluyen los siguientes:

  • Se está realizando una copia de seguridad
  • Se realizó la copia de seguridad

gcloud

Para verificar el estado de una operación de copia de seguridad o de restablecimiento, necesitas el ID único de la operación. El siguiente es un ejemplo de un ID de operación:

`instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635`

Después de ejecutar un comando para crear una copia de seguridad o restablecer datos en una tabla nueva con la opción --async, en la terminal, se muestra el ID de operación.

  1. Copia el ID de operación.

  2. Ejecuta el comando gcloud bigtable operations describe y sustituye el valor que copiaste por OPERATION_ID.

    gcloud bigtable operations describe OPERATION_ID
    

    Ejemplo:

    gcloud bigtable operations describe \
    instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
    

    Puedes ejecutar este comando de vez en cuando hasta que el valor de DONE sea TRUE.

Si no conoces el ID de operación, ya sea porque no ejecutaste el comando o porque estás en una ventana de terminal diferente, puedes ver una lista de operaciones para la instancia y determinar qué operación deseas verificar.

  1. Visualiza una lista de la actividad de operaciones recientes de la instancia que contiene la tabla de la que realizas la copia de seguridad o el restablecimiento y sustituye el ID de la instancia por INSTANCE_ID:

    gcloud bigtable operations list --instance=INSTANCE_ID
    

    En la terminal, se muestra una lista de operaciones en columnas etiquetadas como NAME, START_TIME, END_TIME y DONE. El valor en la columna NAME es el ID de operación.

  2. Comienza con el primer elemento de la lista y copia el ID de operación.

  3. Usa gcloud bigtable operations describe para ver los metadatos de la operación.

    gcloud bigtable operations describe OPERATION_ID
    

    Ejemplo:

    gcloud bigtable operations describe \
    instances/instance-name/tables/table-name/locations/us-east1-b/operations/917168358249360635
    
  4. Si en los metadatos de una operación, se muestra un valor para backupInfo, encontraste la operación correcta y puedes repetir este comando de vez en cuando hasta que el valor de DONE sea TRUE.

    Si los metadatos no muestran un valor para backupInfo, verifica la siguiente operación de la lista de operaciones que se muestran en el paso 1.

Cómo modificar una copia de seguridad o una copia de seguridad

Console

La consola de Google Cloud no te permite modificar una copia de seguridad, incluidas las copias.

gcloud

Gcloud CLI te permite modificar la fecha o el período de vencimiento de una copia de seguridad o una copia de seguridad.

En todos los comandos, sustituye los valores reales por lo siguiente:

  • INSTANCE_ID: Identificador permanente de la instancia
  • CLUSTER_ID: El identificador permanente del clúster.
  • BACKUP_ID: El ID único de una copia de seguridad
  • EXPIRATION_DATE: Una fecha que es de 90 días o menos en el futuro, con el formato de una marca de tiempo UTC "zulú", con precisión de nanosegundos.

    Ejemplo2019-10-02T15:01:23.045123456Z

  • RETENTION_PERIOD: Un período de hasta 90 días, expresado como un número con una unidad de m, h o d (minutos, horas o días).

    _Examples_: `36h` or `89d`
    
  1. Visualiza una lista de las copias de seguridad:

        gcloud bigtable backups list --instance=INSTANCE_ID
    

    En la terminal, se muestra una lista de las copias de seguridad.

  2. Ten en cuenta los ID de la copia de seguridad y del clúster para la copia de seguridad que necesitas actualizar.

  3. Ejecuta el comando gcloud bigtable instances backup update para agregar una nueva fecha de vencimiento o un período de retención nuevo.

      gcloud bigtable backups update BACKUP_ID \
      --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID \
      --expiration-date=EXPIRATION_DATE \
      --retention-period=RETENTION_PERIOD
    
  4. Ejecuta el comando gcloud bigtable instances backup describe para verificar que hayas actualizado el vencimiento de forma correcta.

        gcloud bigtable backups describe BACKUP_ID \
        --instance=INSTANCE_ID \
        --cluster=CLUSTER_ID
    ```
    

Borrar una copia de seguridad

Puedes borrar una copia de seguridad o una copia de seguridad antes de su vencimiento programado.

Console

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

    Abrir la lista de instancias

  2. Haz clic en la instancia que contiene la copia de seguridad.

  3. En el panel de navegación izquierdo, haz clic en Copias de seguridad.

  4. Para la copia de seguridad que necesitas borrar, expande el menú Más junto a la palabra Restablecer y haz clic en Borrar.

  5. Ingresa el ID de la copia de seguridad en el campo Confirmar eliminación.y, luego, haz clic en Borrar.

gcloud

  1. Visualiza una lista de copias de seguridad y sustituye el ID de la instancia por INSTANCE_ID:

    gcloud bigtable backups list --instance=INSTANCE_ID
    

    En la terminal, se muestra una lista de las copias de seguridad.

  2. Ten en cuenta el ID de la copia de seguridad y el ID del clúster en el que se almacena.

  3. Ejecuta el comando gcloud bigtable instances backup delete y sustituye el ID de copia de seguridad que anotaste por BACKUP_ID y el ID de clúster por CLUSTER_ID.

    gcloud bigtable backups delete BACKUP_ID \
      --instance=INSTANCE_ID \
      --cluster=CLUSTER_ID
    

¿Qué sigue?