This page describes how to perform backup operations in Memorystore for Redis Cluster. You can use backups to restore the data of your cluster to a point in time, as well as to export and analyze the data.
Before you begin
Make sure that either you or the user account that you're using has the required permissions for the action that you need to perform.
The Redis Admin and Redis Editor roles can perform all backup operations. The Redis Viewer role can view and export backups.
Initiate an on-demand backup
You can take an on-demand backup for a cluster in Memorystore for Redis Cluster by using either the Google Cloud console or Google Cloud CLI.
Console
In the Google Cloud console, go to the Memorystore for Redis Cluster page.
Click the ID of the cluster for which you want to take a backup.
In the side navigation panel, click Backups.
Click Create backup.
In the Create backup dialog, do the following:
- Optional. Provide a name for the backup. If you don't name the backup, then the backup has a date-and-time stamp for a name.
- Click Create backup.
gcloud
gcloud redis clusters create-backup CLUSTER_ID \ --backup-id=BACKUP_ID \ --ttl=TTL_PERIOD \ --project=PROJECT_ID \ --region=REGION
Replace the following:
- CLUSTER_ID is the ID of the cluster for which you want to take a backup.
- BACKUP_ID is an ID for the backup such as
december-2024-backup - TTL_PERIOD specifies a time to live (TTL) for the backup.
The backup is automatically deleted after reaching the TTL limit.
Set to a number of days. For example,
14d. The minimum value is 1 day. If not specified, the default value is 100 years. - PROJECT_ID is your project ID.
- REGION is the region where your cluster is located (for example,
us-east1).
The command returns an operation name with the following format:
projects/PROJECT_ID/locations/REGION/operations/operation-UID
You can use the
gcloud redis operations describe command to check the status of an operation:
gcloud redis operations describe projects/PROJECT_ID/locations/REGION/operations/operation-UID
You can also use the
gcloud redis operations list
command to list all operations in a project and region.
Configure automated backup schedules
You can either configure a daily backup schedule when you create a cluster or you can enable a daily backup schedule on an existing cluster.
Create a cluster with an automated backup schedule enabled
You can set a daily backup schedule as you create a cluster in Memorystore for Redis Cluster by using either the Google Cloud console or Google Cloud CLI.
Console
To learn how to create a cluster and enable a backup schedule for the cluster automatically, see Create an instance.
gcloud
gcloud redis clusters create CLUSTER_ID \ --automated-backup-mode=ENABLED \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Replace the following:
- CLUSTER_ID is the ID of the cluster that you're creating.
- START_TIME A specifies when to begin taking backups. Specify
the time in the format
HH:00on a 24-hour cycle in UTC time. For example,23:00. RETENTION_POLICY specifies how many days to retain each backup. Set to a number of days, for example,
7d. The maximum is 365 days and the default is 35 days.Even after a cluster is deleted, the backup is retained for the retention period with a maximum of 365 days. You must manually delete the backup to remove the backup before the retention period expires.
Enable scheduled backups on an existing cluster
You can enable a daily backup schedule on an existing cluster by using either the Google Cloud console or Google Cloud CLI.
Console
In the Google Cloud console, go to the Memorystore for Redis Cluster page.
Click the ID of the cluster for which you want to enable backups.
In the side navigation panel, click Backups.
In the Settings section, next to the Automated daily backups field, click edit Edit.
This field has a status of Disabled. If this field has an Enabled status, then you already enabled scheduled backups for this cluster.
In the Automated backup settings dialog, do the following:
- Select the Automated daily backups checkbox.
- In the Days to retain backups field, enter the number of days that
you want Memorystore for Redis Cluster to keep backups before they're deleted
automatically. You can specify from
1to365days. The default value is35days. - From the Time window menu, select the hour when Memorystore for Redis Cluster takes a daily backup.
- Click Save.
gcloud
gcloud redis clusters update CLUSTER_ID \ --automated-backup-mode=enabled \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Replace the following:
- CLUSTER_ID is the ID of the cluster that you're updating.
START_TIME A timestamp that specifies when to begin taking backups. The timestamp must be at the hour level and designates a one hour window when backups begin, for example,
2024-01-01T01:00:00Z.RETENTION_POLICY specifies how many days to retain each backup. Set to a number of days, for example,
7d.Even after a cluster is deleted, the backup is retained for the retention period. You must manually delete the backup to remove the backup before the retention period expires.
Deactivate scheduled backups
You can deactivate scheduled backups on a cluster by using either the Google Cloud console or Google Cloud CLI.
Console
In the Google Cloud console, go to the Memorystore for Redis Cluster page.
Click the ID of the cluster for which you want to deactivate backups.
In the side navigation panel, click Backups.
In the Settings section, next to the Automated daily backups field, click edit Edit.
This field has a status of Enabled. This field is enabled by default. If this field has a Disabled status, then you have already deactivated scheduled backups for this cluster.
In the Automated backup settings dialog, do the following:
- Clear the Automated daily backups checkbox.
- Click Save.
gcloud
gcloud redis clusters update CLUSTER_ID \ --automated-backup-mode=disabled
Replace CLUSTER_ID with the ID of the cluster that you're updating.
Concurrency between backup and update cluster operations
Update operations and maintenance operations on a cluster can cancel ongoing backup operations in the following situations:
- If there's an ongoing operation to update a cluster, then Memorystore for Redis Cluster rejects backup operations.
- In rare circumstances, maintenance and backup operations might coincide with each other and lead to the backup operations being skipped for that cluster.
List and describe backups
The following sections demonstrate how to find information about available backups.
List backup collections
A backup collection includes all backups that you take for a cluster. You can view a list of backup collections by using either the Google Cloud console or Google Cloud CLI.
Console
In the Google Cloud console, go to the Memorystore for Redis Cluster page.
In the side navigation panel, click Backups.
gcloud
gcloud redis clusters backup-collections list \ --project=PROJECT_ID \ --region=REGION
Replace the following:
- REGION is the region where your cluster is located (for example,
us-east1). - PROJECT_ID is your project ID.
The command returns a list of backup collections similar to the following:
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
List backups for a backup collection
You can view a list of backups for a backup collection by using either the Google Cloud console or Google Cloud CLI.
Console
In the Google Cloud console, go to the Memorystore for Redis Cluster page.
In the side navigation panel, click Backups.
Click the ID of a cluster that's associated with a backup collection. This backup collection contains a list of backups that you want to view.
gcloud
gcloud redis clusters backups list \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Replace the following:
- BACKUP_COLLECTION is the name of a backup collection.
- REGION is the region where your cluster is located such as
us-east1. - PROJECT_ID is your project ID.
The command returns a list of backups similar to the following:
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 a backup
You can retrieve information about a backup by using the Google Cloud CLI.
gcloud
gcloud redis clusters backups describe BACKUP_NAME \ --backup-collections=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Replace the following:
- BACKUP_NAME is the name of a backup such as
2024-05-01-10-15-00. - BACKUP_COLLECTION is the name of a backup collection.
- REGION is the region where your cluster is located such as
us-east1. - PROJECT_ID is your project ID.
The command returns information about the backup similar to the following:
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'
Delete a backup
You can delete a backup by using either the Google Cloud console or Google Cloud CLI.
Console
In the Google Cloud console, go to the Memorystore for Redis Cluster page.
Click the ID of the cluster, which contains a backup that you want to delete.
In the side navigation panel, click Backups.
Next to the backup that you want to delete, click more_vert More actions.
From the menu, select Delete.
In the Delete backup? dialog, do the following:
- In the text field, enter
delete. - Click Delete.
- In the text field, enter
gcloud
gcloud redis clusters backups delete BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Replace the following:
- BACKUP_NAME is the name of a backup such as
2024-05-01-10-15-00. - BACKUP_COLLECTION is the name of a backup collection.
- REGION is the region where your cluster is located such as
us-east1. - PROJECT_ID is your project ID.
Export a backup to a storage bucket
You can export a backup to a Cloud Storage bucket by using either the Google Cloud console or Google Cloud CLI.
To export a backup, do the following:
Memorystore for Redis Cluster must have permission to access the destination Cloud Storage bucket. Grant the Memorystore for Redis Cluster service agent access to the Cloud Storage resources.
The Memorystore for Redis Cluster service agent uses the following naming format:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Replace PROJECT_NUMBER with the project number of the project where the cluster or backup is located.
Grant the service agent a role that gives the
storage.buckets.get,storage.objects.create,storage.objects.delete, andstorage.folders.createpermissions. For example, the following command grants theStorage Adminrole for the specified bucket to the Memorystore for Redis Cluster service agent: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
Replace the following:
- BUCKET_NAME is the name of the destination bucket.
- PROJECT_NUMBER is the project number used in the service agent name.
Export a backup to a Cloud Storage bucket.
Console
In the Google Cloud console, go to the Memorystore for Redis Cluster page.
Click the ID of the cluster, which contains a backup that you want to export.
In the side navigation panel, click Backups.
Next to the backup that you want to export, click more_vert More actions.
From the menu, select Export.
In the Choose destination section of the Export backup to Cloud Storage page, click Browse.
In the Select bucket dialog, click the bucket to which you want to export the backup, and then click Select.
In the Export backup to Cloud Storage page, click Export.
gcloud
gcloud redis clusters backups export BACKUP_NAME \ --region=REGION \ --backup-collection=BACKUP_COLLECTION \ --gcs-bucket=BUCKET
Replace the following:
- BACKUP_NAME is the name of a Memorystore for Redis Cluster backup.
- BACKUP_COLLECTION is the name of a backup collection.
- REGION is the region where the backup collection is located such as
us-east1. - BUCKET_NAME is a Cloud Storage bucket, which doesn't have
gs://as a prefix.
The bucket must be a regional bucket and it must be in the same region as the backup. Memorystore for Redis Cluster must have permission to access the bucket, and to create folders and objects inside of the bucket.
Restore data from a backup
To restore data from a backup, you can either seed a new cluster from a managed backup in the same project or you can seed a new cluster from Redis Database (RDB) files in a storage bucket. To seed a cluster from RDB files, Memorystore for Redis Cluster must have permission to access the files.
Seed a new cluster from a backup
The following example demonstrates how to import data from a backup to
a new cluster. The backup must be in the same region as the new cluster.
The principal creating the cluster must have redis.backups.get permission
for the backup.
You can import data from a backup into a new cluster by using either the Google Cloud console or Google Cloud CLI.
Console
In the Google Cloud console, go to the Memorystore for Redis Cluster page.
Click the ID of the cluster, which contains a backup that you want to import.
In the side navigation panel, click Backups.
Next to the backup that you want to import, click more_vert More actions.
From the menu, select Import into new cluster. The Create a Redis Cluster instance page appears.
In the Backup options section, verify the following:
- The Managed backups option is selected.
- The Backup ID field contains the path and name of the backup that you selected.
In the Name your cluster instance section, enter an ID for the cluster that you're creating. The Cluster ID must use only lowercase letters, numbers, and hyphens. It must also start with a letter and be unique in its region.
From the Region menu, select a region for your cluster.
In the Zonal availability section, specify whether you want to create a single-zone or multi-zone cluster.
Optional. In the Node Type section, select one of the following node types:
- Shared-Core (
redis-shared-core-nano) - Small (
redis-standard-small) - Medium (
redis-highmem-medium) - X-Large (
redis-highmem-xlarge)
- Shared-Core (
Optional. In the Cluster size section, enter the number of shards for your cluster. The shard count determines the total memory capacity for storing cluster data. For more information about cluster specifications, see Cluster and node specification.
Optional. If you want to create a cluster with replicas, then in the Replicas section, select the number of replicas (per shard). You can select 0-5 replicas. The default value is 1 replica.
In the Set up connection section, select the network that your applications can use to connect to this cluster. For more information about private networking for Memorystore for Redis Cluster, see Networking overview.
Optional. If you want to increase the security of your cluster, then in the Security section, enable IAM authentication by selecting the Enable IAM AUTH checkbox.
In the Data persistence strategy section, specify how you want Memorystore for Redis Cluster to persist the data in your cluster. Acceptable values are No persistence, Append Only File (AOF) persistence, and Redis Database (RDB) persistence.
Optional. If you want to enable automated backups for your cluster, then do the following:
- Select the Automated daily backups checkbox.
- In the Days to retain backups field, enter the number of days
that you want Memorystore for Redis Cluster to keep backups before they're
deleted automatically. You can specify from
1to365days. The default value is35days. - From the Time window menu, select a time for the daily backup.
Click Create cluster.
gcloud
gcloud redis clusters create CLUSTER_ID \ --import-managed-backup=BACKUP_NAME \ --region=REGION
Replace the following:
- CLUSTER_ID is the ID of the cluster that you're creating.
- BACKUP_NAME is the name of a manage backup. For example,
projects/PROJECT_ID/locations/REGION/backupCollections/BACKUP_COLLECTION_ID/backups/BACKUP_ID. - REGION is the region where your cluster is located such as
us-east1.
For more options that you can use to create a cluster, see Create an instance.
Seed a new cluster from RDB files in a storage bucket
The following example demonstrates how to import data from RDB files in a Cloud Storage bucket to a new cluster. The bucket must be a regional in the same region as the new cluster or dual-region bucket with one region the same.
To seed a cluster from RDB files in a Cloud Storage bucket, you must grant Memorystore for Redis Cluster access to the bucket and objects, and then import the data from the files.
You can import data from RDB files by using either the Google Cloud console or Google Cloud CLI.
Memorystore for Redis Cluster must have permission to access the Cloud Storage objects. Grant the Memorystore for Redis Cluster service agent access to the Cloud Storage resources.
The Memorystore for Redis Cluster service agent uses the following naming format:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Replace PROJECT_NUMBER with the project number of the project where you will create the new cluster.
Grant the service agent a role that gives the
storage.buckets.getandstorage.objects.getpermissions. For example, the following command grants theStorage Adminrole to a Cloud Storage bucket: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
Replace the following:
- BUCKET_NAME is the name of the bucket where the RDB files are located.
- PROJECT_NUMBER is the project number used in the service agent name.
Import data from RDB files in a Cloud Storage bucket into a new cluster.
Console
In the Google Cloud console, go to the Memorystore for Redis Cluster page.
Next to Create cluster, click the arrow_drop_down down arrow, and then select Create from backup from the menu that appears. The Create a Redis Cluster instance page appears.
In the Backup options section, do the following:
- Select the Cloud Storage folder option.
- In the text field, click Browse.
- In the Select folder dialog, select the folder which contains the RDB files that you want to import.
- Click Select.
In the Name your cluster instance section, enter an ID for the cluster. The Cluster ID must use only lowercase letters, numbers, and hyphens. It must also start with a letter and be unique in its region.
From the Region menu, select a region for your cluster.
In the Zonal availability section, specify whether you want to create a single-zone or multi-zone cluster.
In the Node Type section, select one of the following node types:
- Shared-Core (
redis-shared-core-nano) - Small (
redis-standard-small) - Medium (
redis-highmem-medium) - X-Large (
redis-highmem-xlarge)
- Shared-Core (
In the Cluster size section, enter the number of shards for your cluster. The shard count determines the total memory capacity for storing cluster data. For more information about cluster specifications, see Cluster and node specification.
If you want to create a cluster with replicas, then in the Replicas section, select the number of replicas (per shard). You can select 0-5 replicas. The default value is 1 replica.
In the Set up connection section, select the network that your applications can use to connect to this cluster. For more information about private networking for Memorystore for Redis Cluster, see Networking overview.
Optional. If you want to increase the security of your cluster, then in the Security section, enable IAM authentication by selecting the Enable IAM AUTH checkbox.
In the Data persistence strategy section, specify how you want Memorystore for Redis Cluster to persist the data in your cluster. Acceptable values are No persistence, Append Only File (AOF) persistence, and Redis Database (RDB) persistence.
Optional. If you want to enable automated backups for your cluster, then do the following:
- Select the Automated daily backups checkbox.
- In the Days to retain backups field, enter the number of days
that you want Memorystore for Redis Cluster to keep backups before they're
deleted automatically. You can specify from
1to365days. The default value is35days. - From the Time window menu, select a time for the daily backup.
Click Create cluster.
gcloud
gcloud redis clusters create CLUSTER_ID \ --import-gcs-object-uris=URI \ --region=REGION
Replace the following:
- CLUSTER_ID is the ID of the cluster that you're creating.
- URI is one or more Cloud Storage URIs separated by commas (
,). For example,gs://my-bucket/folder/file1.rdb,gs://my-bucket/folder/file2.rdb. - REGION is the region where your cluster is located such as
us-east1.
For more options that you can use to create a cluster, see Create an instance.
Cloud Monitoring metrics
You can use Cloud Monitoring metrics to monitor recent backup and import operations. For a list of metrics available for Memorystore for Redis Cluster backups, see Backup metrics.
What's next
- Read more about backups.
- Learn about Persistence.