Gestisci backup

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

  1. 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.

  2. Installa e aggiorna Google Cloud CLI.

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.

  1. 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 e storage.folders.create. Ad esempio, il seguente comando concede il ruolo Storage 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.
  2. 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.

  1. 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 e storage.objects.get. Ad esempio, il seguente comando concede il ruolo Storage 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.
  2. 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