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 empezar
Asegúrate de que tú o la cuenta de usuario que estés usando tengáis los permisos necesarios para la acción que quieras realizar.
Los roles Administrador de Redis y Editor de Redis pueden realizar todas las operaciones de copia de seguridad. El rol Lector de Redis puede ver y exportar copias de seguridad.
Iniciar una copia de seguridad cuando tú quieras
Usa el siguiente comando para crear una copia de seguridad bajo demanda:
gcloud
gcloud redis clusters create-backup INSTANCE_ID \ --backup-id=BACKUP_ID \ --ttl=TTL_PERIOD \ --project=PROJECT_ID \ --region=REGION
Haz los cambios siguientes:
- INSTANCE_ID es el ID de la instancia de Memorystore for Redis Cluster.
- BACKUP_ID es el ID de la copia de seguridad, como
december-2024-backup
. - TTL_PERIOD especifica un tiempo de vida (TTL) para la copia de seguridad.
La copia de seguridad se elimina automáticamente cuando se alcanza el límite de TTL.
Se establece en un número de días. Por ejemplo,
14d
. El valor mínimo es de 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 comprobar 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 de un proyecto y una región.
Configurar programaciones de copias de seguridad automáticas
Puedes configurar una programación de copias de seguridad diarias al crear un clúster o habilitarla en un clúster que ya tengas.
Crear un clúster con una programación de copias de seguridad automáticas habilitada
En el siguiente ejemplo se muestra cómo definir una programación de copias de seguridad diarias al crear un clúster. Para ver más opciones disponibles al crear clústeres, consulta Crear una instancia.
gcloud
gcloud redis clusters create INSTANCE_ID \ --automated-backup-mode=ENABLED \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Haz los cambios siguientes:
- INSTANCE_ID es el ID de la instancia de Memorystore for Redis Cluster que vas a crear.
- START_TIME A especifica cuándo se deben empezar a hacer copias de seguridad. Especifica la hora en formato
HH:00
en un ciclo de 24 horas en hora UTC. Por ejemplo,23:00
. RETENTION_POLICY especifica cuántos días se debe conservar cada copia de seguridad. Indica un número de días (por ejemplo,
7d
). El máximo es de 365 días y el valor predeterminado es de 35 días.Aunque se elimine un clúster, la copia de seguridad se conserva durante el periodo de conservación, que es de 365 días como máximo. Debes eliminar manualmente la copia de seguridad para quitarla antes de que caduque el periodo de conservación.
Habilitar copias de seguridad programadas en un clúster
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=enabled \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Haz los cambios siguientes:
- INSTANCE_ID es el ID de la instancia de Memorystore for Redis Cluster que vas a actualizar.
START_TIME Marca de tiempo que especifica cuándo se deben empezar a crear copias de seguridad. La marca de tiempo debe ser a nivel de hora y designar un periodo de una hora en el que se inician las copias de seguridad. Por ejemplo,
2024-01-01T01:00:00Z
.RETENTION_POLICY especifica cuántos días se debe conservar cada copia de seguridad. Indica un número de días (por ejemplo,
7d
).Aunque se elimine un clúster, la copia de seguridad se conservará durante el periodo de conservación. Debes eliminar manualmente la copia de seguridad para quitarla antes de que caduque el periodo de conservación.
Inhabilitar 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
Sustituye INSTANCE_ID por el ID de la instancia de Memorystore for Redis Cluster que quieras actualizar.
Simultaneidad entre las operaciones de copia de seguridad y actualización de clústeres
Las operaciones de actualización de un clúster y las operaciones de mantenimiento 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 rechazarán las solicitudes de operaciones de copia de seguridad.
- Si hay una operación de copia de seguridad en curso, una operación entrante para actualizar un clúster puede cancelar y fallar la operación de copia de seguridad en curso.
- En raras ocasiones, las operaciones de mantenimiento y de copia de seguridad pueden coincidir y provocar que se omitan las operaciones de copia de seguridad de esa instancia.
Mostrar y describir copias de seguridad
En las siguientes secciones se muestra cómo encontrar información sobre las copias de seguridad disponibles.
Mostrar 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 del proyecto y la región especificados:
gcloud
gcloud redis clusters backup-collections list \ --project=PROJECT_ID \ --region=REGION
Haz los cambios siguientes:
- 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 devuelve 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
Mostrar copias de seguridad de una colección de copias de seguridad
Usa el siguiente comando para enumerar las copias de seguridad de una colección de copias de seguridad:
gcloud
gcloud redis clusters backups list \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Haz los cambios siguientes:
- 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 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
Describir una copia de seguridad
Usa el siguiente comando para obtener 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
Haz los cambios siguientes:
- 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'
Eliminar una copia de seguridad
Usa el siguiente comando para eliminar una copia de seguridad:
gcloud
gcloud redis clusters backups delete BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Haz los cambios siguientes:
- 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.
Exportar una copia de seguridad a un segmento de almacenamiento
Puedes exportar una copia de seguridad a un segmento de Cloud Storage. El segmento de destino debe ser un segmento regional y debe estar en la misma región que la copia de seguridad. Memorystore for Redis Cluster debe tener permiso para acceder al segmento de Cloud Storage y para crear carpetas y objetos en él.
En los siguientes pasos se muestra cómo exportar una copia de seguridad.
Memorystore for Redis Cluster debe tener permiso para acceder al segmento de Cloud Storage de destino. Concede acceso al agente de servicio de Memorystore for Redis Cluster a los recursos de Cloud Storage.
El agente de servicio de Memorystore for Redis Cluster usa el siguiente formato de nomenclatura:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Sustituye PROJECT_NUMBER por el número de proyecto del proyecto en el que se encuentra el clúster o la copia de seguridad.
Asigna al agente de servicio un rol que le conceda los permisos
storage.buckets.get
,storage.objects.create
,storage.objects.delete
ystorage.folders.create
. Por ejemplo, el siguiente comando otorga el rolStorage Admin
al agente de servicio de Memorystore para Redis Cluster en el bucket especificado: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
Haz los cambios siguientes:
- BUCKET_NAME es el nombre del segmento de destino.
- PROJECT_NUMBER es el número de 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 segmento de Cloud Storage.gcloud
gcloud redis clusters backups export BACKUP_NAME \ --region=REGION \ --backup-collection=BACKUP_COLLECTION \ --gcs-bucket=BUCKET
Haz los cambios siguientes:
- 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 segmento de Cloud Storage que no tiene
gs://
como prefijo.
El segmento 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 segmento de Cloud Storage y para crear carpetas y objetos en él.
Restaurar datos a partir de una copia de seguridad
Para restaurar datos a partir de una copia de seguridad, puedes inicializar un clúster nuevo a partir de una copia de seguridad gestionada del mismo proyecto o a partir de archivos RDB de un segmento de almacenamiento. Para inicializar un clúster a partir de archivos RDB, Memorystore for Redis Cluster debe tener permiso para acceder a los archivos.
Inicializar 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 nuevo clúster.
La entidad de seguridad que cree el clúster debe tener el permiso redis.backups.get
para la copia de seguridad.
Para ver más opciones disponibles al crear clústeres, consulta Crear una instancia.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-managed-backup=BACKUP_NAME \ --region=REGION
Haz los cambios siguientes:
- INSTANCE_ID es el ID de la instancia de Memorystore for Redis Cluster que vas a crear.
- BACKUP_NAME es el nombre de una copia de seguridad gestionada. 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
.
Inicializar un clúster nuevo a partir de archivos RDB de un segmento de almacenamiento
En el siguiente ejemplo se muestra cómo importar datos de archivos RDB de un segmento de Cloud Storage a un clúster nuevo. El segmento debe ser regional y estar en la misma región que el nuevo clúster o un segmento birregional con una región igual.
Para inicializar un clúster a partir de archivos RDB de Cloud Storage, debes conceder acceso a Memorystore for Redis Cluster al segmento y a los objetos de Cloud Storage y, a continuación, ejecutar la operación de creación.
Memorystore for Redis Cluster debe tener permiso para acceder a los objetos de Cloud Storage. Concede acceso al agente de servicio de Memorystore for Redis Cluster a los recursos de Cloud Storage.
El agente de servicio de Memorystore for Redis Cluster usa el siguiente formato de nomenclatura:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Sustituye PROJECT_NUMBER por el número de proyecto del proyecto en el que crearás el nuevo clúster.
Asigna al agente de servicio un rol que le conceda los permisos
storage.buckets.get
ystorage.objects.get
. Por ejemplo, el siguiente comando asigna el rolStorage Admin
a un segmento 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
Haz los cambios siguientes:
- BUCKET_NAME es el nombre del contenedor en el que se encuentran los archivos RDB.
- PROJECT_NUMBER es el número de proyecto que se usa en el nombre del agente de servicio.
En el siguiente ejemplo se muestra cómo importar datos de archivos RDB de un segmento de Cloud Storage a un clúster nuevo. Para ver más opciones disponibles al crear clústeres, consulta Crear una instancia.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-gcs-object-uris=URI \ --region=REGION
Haz los cambios siguientes:
- INSTANCE_ID es el ID de la instancia de Memorystore for Redis Cluster que vas a crear.
- URI es uno o varios 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
Puede usar las métricas de Cloud Monitoring para monitorizar las operaciones de copia de seguridad e importación recientes. Para ver una lista de las métricas disponibles para las copias de seguridad de Memorystore for Redis Cluster, consulte Métricas de copias de seguridad.
Siguientes pasos
- Consulta más información sobre las copias de seguridad.
- Consulta información sobre la persistencia.