En esta página, se describe cómo realizar operaciones de copia de seguridad de Memorystore para Redis Cluster. Antes de leer esta página, debes familiarizarte con las Copias de seguridad.
Antes de comenzar
Asegúrate de que tú o la cuenta de usuario que usas tengan los permisos necesarios para la acción que debes realizar.
Los roles de Administrador de Redis y Editor de Redis pueden realizar todas las operaciones de copia de seguridad. El rol de Visualizador de Redis puede ver y exportar copias de seguridad.
Cómo iniciar una copia de seguridad a pedido
Usa el siguiente comando para crear una copia de seguridad a pedido:
gcloud
gcloud redis clusters create-backup INSTANCE_ID \ --backup-id=BACKUP_ID \ --ttl=TTL_PERIOD \ --project=PROJECT_ID \ --region=REGION
Reemplaza lo siguiente:
- INSTANCE_ID es el ID de la instancia de Memorystore for Redis Cluster.
- BACKUP_ID es un ID para la copia de seguridad, como
december-2024-backup
. - TTL_PERIOD especifica un tiempo de actividad (TTL) para la copia de seguridad.
La copia de seguridad se borra automáticamente después de alcanzar el límite de TTL.
Se establece en una cantidad de días. Por ejemplo,
14d
El valor mínimo es 1 día. Si no se especifica, el valor predeterminado es 100 años. - PROJECT_ID es el ID del proyecto.
- REGION es la región en la que se encuentra tu clúster (por ejemplo,
us-east1
).
El comando devuelve un nombre de operación con el siguiente formato:
projects/PROJECT_ID/locations/REGION/operations/operation-UID
Puedes usar el comando gcloud redis operations describe
para verificar el estado de una operación:
gcloud redis operations describe projects/PROJECT_ID/locations/REGION/operations/operation-UID
También puedes usar el comando gcloud redis operations list
para enumerar todas las operaciones en un proyecto y una región.
Configura programaciones de copias de seguridad automáticas
Puedes configurar una programación de copias de seguridad diarias cuando creas un clúster nuevo o habilitar una programación de copias de seguridad diarias en un clúster existente.
Crea un clúster con una programación de copias de seguridad automatizada habilitada
En el siguiente ejemplo, se muestra cómo configurar un programa de copia de seguridad diaria mientras creas un clúster nuevo. Para obtener más opciones disponibles cuando crees clústeres, consulta Crea una instancia.
gcloud
gcloud redis clusters create INSTANCE_ID \ --automated-backup-mode=ENABLED \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Reemplaza lo siguiente:
- INSTANCE_ID es el ID de la instancia de Memorystore para Redis Cluster que creas.
- START_TIME A especifica cuándo comenzar a tomar copias de seguridad. Especifica la hora en el formato
HH:00
en un ciclo de 24 horas en hora UTC. Por ejemplo,23:00
. RETENTION_POLICY especifica cuántos días se retendrá cada copia de seguridad. Se establece en una cantidad de días, por ejemplo,
7d
. El máximo es de 365 días y el valor predeterminado es de 35 días.Incluso después de que se borra un clúster, la copia de seguridad se conserva durante el período de retención, con un máximo de 365 días. Debes borrar la copia de seguridad de forma manual para quitarla antes de que venza el período de retención.
Habilita las copias de seguridad programadas en un clúster existente
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=enabled \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Reemplaza lo siguiente:
- INSTANCE_ID es el ID de la instancia de Memorystore for Redis Cluster que deseas actualizar.
START_TIME Es una marca de tiempo que especifica cuándo comenzar a tomar copias de seguridad. La marca de tiempo debe estar a nivel de la hora y designar un período de una hora en el que comienzan las copias de seguridad, por ejemplo,
2024-01-01T01:00:00Z
.RETENTION_POLICY especifica cuántos días se retendrá cada copia de seguridad. Se establece en una cantidad de días, por ejemplo,
7d
.Incluso después de que se borra un clúster, la copia de seguridad se retiene durante el período de retención. Debes borrar la copia de seguridad de forma manual para quitarla antes de que venza el período de retención.
Inhabilita las copias de seguridad programadas
Usa el siguiente comando para inhabilitar las copias de seguridad programadas en un clúster:
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=disabled
Reemplaza INSTANCE_ID por el ID de la instancia de Memorystore for Redis Cluster que deseas actualizar.
Simultaneidad entre las operaciones de copia de seguridad y actualización del clúster
Las operaciones de actualización y mantenimiento en un clúster pueden cancelar las operaciones de copia de seguridad en curso en las siguientes situaciones:
- Si hay una operación en curso para actualizar un clúster, se rechazan las solicitudes de operaciones de copia de seguridad.
- Si hay una operación de copia de seguridad en curso, es posible que una operación entrante para actualizar un clúster cancele y falle la operación de copia de seguridad en curso.
- En raras circunstancias, las operaciones de mantenimiento y de copia de seguridad pueden coincidir y provocar que se omitan las operaciones de copia de seguridad para esa instancia.
Enumera y describe las copias de seguridad
En las siguientes secciones, se muestra cómo encontrar información sobre las copias de seguridad disponibles.
Enumera las colecciones de copias de seguridad
Una colección de copias de seguridad incluye todas las copias de seguridad de un clúster. Usa el siguiente comando para enumerar las colecciones de copias de seguridad en el proyecto y la región especificados:
gcloud
gcloud redis clusters backup-collections list \ --project=PROJECT_ID \ --region=REGION
Reemplaza lo siguiente:
- REGION es la región en la que se encuentra tu clúster (por ejemplo,
us-east1
). - PROJECT_ID es el ID del proyecto.
El comando muestra una lista de colecciones de copias de seguridad similar a la siguiente:
BACKUP_COLLECTION_NAME CLUSTER_NAME CLUSTER_UID 6d9e1ff4-0f89-4c0a-a941-155dd4c3a213 projects/PROJECT_ID/locations/REGION/clusters/cluster1 6e539aed-ee7b-4eea-83ad-b4715b1ef160 dda2f551-b416-47ff-b1cf-684e00483dc9 projects/PROJECT_ID/locations/REGION/clusters/cluster2 57130520-636c-4ac7-ad7e-86f7cfb32838
Enumera las copias de seguridad en una colección de copias de seguridad
Usa el siguiente comando para enumerar las copias de seguridad en una colección de copias de seguridad:
gcloud
gcloud redis clusters backups list \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Reemplaza lo siguiente:
- BACKUP_COLLECTION es el nombre de una colección de copias de seguridad.
- REGION es la región en la que se encuentra tu clúster, como
us-east1
. - PROJECT_ID es el ID del proyecto.
El comando muestra una lista de copias de seguridad similar a la siguiente:
BACKUP_NAME STATE CREATE_TIME EXPIRE_TIME backup-1 ACTIVE 2024-11-10T03:52:40.899882388Z 2124-11-10T03:53:02.856981736Z backup-2 ACTIVE 2024-11-11T03:48:22.137134936Z 2124-11-11T03:48:44.130735425Z
Describe una copia de seguridad
Usa el siguiente comando para recuperar información sobre una copia de seguridad específica:
gcloud
gcloud redis clusters backups describe BACKUP_NAME \ --backup-collections=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Reemplaza lo siguiente:
- BACKUP_NAME es el nombre de una copia de seguridad, como
2024-05-01-10-15-00
. - BACKUP_COLLECTION es el nombre de una colección de copias de seguridad.
- REGION es la región en la que se encuentra tu clúster, como
us-east1
. - PROJECT_ID es el ID del proyecto.
El comando devuelve información sobre la copia de seguridad similar a la siguiente:
backupFiles: - createTime: '2024-11-10T03:52:55.539Z' fileName: 3d2774dab822137c5bac9386f3fa69ee4c73b928.rdb sizeBytes: '694879680' - createTime: '2024-11-10T03:52:54.742Z' fileName: 7f5d99faaefc63ed8292a71da2552db3b06cdcff.rdb sizeBytes: '694925906' - createTime: '2024-11-10T03:52:54.972Z' fileName: 0aac1092a3fb81515aefb6b2421f31eb346c3961.rdb sizeBytes: '694784169' cluster: projects/PROJECT_ID/locations/us-east1/clusters/cluster1 clusterUid: 57130520-636c-4ac7-ad7e-86f7cfb32838 createTime: '2024-11-10T03:52:40.899882388Z' expireTime: '2124-11-10T03:53:02.856981736Z' name: projects/PROJECT_ID/locations/us-east1/backupCollections/dda2f551-b416-47ff-b1cf-684e00483dc9/backups/december-2024-backup nodeType: REDIS_HIGHMEM_MEDIUM shardCount: 3 state: ACTIVE totalSizeBytes: '2084589755'
Borrar una copia de seguridad
Usa el siguiente comando para borrar una copia de seguridad:
gcloud
gcloud redis clusters backups delete BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Reemplaza lo siguiente:
- BACKUP_NAME es el nombre de una copia de seguridad, como
2024-05-01-10-15-00
. - BACKUP_COLLECTION es el nombre de una colección de copias de seguridad.
- REGION es la región en la que se encuentra tu clúster, como
us-east1
. - PROJECT_ID es el ID del proyecto.
Exporta una copia de seguridad a un bucket de almacenamiento
Puedes exportar una copia de seguridad a un bucket de Cloud Storage. El bucket de destino debe ser un bucket regional y debe estar en la misma región que la copia de seguridad. Memorystore for Redis Cluster debe tener permiso para acceder al bucket de Cloud Storage y crear carpetas y objetos dentro de él.
En los siguientes pasos, se muestra cómo exportar una copia de seguridad.
Memorystore for Redis Cluster debe tener permiso para acceder al bucket de Cloud Storage de destino. Otorga al agente de servicio de Memorystore for Redis Cluster acceso a los recursos de Cloud Storage.
El agente de servicio de Memorystore for Redis Cluster usa el siguiente formato de nombres:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Reemplaza PROJECT_NUMBER por el número de proyecto del proyecto en el que se encuentra el clúster o la copia de seguridad.
Otorga al agente de servicio un rol que le otorgue los permisos
storage.buckets.get
,storage.objects.create
,storage.objects.delete
ystorage.folders.create
. Por ejemplo, el siguiente comando otorga el rolStorage Admin
para el bucket especificado al agente de servicio de Memorystore para Redis Cluster:gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \ --role=roles/storage.admin
Reemplaza lo siguiente:
- BUCKET_NAME es el nombre del bucket de destino.
- PROJECT_NUMBER es el número del proyecto que se usa en el nombre del agente de servicio.
Usa el comando
gcloud redis clusters backups export
para exportar una copia de seguridad a un bucket de Cloud Storage.gcloud
gcloud redis clusters backups export BACKUP_NAME \ --region=REGION \ --backup-collection=BACKUP_COLLECTION \ --gcs-bucket=BUCKET
Reemplaza lo siguiente:
- BACKUP_NAME es el nombre de una copia de seguridad de Memorystore for Redis Cluster.
- BACKUP_COLLECTION es el nombre de una colección de copias de seguridad.
- REGION es la región en la que se encuentra la colección de copias de seguridad, como
us-east1
. - BUCKET_NAME es un bucket de Cloud Storage que no tiene
gs://
como prefijo.
El bucket debe ser regional y estar en la misma región que la copia de seguridad. Memorystore for Redis Cluster debe tener permiso para acceder al bucket de Cloud Storage y crear carpetas y objetos dentro de él.
Restablece datos a partir de una copia de seguridad
Para restablecer datos desde una copia de seguridad, puedes propagar un clúster nuevo desde una copia de seguridad administrada en el mismo proyecto o propagar un clúster nuevo desde archivos RDB en un bucket de almacenamiento. Para propagar un clúster a partir de archivos RDB, Memorystore for Redis Cluster debe tener permiso para acceder a los archivos.
Inicializa un clúster nuevo a partir de una copia de seguridad
En el siguiente ejemplo, se muestra cómo importar datos de una copia de seguridad a un clúster nuevo. La copia de seguridad debe estar en la misma región que el clúster nuevo.
La principal que crea el clúster debe tener permiso de redis.backups.get
para la copia de seguridad.
Para obtener más opciones disponibles cuando crees clústeres, consulta Crea una instancia.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-managed-backup=BACKUP_NAME \ --region=REGION
Reemplaza lo siguiente:
- INSTANCE_ID es el ID de la instancia de Memorystore para Redis Cluster que creas.
- BACKUP_NAME es el nombre de una copia de seguridad administrada. Por ejemplo,
projects/PROJECT_ID/locations/REGION/backupCollections/BACKUP_COLLECTION_ID/backups/BACKUP_ID
- REGION es la región en la que se encuentra tu clúster, como
us-east1
.
Inicializa un clúster nuevo a partir de archivos RDB en un bucket de almacenamiento
En el siguiente ejemplo, se muestra cómo importar datos de archivos RDB en un bucket de Cloud Storage a un clúster nuevo. El bucket debe ser regional en la misma región que el clúster nuevo o un bucket birregional con una región igual.
Para inicializar un clúster a partir de archivos RDB en Cloud Storage, debes otorgar acceso a Memorystore para Redis Cluster al bucket y a los objetos de Cloud Storage y, luego, ejecutar la operación de creación.
Memorystore for Redis Cluster debe tener permiso para acceder a los objetos de Cloud Storage. Otorga al agente de servicio de Memorystore for Redis Cluster acceso a los recursos de Cloud Storage.
El agente de servicio de Memorystore for Redis Cluster usa el siguiente formato de nombres:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Reemplaza PROJECT_NUMBER por el número de proyecto del proyecto en el que crearás el clúster nuevo.
Otorga al agente de servicio un rol que le otorgue los permisos
storage.buckets.get
ystorage.objects.get
. Por ejemplo, el siguiente comando otorga el rolStorage Admin
a un bucket de Cloud Storage:gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com --role=roles/storage.admin
Reemplaza lo siguiente:
- BUCKET_NAME es el nombre del bucket en el que se encuentran los archivos de RDB.
- PROJECT_NUMBER es el número del proyecto que se usa en el nombre del agente de servicio.
En el siguiente ejemplo, se muestra cómo importar datos de archivos RDB en un bucket de Cloud Storage a un clúster nuevo. Para obtener más opciones disponibles cuando creas clústeres, consulta Crea una instancia.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-gcs-object-uris=URI \ --region=REGION
Reemplaza lo siguiente:
- INSTANCE_ID es el ID de la instancia de Memorystore para Redis Cluster que creas.
- URI es uno o más URIs de Cloud Storage separados por comas (
,
). Por ejemplo,gs://my-bucket/folder/file1.rdb,gs://my-bucket/folder/file2.rdb
. - REGION es la región en la que se encuentra tu clúster, como
us-east1
.
Métricas de Cloud Monitoring
Puedes usar las métricas de Cloud Monitoring para supervisar las operaciones recientes de copia de seguridad e importación. Para obtener una lista de las métricas disponibles para las copias de seguridad de Memorystore for Redis Cluster, consulta Métricas de copias de seguridad.
¿Qué sigue?
- Obtén más información sobre las copias de seguridad.
- Obtén más información sobre la persistencia.