Questa pagina descrive come eseguire le operazioni di backup di Memorystore for Redis Cluster. Prima di leggere questa pagina, dovresti acquisire familiarità con i backup.
Prima di iniziare
Assicurati che tu o l'account utente che utilizzi disponiate delle autorizzazioni richieste per l'azione che devi eseguire.
I ruoli Amministratore Redis ed Editor Redis possono eseguire tutte le operazioni di backup. Il ruolo Visualizzatore Redis può visualizzare ed esportare i backup.
Avviare un backup on demand
Utilizza il seguente comando per eseguire un backup on demand:
gcloud
gcloud redis clusters create-backup INSTANCE_ID \ --backup-id=BACKUP_ID \ --ttl=TTL_PERIOD \ --project=PROJECT_ID \ --region=REGION
Sostituisci quanto segue:
- INSTANCE_ID è l'ID dell'istanza Memorystore for Redis Cluster.
- BACKUP_ID è un ID per il backup, ad esempio
december-2024-backup
- TTL_PERIOD specifica una durata (TTL) per il backup.
Il backup viene eliminato automaticamente dopo aver raggiunto il limite TTL.
Impostato su un numero di giorni. Ad esempio,
14d
. Il valore minimo è 1 giorno. Se non specificato, il valore predefinito è 100 anni. - PROJECT_ID è l'ID progetto.
- REGION è la regione in cui si trova il cluster (ad esempio
us-east1
).
Il comando restituisce un nome dell'operazione nel seguente formato:
projects/PROJECT_ID/locations/REGION/operations/operation-UID
Puoi utilizzare il comando
gcloud redis operations describe
per controllare lo stato di un'operazione:
gcloud redis operations describe projects/PROJECT_ID/locations/REGION/operations/operation-UID
Puoi anche utilizzare il comando
gcloud redis operations list
per elencare tutte le operazioni in un progetto e in una regione.
Configurare le pianificazioni di backup automatico
Puoi configurare una pianificazione dei backup giornalieri quando crei un nuovo cluster oppure puoi attivare una pianificazione dei backup giornalieri su un cluster esistente.
Crea un cluster con una pianificazione di backup automatico abilitata
Il seguente esempio mostra come impostare una pianificazione di backup giornaliera durante la creazione di un nuovo cluster. Per altre opzioni disponibili durante la creazione dei cluster, consulta Crea un'istanza.
gcloud
gcloud redis clusters create INSTANCE_ID \ --automated-backup-mode=ENABLED \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Sostituisci quanto segue:
- INSTANCE_ID è l'ID dell'istanza Memorystore for Redis Cluster che stai creando.
- START_TIME A specifica quando iniziare a eseguire i backup. Specifica
l'ora nel formato
HH:00
in un ciclo di 24 ore in ora UTC. Ad esempio:23:00
. RETENTION_POLICY specifica per quanti giorni conservare ogni backup. Imposta un numero di giorni, ad esempio
7d
. Il valore massimo è 365 giorni e il valore predefinito è 35 giorni.Anche dopo l'eliminazione di un cluster, il backup viene conservato per il periodo di conservazione con un massimo di 365 giorni. Devi eliminare manualmente il backup per rimuoverlo prima della scadenza del periodo di conservazione.
Abilitare i backup pianificati su un cluster esistente
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=enabled \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Sostituisci quanto segue:
- INSTANCE_ID è l'ID dell'istanza Memorystore for Redis Cluster che stai aggiornando.
START_TIME Un timestamp che specifica quando iniziare a eseguire i backup. Il timestamp deve essere a livello di ora e indica una finestra di un'ora in cui iniziano i backup, ad esempio
2024-01-01T01:00:00Z
.RETENTION_POLICY specifica per quanti giorni conservare ogni backup. Imposta un numero di giorni, ad esempio
7d
.Anche dopo l'eliminazione di un cluster, il backup viene conservato per il periodo di conservazione. Devi eliminare manualmente il backup per rimuoverlo prima della scadenza del periodo di conservazione.
Disattivare i backup pianificati
Utilizza il seguente comando per disattivare i backup pianificati su un cluster:
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=disabled
Sostituisci INSTANCE_ID con l'ID dell'istanza Memorystore for Redis Cluster che stai aggiornando.
Concorrenza tra le operazioni di backup e aggiornamento del cluster
Le operazioni di aggiornamento su un cluster e le operazioni di manutenzione possono annullare le operazioni di backup in corso nelle seguenti situazioni:
- Se è in corso un'operazione di aggiornamento di un cluster, le richieste di operazioni di backup vengono rifiutate.
- Se è in corso un'operazione di backup, un'operazione in entrata per aggiornare un cluster potrebbe annullare e non riuscire a completare l'operazione di backup in corso.
- In rari casi, le operazioni di manutenzione e backup potrebbero coincidere e comportare l'omissione delle operazioni di backup per l'istanza.
Elenca e descrivi i backup
Le sezioni seguenti mostrano come trovare informazioni sui backup disponibili.
Elenco delle raccolte di backup
Una raccolta di backup include tutti i backup di un cluster. Utilizza il seguente comando per elencare le raccolte di backup nel progetto e nella regione specificati:
gcloud
gcloud redis clusters backup-collections list \ --project=PROJECT_ID \ --region=REGION
Sostituisci quanto segue:
- REGION è la regione in cui si trova il cluster (ad esempio
us-east1
). - PROJECT_ID è l'ID progetto.
Il comando restituisce un elenco di raccolte di backup simile al seguente:
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
Elenco dei backup in una raccolta di backup
Utilizza il seguente comando per elencare i backup in una raccolta di backup:
gcloud
gcloud redis clusters backups list \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Sostituisci quanto segue:
- BACKUP_COLLECTION è il nome di una raccolta di backup.
- REGION è la regione in cui si trova il cluster, ad esempio
us-east1
. - PROJECT_ID è l'ID progetto.
Il comando restituisce un elenco di backup simile al seguente:
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
Descrivere un backup
Utilizza il seguente comando per recuperare informazioni su un backup specifico:
gcloud
gcloud redis clusters backups describe BACKUP_NAME \ --backup-collections=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Sostituisci quanto segue:
- BACKUP_NAME è il nome di un backup, ad esempio
2024-05-01-10-15-00
. - BACKUP_COLLECTION è il nome di una raccolta di backup.
- REGION è la regione in cui si trova il cluster, ad esempio
us-east1
. - PROJECT_ID è l'ID progetto.
Il comando restituisce informazioni sul backup simili alle seguenti:
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'
Eliminare un backup
Utilizza questo comando per eliminare un backup:
gcloud
gcloud redis clusters backups delete BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Sostituisci quanto segue:
- BACKUP_NAME è il nome di un backup, ad esempio
2024-05-01-10-15-00
. - BACKUP_COLLECTION è il nome di una raccolta di backup.
- REGION è la regione in cui si trova il cluster, ad esempio
us-east1
. - PROJECT_ID è l'ID progetto.
Esportare un backup in un bucket di archiviazione
Puoi esportare un backup in un bucket Cloud Storage. Il bucket di destinazione deve essere un bucket regionale e deve trovarsi nella stessa regione del backup. Memorystore for Redis Cluster deve disporre dell'autorizzazione per accedere al bucket Cloud Storage e per creare cartelle e oggetti all'interno del bucket.
I seguenti passaggi mostrano come esportare un backup.
Memorystore for Redis Cluster deve disporre dell'autorizzazione per accedere al bucket Cloud Storage di destinazione. Concedi all'agente di servizio Memorystore Cluster for Redis l'accesso alle risorse Cloud Storage.
L'agente di servizio Memorystore for Redis Cluster utilizza il seguente formato di denominazione:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Sostituisci PROJECT_NUMBER con il numero di progetto del progetto in cui si trova il cluster o il backup.
Concedi all'agente di servizio un ruolo che gli fornisca le autorizzazioni
storage.buckets.get
,storage.objects.create
,storage.objects.delete
estorage.folders.create
. Ad esempio, il seguente comando concede il ruoloStorage Admin
per il bucket specificato all'agente di servizio Memorystore for 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
Sostituisci quanto segue:
- BUCKET_NAME è il nome del bucket di destinazione.
- PROJECT_NUMBER è il numero di progetto utilizzato nel nome dell'agente di servizio.
Utilizza il comando
gcloud redis clusters backups export
per esportare un backup in un bucket Cloud Storage.gcloud
gcloud redis clusters backups export BACKUP_NAME \ --region=REGION \ --backup-collection=BACKUP_COLLECTION \ --gcs-bucket=BUCKET
Sostituisci quanto segue:
- BACKUP_NAME è il nome di un backup di Memorystore for Redis Cluster.
- BACKUP_COLLECTION è il nome di una raccolta di backup.
- REGION è la regione in cui si trova la raccolta di backup, ad esempio
us-east1
. - BUCKET_NAME è un bucket Cloud Storage che non ha
gs://
come prefisso.
Il bucket deve essere regionale e trovarsi nella stessa regione del backup. Memorystore for Redis Cluster deve disporre dell'autorizzazione per accedere al bucket Cloud Storage e per creare cartelle e oggetti all'interno del bucket.
Ripristinare i dati da un backup
Per ripristinare i dati da un backup, puoi inizializzare un nuovo cluster da un backup gestito nello stesso progetto oppure puoi inizializzare un nuovo cluster da file RDB in un bucket di archiviazione. Per inizializzare un cluster dai file RDB, Memorystore for Redis Cluster deve disporre dell'autorizzazione per accedere ai file.
Inizializzare un nuovo cluster da un backup
Il seguente esempio mostra come importare i dati da un backup in un nuovo cluster. Il backup deve trovarsi nella stessa regione del nuovo cluster.
L'entità che crea il cluster deve disporre dell'autorizzazione redis.backups.get
per il backup.
Per altre opzioni disponibili durante la creazione dei cluster, consulta Crea un'istanza.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-managed-backup=BACKUP_NAME \ --region=REGION
Sostituisci quanto segue:
- INSTANCE_ID è l'ID dell'istanza Memorystore for Redis Cluster che stai creando.
- BACKUP_NAME è il nome di un backup gestito. Ad esempio,
projects/PROJECT_ID/locations/REGION/backupCollections/BACKUP_COLLECTION_ID/backups/BACKUP_ID
. - REGION è la regione in cui si trova il cluster, ad esempio
us-east1
.
Inizializzare un nuovo cluster da file RDB in un bucket di archiviazione
L'esempio seguente mostra come importare i dati dai file RDB in un bucket Cloud Storage in un nuovo cluster. Il bucket deve essere regionale nella stessa regione del nuovo cluster o dual-region con una regione uguale.
Per inizializzare un cluster da file RDB in Cloud Storage, devi concedere a Memorystore for Redis Cluster l'accesso al bucket e agli oggetti Cloud Storage, quindi eseguire l'operazione di creazione.
Memorystore for Redis Cluster deve disporre dell'autorizzazione per accedere agli oggetti Cloud Storage. Concedi all'agente di servizio Memorystore Cluster for Redis l'accesso alle risorse Cloud Storage.
L'agente di servizio Memorystore for Redis Cluster utilizza il seguente formato di denominazione:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Sostituisci PROJECT_NUMBER con il numero di progetto del progetto in cui creerai il nuovo cluster.
Concedi all'agente di servizio un ruolo che gli assegni le autorizzazioni
storage.buckets.get
estorage.objects.get
. Ad esempio, il seguente comando concede il ruoloStorage Admin
a un bucket 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
Sostituisci quanto segue:
- BUCKET_NAME è il nome del bucket in cui si trovano i file RDB.
- PROJECT_NUMBER è il numero di progetto utilizzato nel nome dell'agente di servizio.
L'esempio seguente mostra come importare i dati dai file RDB in un bucket Cloud Storage in un nuovo cluster. Per altre opzioni disponibili durante la creazione di cluster, vedi Crea un'istanza.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-gcs-object-uris=URI \ --region=REGION
Sostituisci quanto segue:
- INSTANCE_ID è l'ID dell'istanza Memorystore for Redis Cluster che stai creando.
- URI è uno o più URI Cloud Storage separati da virgole (
,
). Ad esempio,gs://my-bucket/folder/file1.rdb,gs://my-bucket/folder/file2.rdb
. - REGION è la regione in cui si trova il cluster, ad esempio
us-east1
.
Metriche di Cloud Monitoring
Puoi utilizzare le metriche di Cloud Monitoring per monitorare le operazioni di backup e importazione recenti. Per un elenco delle metriche disponibili per i backup di Memorystore for Redis Cluster, consulta Metriche di backup.
Passaggi successivi
- Scopri di più sui backup.
- Scopri di più sulla persistenza.