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:
- La consola de Google Cloud
- Google Cloud CLI.
- Las bibliotecas cliente de Cloud Bigtable
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
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
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
Ve a la página Instancias de Bigtable en Google Cloud Console.
Haz clic en la instancia que contiene la tabla de la que deseas realizar una copia de seguridad.
En el panel de navegación izquierdo, haz clic en Tablas.
Haz clic en Crear copia de seguridad en la tabla de la que deseas realizar una copia de seguridad.
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).
Ingresa un ID único para la copia de seguridad.
Establece una fecha de vencimiento.
Haz clic en Crear.
En la consola, se muestra la página Copias de seguridad filtrada con la copia de seguridad y sus detalles.
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.
Ejemplo:
2022-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
od
(minutos, horas o días).Ejemplos:
36h
o89d
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
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
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
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.Visualiza la lista de copias de seguridad para ver si tu copia se creó.
gcloud bigtable backups list --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
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.
Ve a la página Instancias de Bigtable en Google Cloud Console.
Haz clic en la instancia que contiene la copia de seguridad que deseas restablecer.
En el panel de navegación izquierdo, haz clic en Copias de seguridad.
Haz clic en Restablecer para la copia de seguridad que deseas restablecer.
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.
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.
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
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
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
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
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.Visualiza la lista de tablas para ver si tu tabla se creó.
gcloud bigtable instances tables list --instances=INSTANCE_ID_DESTINATION
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.
Ve a la página Instancias de Bigtable en Google Cloud Console.
Haz clic en la instancia que contiene la copia de seguridad que deseas copiar.
En el panel de navegación izquierdo, haz clic en Copias de seguridad.
Para la copia de seguridad que deseas copiar, expande el menú Más junto a la palabra Restablecer y, luego, haz clic en Copiar.
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.
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.
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.
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.
Establece una fecha de vencimiento para la copia de seguridad, proporciona un valor para Time y selecciona una Unit en el menú desplegable.
Haz clic en Copiar.
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 o15h
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
.
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
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
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
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.Consulta la lista de copias de seguridad para ver si se creó tu copia.
gcloud bigtable backups list --instances=INSTANCE_ID_DESTINATION
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
Ve a la página Instancias de Bigtable en Google Cloud Console.
Haz clic en la instancia que contiene la copia de seguridad.
En el panel de navegación izquierdo, haz clic en Copias de seguridad.
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.
Copia el ID de operación.
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
seaTRUE
.
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.
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
yDONE
. El valor en la columnaNAME
es el ID de operación.Comienza con el primer elemento de la lista y copia el ID de operación.
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
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 deDONE
seaTRUE
.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.
Ejemplo:
2019-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
od
(minutos, horas o días)._Examples_: `36h` or `89d`
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.
Ten en cuenta los ID de la copia de seguridad y del clúster para la copia de seguridad que necesitas actualizar.
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
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
Ve a la página Instancias de Bigtable en Google Cloud Console.
Haz clic en la instancia que contiene la copia de seguridad.
En el panel de navegación izquierdo, haz clic en Copias de seguridad.
Para la copia de seguridad que necesitas borrar, expande el menú Más junto a la palabra Restablecer y haz clic en Borrar.
Ingresa el ID de la copia de seguridad en el campo Confirmar eliminación.y, luego, haz clic en Borrar.
gcloud
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.
Ten en cuenta el ID de la copia de seguridad y el ID del clúster en el que se almacena.
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 porCLUSTER_ID
.gcloud bigtable backups delete BACKUP_ID \ --instance=INSTANCE_ID \ --cluster=CLUSTER_ID
¿Qué sigue?
- Obtén más información sobre las copias de seguridad.
- Obtén información sobre cómo importar y exportar datos de Bigtable.