Cette page explique comment effectuer des opérations de sauvegarde de cluster Memorystore pour Redis. Avant de lire cette page, vous devez vous familiariser avec les sauvegardes.
Avant de commencer
Assurez-vous que vous (ou le compte utilisateur que vous utilisez) disposez des autorisations requises pour l'action que vous devez effectuer.
Les rôles Administrateur Redis et Éditeur Redis peuvent effectuer toutes les opérations de sauvegarde. Le rôle Lecteur Redis permet d'afficher et d'exporter les sauvegardes.
Lancer une sauvegarde à la demande
Utilisez la commande suivante pour effectuer une sauvegarde à la demande :
gcloud
gcloud redis clusters create-backup INSTANCE_ID \ --backup-id=BACKUP_ID \ --ttl=TTL_PERIOD \ --project=PROJECT_ID \ --region=REGION
Remplacez les éléments suivants :
- INSTANCE_ID est l'ID de l'instance Memorystore pour Redis Cluster.
- BACKUP_ID est un ID de sauvegarde, tel que
december-2024-backup
. - TTL_PERIOD spécifie une valeur TTL (Time To Live) pour la sauvegarde.
La sauvegarde est automatiquement supprimée une fois la limite TTL atteinte.
Définissez un nombre de jours. Exemple :
14d
La valeur minimale est de 1 jour. Si aucune valeur n'est spécifiée, la valeur par défaut est de 100 ans. - PROJECT_ID est l'ID de votre projet.
- REGION correspond à la région où se trouve votre cluster (par exemple,
us-east1
).
La commande renvoie un nom d'opération au format suivant :
projects/PROJECT_ID/locations/REGION/operations/operation-UID
Vous pouvez utiliser la commande gcloud redis operations describe
pour vérifier l'état d'une opération :
gcloud redis operations describe projects/PROJECT_ID/locations/REGION/operations/operation-UID
Vous pouvez également utiliser la commande gcloud redis operations list
pour lister toutes les opérations d'un projet et d'une région.
Configurer des programmations de sauvegarde automatique
Vous pouvez configurer une programmation de sauvegarde quotidienne lorsque vous créez un cluster ou activer une programmation de sauvegarde quotidienne sur un cluster existant.
Créer un cluster avec un calendrier de sauvegarde automatique activé
L'exemple suivant montre comment définir une planification de sauvegarde quotidienne lorsque vous créez un cluster. Pour en savoir plus sur les options disponibles lors de la création de clusters, consultez Créer une instance.
gcloud
gcloud redis clusters create INSTANCE_ID \ --automated-backup-mode=ENABLED \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Remplacez les éléments suivants :
- INSTANCE_ID est l'ID de l'instance Memorystore pour Redis Cluster que vous créez.
- START_TIME A indique le moment où les sauvegardes doivent commencer. Spécifiez l'heure au format
HH:00
sur un cycle de 24 heures en heure UTC. Par exemple,23:00
. RETENTION_POLICY indique le nombre de jours de conservation de chaque sauvegarde. Définissez le nombre de jours, par exemple
7d
. La valeur maximale est de 365 jours et la valeur par défaut est de 35 jours.Même après la suppression d'un cluster, la sauvegarde est conservée pendant la période de conservation (365 jours maximum). Vous devez supprimer manuellement la sauvegarde pour la supprimer avant l'expiration de la période de conservation.
Activer les sauvegardes planifiées sur un cluster existant
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=enabled \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Remplacez les éléments suivants :
- INSTANCE_ID est l'ID de l'instance Memorystore pour Redis Cluster que vous mettez à jour.
START_TIME Code temporel qui spécifie le moment où les sauvegardes doivent commencer. Le code temporel doit être au niveau de l'heure et désigne une période d'une heure pendant laquelle les sauvegardes commencent, par exemple
2024-01-01T01:00:00Z
.RETENTION_POLICY indique le nombre de jours de conservation de chaque sauvegarde. Définissez le nombre de jours, par exemple
7d
.Même après la suppression d'un cluster, la sauvegarde est conservée pendant la période de conservation. Vous devez supprimer manuellement la sauvegarde pour la supprimer avant l'expiration de la période de conservation.
Désactiver les sauvegardes planifiées
Utilisez la commande suivante pour désactiver les sauvegardes planifiées sur un cluster :
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=disabled
Remplacez INSTANCE_ID par l'ID de l'instance Memorystore pour Redis Cluster que vous mettez à jour.
Simultanéité entre les opérations de sauvegarde et de mise à jour du cluster
Les opérations de mise à jour sur un cluster et les opérations de maintenance peuvent annuler les opérations de sauvegarde en cours dans les situations suivantes :
- Si une opération de mise à jour d'un cluster est en cours, les demandes d'opérations de sauvegarde sont refusées.
- Si une opération de sauvegarde est en cours, une opération entrante de mise à jour d'un cluster peut annuler et faire échouer l'opération de sauvegarde en cours.
- Dans de rares cas, les opérations de maintenance et de sauvegarde peuvent coïncider et entraîner l'omission des opérations de sauvegarde pour cette instance.
Lister et décrire les sauvegardes
Les sections suivantes expliquent comment trouver des informations sur les sauvegardes disponibles.
Lister les collections de sauvegardes
Une collection de sauvegardes inclut toutes les sauvegardes d'un cluster. Utilisez la commande suivante pour lister les collections de sauvegardes dans le projet et la région spécifiés :
gcloud
gcloud redis clusters backup-collections list \ --project=PROJECT_ID \ --region=REGION
Remplacez les éléments suivants :
- REGION correspond à la région où se trouve votre cluster (par exemple,
us-east1
). - PROJECT_ID est l'ID de votre projet.
La commande renvoie une liste de collections de sauvegarde semblable à celle-ci :
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
Lister les sauvegardes d'une collection de sauvegardes
Utilisez la commande suivante pour lister les sauvegardes d'une collection de sauvegardes :
gcloud
gcloud redis clusters backups list \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Remplacez les éléments suivants :
- BACKUP_COLLECTION est le nom d'une collection de sauvegardes.
- REGION est la région dans laquelle se trouve votre cluster, par exemple
us-east1
. - PROJECT_ID est l'ID de votre projet.
La commande renvoie une liste de sauvegardes semblable à celle-ci :
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
Décrire une sauvegarde
Utilisez la commande suivante pour récupérer des informations sur une sauvegarde spécifique :
gcloud
gcloud redis clusters backups describe BACKUP_NAME \ --backup-collections=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Remplacez les éléments suivants :
- BACKUP_NAME est le nom d'une sauvegarde, par exemple
2024-05-01-10-15-00
. - BACKUP_COLLECTION est le nom d'une collection de sauvegardes.
- REGION est la région dans laquelle se trouve votre cluster, par exemple
us-east1
. - PROJECT_ID est l'ID de votre projet.
La commande renvoie des informations sur la sauvegarde, semblables à ce qui suit :
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'
Supprimer une sauvegarde
Exécutez la commande suivante pour supprimer une sauvegarde :
gcloud
gcloud redis clusters backups delete BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Remplacez les éléments suivants :
- BACKUP_NAME est le nom d'une sauvegarde, par exemple
2024-05-01-10-15-00
. - BACKUP_COLLECTION est le nom d'une collection de sauvegardes.
- REGION est la région dans laquelle se trouve votre cluster, par exemple
us-east1
. - PROJECT_ID est l'ID de votre projet.
Exporter une sauvegarde vers un bucket de stockage
Vous pouvez exporter une sauvegarde vers un bucket Cloud Storage. Le bucket de destination doit être un bucket régional et se trouver dans la même région que la sauvegarde. Memorystore for Redis Cluster doit être autorisé à accéder au bucket Cloud Storage, et à y créer des dossiers et des objets.
Les étapes suivantes montrent comment exporter une sauvegarde.
Memorystore for Redis Cluster doit être autorisé à accéder au bucket Cloud Storage de destination. Accordez à l'agent de service Memorystore for Redis Cluster l'accès aux ressources Cloud Storage.
L'agent de service Memorystore for Redis Cluster utilise le format de nommage suivant :
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Remplacez PROJECT_NUMBER par le numéro de projet du projet dans lequel se trouve le cluster ou la sauvegarde.
Attribuez à l'agent de service un rôle qui lui accorde les autorisations
storage.buckets.get
,storage.objects.create
,storage.objects.delete
etstorage.folders.create
. Par exemple, la commande suivante attribue le rôleStorage Admin
pour le bucket spécifié à l'agent de service Memorystore pour 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
Remplacez les éléments suivants :
- BUCKET_NAME est le nom du bucket de destination.
- PROJECT_NUMBER est le numéro de projet utilisé dans le nom de l'agent de service.
Utilisez la commande
gcloud redis clusters backups export
pour exporter une sauvegarde vers un bucket Cloud Storage.gcloud
gcloud redis clusters backups export BACKUP_NAME \ --region=REGION \ --backup-collection=BACKUP_COLLECTION \ --gcs-bucket=BUCKET
Remplacez les éléments suivants :
- BACKUP_NAME est le nom d'une sauvegarde Memorystore for Redis Cluster.
- BACKUP_COLLECTION est le nom d'une collection de sauvegardes.
- REGION est la région où se trouve la collection de sauvegardes, par exemple
us-east1
. - BUCKET_NAME est un bucket Cloud Storage qui n'a pas
gs://
comme préfixe.
Le bucket doit être un bucket régional et se trouver dans la même région que la sauvegarde. Memorystore for Redis Cluster doit être autorisé à accéder au bucket Cloud Storage, et à y créer des dossiers et des objets.
Restaurer des données à partir d'une sauvegarde
Pour restaurer des données à partir d'une sauvegarde, vous pouvez amorcer un nouveau cluster à partir d'une sauvegarde gérée dans le même projet ou à partir de fichiers RDB dans un bucket de stockage. Pour amorcer un cluster à partir de fichiers RDB, Memorystore for Redis Cluster doit être autorisé à accéder aux fichiers.
Initialiser un cluster à partir d'une sauvegarde
L'exemple suivant montre comment importer des données à partir d'une sauvegarde vers un nouveau cluster. La sauvegarde doit se trouver dans la même région que le nouveau cluster.
Le compte principal qui crée le cluster doit disposer de l'autorisation redis.backups.get
pour la sauvegarde.
Pour en savoir plus sur les options disponibles lors de la création de clusters, consultez Créer une instance.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-managed-backup=BACKUP_NAME \ --region=REGION
Remplacez les éléments suivants :
- INSTANCE_ID est l'ID de l'instance Memorystore pour Redis Cluster que vous créez.
- BACKUP_NAME est le nom d'une sauvegarde gérée. Exemple :
projects/PROJECT_ID/locations/REGION/backupCollections/BACKUP_COLLECTION_ID/backups/BACKUP_ID
. - REGION est la région dans laquelle se trouve votre cluster, par exemple
us-east1
.
Initialiser un cluster à partir de fichiers RDB dans un bucket de stockage
L'exemple suivant montre comment importer des données à partir de fichiers RDB dans un bucket Cloud Storage vers un nouveau cluster. Le bucket doit être régional et se trouver dans la même région que le nouveau cluster, ou être un bucket birégional dont l'une des régions est identique.
Pour amorcer un cluster à partir de fichiers RDB dans Cloud Storage, vous devez accorder à Memorystore pour Redis Cluster l'accès au bucket et aux objets Cloud Storage, puis exécuter l'opération de création.
Memorystore for Redis Cluster doit être autorisé à accéder aux objets Cloud Storage. Accordez à l'agent de service Memorystore for Redis Cluster l'accès aux ressources Cloud Storage.
L'agent de service Memorystore for Redis Cluster utilise le format de nommage suivant :
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Remplacez PROJECT_NUMBER par le numéro de projet dans lequel vous allez créer le cluster.
Attribuez à l'agent de service un rôle qui lui accorde les autorisations
storage.buckets.get
etstorage.objects.get
. Par exemple, la commande suivante attribue le rôleStorage Admin
à 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
Remplacez les éléments suivants :
- BUCKET_NAME correspond au nom du bucket où se trouvent les fichiers RDB.
- PROJECT_NUMBER est le numéro de projet utilisé dans le nom de l'agent de service.
L'exemple suivant montre comment importer des données à partir de fichiers RDB dans un bucket Cloud Storage vers un nouveau cluster. Pour en savoir plus sur les options disponibles lors de la création de clusters, consultez Créer une instance.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-gcs-object-uris=URI \ --region=REGION
Remplacez les éléments suivants :
- INSTANCE_ID est l'ID de l'instance Memorystore pour Redis Cluster que vous créez.
- URI correspond à un ou plusieurs URI Cloud Storage séparés par des virgules (
,
). Par exemple,gs://my-bucket/folder/file1.rdb,gs://my-bucket/folder/file2.rdb
. - REGION est la région dans laquelle se trouve votre cluster, par exemple
us-east1
.
Métriques Cloud Monitoring
Vous pouvez utiliser les métriques Cloud Monitoring pour surveiller les opérations de sauvegarde et d'importation récentes. Pour obtenir la liste des métriques disponibles pour les sauvegardes Memorystore pour Redis Cluster, consultez Métriques de sauvegarde.
Étapes suivantes
- En savoir plus sur les sauvegardes.
- En savoir plus sur la persistance