Gérer les programmations d'instantanés pour des disques


Ce document explique comment gérer les programmations d'instantanés de vos disques persistants zonaux et régionaux et Google Cloud Hyperdisk.

Vous pouvez gérer les programmations d'instantanés comme suit :

  • Afficher les programmations d'instantanés
  • Modifier les programmations d'instantanés
  • Supprimer les programmations d'instantanés

Vous pouvez également configurer des alertes pour les instantanés programmés.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init
    2. Définissez une région et une zone par défaut.

    REST

    Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

      Installez Google Cloud CLI, puis initialisez-la en exécutant la commande suivante :

      gcloud init

Rôles et autorisations requis

Pour obtenir les autorisations nécessaires pour créer une programmation d'instantanés, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :

Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

Ces rôles prédéfinis contiennent les autorisations requises pour créer une programmation d'instantanés. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour créer une programmation d'instantanés:

  • Pour afficher les programmations d'instantanés : compute.resourcePolicies.list sur le projet ou l'organisation
  • Pour mettre à jour une programmation d'instantanés, procédez comme suit :
    • compute.resourcePolicies.update sur la règle de ressource
    • compute.resourcePolicies.get sur la règle de ressource
  • Pour remplacer une programmation d'instantanés, procédez comme suit :
    • compute.resourcePolicies.use sur la règle de ressource
    • compute.disks.addResourcePolicies sur le disque
    • compute.disks.removeResourcePolicies sur le disque
  • Pour supprimer une programmation d'instantanés, procédez comme suit :
    • compute.resourcePolicies.delete sur la règle de ressource
    • compute.disks.removeResourcePolicies sur le disque

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Afficher les programmations d'instantanés

Pour obtenir la liste des programmations d'instantanés, utilisez la console, l'outil gcloud ou la méthode API Compute Engine. La requête présentée ici affiche le nom, la description et la région de toutes les programmations d'instantanés d'un projet.

Console

  1. Dans Google Cloud Console, accédez à la page Instantanés.

    Accéder à la page Instantanés

  2. Sélectionnez l'onglet Programmations d'instantanés.
  3. Utilisez le champ Filtre pour affiner la liste des programmations d'instantanés.
  4. Cliquez sur le nom d'une programmation d'instantanés pour afficher ses détails.

gcloud

Pour afficher la liste des programmations d'instantanés, utilisez la commande resource-policies list.

 gcloud compute resource-policies list

Pour consulter la description d'une programmation d'instantanés spécifique, utilisez la commande resource-policies describe.

gcloud compute resource-policies describe SCHEDULE_NAME

Remplacez SCHEDULE_NAME par le nom de la programmation d'instantanés.

REST

Envoyez une requête GET à resourcePolicies.aggregatedList pour afficher la liste des programmations d'instantanés figurant dans un projet.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/resourcePolicies

Remplacez PROJECT_ID par le nom du projet.

Afficher les programmations d'instantanés par région

Pour afficher les programmations d'instantanés d'un projet dans une région particulière, utilisez la console Google Cloud, gcloud CLI ou REST.

Console

  1. Dans Google Cloud Console, accédez à la page Instantanés.

    Accéder à la page Instantanés

  2. Sélectionnez l'onglet Programmations d'instantanés.
  3. Utilisez le champ Filtre pour répertorier les programmations d'instantanés d'une région spécifique.

gcloud

Pour afficher les programmations d'instantanés d'un projet dans une région spécifique, utilisez la commande resource-policies list.

gcloud compute resource-policies list PROJECT_ID --filter REGION

Remplacez les éléments suivants :

  • PROJECT_ID : nom du projet
  • REGION : région, par exemple us-west1

REST

Envoyez une requête GET à la méthode resourcePolicies.list pour récupérer les programmations d'instantanés créées dans une région.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies

Remplacez les éléments suivants :

  • PROJECT_ID : nom du projet
  • REGION : région, par exemple us-west1

Modifier une programmation d'instantanés

Après avoir créé une programmation d'instantanés, vous pouvez modifier les champs suivants de manière dynamique, à l'aide de la procédure Mettre à jour une programmation d'instantanés :

  • Description
  • Programmation des instantanés
  • Libellés appliqués aux instantanés générés
  • Règle de suppression du disque source pour gérer les instantanés générés automatiquement si le disque source est supprimé
  • Règle de conservation permettant de définir la durée de conservation des instantanés générés à partir de la programmation d'instantanés

Pour mettre à jour d'autres valeurs d'une programmation d'instantanés, vous devez supprimer la programmation d'instantanés et en créer une autre, comme décrit dans la section Remplacer une programmation d'instantanés.

Les mises à jour de la programmation d'instantanés prennent effet dans le premier instantané après les mises à jour. Si un instantané est en cours d'exécution pendant la mise à jour de la programmation d'instantanés, les modifications prennent effet dans l'instantané suivant.

Mettre à jour une programmation d'instantanés

Vous pouvez utiliser Google Cloud CLI ou l'API Compute Engine pour modifier certaines des propriétés de votre programmation d'instantanés, comme décrit dans la section Modifier une programmation d'instantanés.

Pour modifier d'autres propriétés de votre programmation d'instantanés, utilisez la méthode décrite dans la section Remplacer une programmation d'instantanés.

Console

  1. Dans Google Cloud Console, accédez à la page Instantanés.

    Accéder à la page Instantanés

  2. Sélectionnez Programmations d'instantanés pour afficher la liste de vos programmations.
  3. Cliquez sur le nom de la programmation d'instantanés que vous souhaitez modifier.
  4. Sur la page d'informations de la programmation d'instantanés, cliquez sur le bouton Modifier la programmation.

gcloud

Utilisez la commande compute resource-policies update pour mettre à jour une description, une programmation, une règle de conservation ou les libellés d'une programmation d'instantanés.

gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
   --region=REGION \
   --description="DESCRIPTION" \
   --snapshot-labels="KEY=VALUE" \
   --max-retention-days=DAYS \
   --on-source-disk-delete=DELETE_OPTION \
   --start-time=START_TIME \
   SCHEDULE_FLAG

Remplacez les éléments suivants :

  • SCHEDULE_NAME : nom de la programmation d'instantanés.
  • REGION : région où se trouve votre programmation d'instantanés.
  • DESCRIPTION : description de la programmation d'instantanés. Utilisez des guillemets autour de votre description.
  • KEY et VALUE : paire clé-valeur pouvant être utilisée pour regrouper des ressources liées ou associées.
  • DAYS : nombre maximal de jours de conservation de l'instantané avant sa suppression.
  • DELETE_OPTION : comportement de conservation des instantanés automatiques après la suppression du disque d'origine. La valeur doit être l'une des suivantes :
    • apply-retention-policy : lorsque le disque source est supprimé, continuez à appliquer la durée de conservation pour tous les instantanés créés par la programmation d'instantanés.
    • keep-auto-snapshots : (par défaut) si le disque source est supprimé, conservez tous les instantanés créés par la programmation d'instantanés, quelle que soit la durée de conservation.
  • START_TIME : heure de début (UTC). L'heure ne doit pas inclure de minutes. Exemple :
    • 14h PST correspond à 22:00.
    • Si vous définissez une heure de début ayant la valeur 22:13, une erreur sera renvoyée.
  • SCHEDULE_FLAG : l'une des options suivantes :

    • --hourly-schedule=HOURLY_INTERVAL : nombre d'heures entre chaque instantané. Le paramètre HOURLY_INTERVAL doit être un nombre entier compris entre 1 et 23 Par exemple, si vous définissez --hourly-schedule sur 12, l'instantané est généré toutes les 12 heures.
    • --daily-schedule : effectue un instantané quotidiennement, à l'heure définie sur START_TIME.
    • --weekly-schedule=WEEKLY_INTERVAL : définit les jours auxquels vous souhaitez que la création d'instantanés ait lieu. Vous devez rédiger en entier le jour de la semaine. Les valeurs ne sont pas sensibles à la casse.

    • --weekly-schedule-from-file=FILE_NAME : spécifie un fichier contenant la programmation d'instantanés à fréquence hebdomadaire. Vous pouvez spécifier des programmations hebdomadaires à différents jours et à différentes heures à l'aide d'un fichier. Par exemple, votre fichier peut spécifier une programmation d'instantanés les lundis et mercredis : none [{"day": "MONDAY", "startTime": "04:00"}, {"day": "WEDNESDAY", "startTime": "02:00"}]. Si vous incluez une heure de début dans votre fichier, vous n'avez pas besoin de définir l'option --start-time. La programmation utilise le fuseau horaire UTC standard. L'heure ne doit pas inclure de minutes. Exemple :

      • 14h PST correspond à 22:00.
      • Si vous définissez une heure de début ayant la valeur 22:13, une erreur sera renvoyée.

    Les options de fréquence d'instantanés hourly-schedule, daily-schedule, weekly-schedule et weekly-schedule-from-file s'excluent mutuellement. Vous ne pouvez en utiliser qu'une seule pour la programmation d'instantanés.

Exemples :

Pour remplacer une programmation d'instantanés par une programmation à fréquence quotidienne, procédez comme suit :

gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
    --region=REGION --daily-schedule --start-time=START_TIME

Pour remplacer un instantané par une programmation à fréquence horaire, et mettre à jour la description et le libellé de l'instantané, procédez comme suit :

gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
    --region=REGION --description="DESCRIPTION" \
    --hourly-schedule=HOURLY_INTERVAL --start-time=START_TIME \
    --snapshot-labels="KEY=VALUE"

Pour modifier les règles de conservation des instantanés et de suppression des disques sources pour une programmation d'instantanés, procédez comme suit :

gcloud compute resource-policies update snapshot-schedule SCHEDULE_NAME \
    --region=REGION --max-retention-days=DAYS \
    --on-source-disk-delete=DELETE_OPTION

REST

Créez une requête PATCH à la méthode resourcePolicies pour mettre à jour la description, la programmation, la règle de conservation, la règle de suppression du disque source ou les libellés d'une programmation d'instantanés. Dans le corps de la requête, il vous suffit de spécifier le champ name et les champs que vous souhaitez mettre à jour.

  • Modifiez la description et le libellé :

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
    {
        "name": "SCHEDULE_NAME",
        "description": "DESCRIPTION",
        "snapshotProperties": {
            "labels": {"KEY": "VALUE"}
        }
    }
    
  • Définissez la programmation d'instantanés sur une fréquence horaire :

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
    {
        "name": "SCHEDULE_NAME",
        "snapshotSchedulePolicy": {
            "schedule": {
              "hourlySchedule": {
                  "hoursInCycle": HOURLY_INTERVAL,
                  "startTime": START_TIME
               }
            }
        }
    }
    
  • Définissez la programmation d'instantanés sur une fréquence quotidienne :

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
    {
        "name": "SCHEDULE_NAME",
        "snapshotSchedulePolicy": {
            "schedule": {
              "dailySchedule": {
                  "daysInCycle": DAILY_INTERVAL,
                  "startTime": START_TIME
               }
            }
        }
    }
    
  • Définissez la programmation d'instantanés sur une fréquence hebdomadaire :

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
    {
        "name": "SCHEDULE_NAME",
        "snapshotSchedulePolicy": {
            "schedule": {
               "weeklySchedule": {
                  "dayOfWeeks": [
                     {
                        "day": WEEKLY_INTERVAL,
                        "startTime": START_TIME
                     }
                  ]
               }
            }
        }
    }
    
  • Modifiez la règle de conservation des instantanés :

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME
    {
        "name": "SCHEDULE_NAME",
        "snapshotSchedulePolicy": {
            "retentionPolicy": {
                "maxRetentionDays": DAYS,
                "onSourceDiskDelete":"DELETE_OPTION"
            }
       }
    }
    

Remplacez les éléments suivants :

  • PROJECT_ID : nom du projet
  • REGION : région où se trouve la programmation d'instantanés.
  • SCHEDULE_NAME : nom de la programmation d'instantanés.
  • DESCRIPTION : description de la programmation d'instantanés. Utilisez des guillemets autour de votre description.
  • KEY et VALUE : paire clé-valeur pouvant être utilisées pour regrouper des ressources liées ou associées.
  • HOURLY_INTERVAL : définit l'intervalle auquel vous souhaitez que la création d'instantanés ait lieu. Définissez la programmation à fréquence horaire à l'aide d'un entier compris entre 1 et 23. Pour que les instantanés soient créés en même temps chaque jour, choisissez un nombre qui se divise uniformément en 24 (1, 2, 3, 4, 6, 8 ou 12). Par exemple, si vous définissez --hourly-schedule sur 12, l'instantané est généré toutes les 12 heures.
  • DAILY_INTERVAL : définit le nombre de jours entre chaque instantané. Pour créer un instantané chaque jour, utilisez la valeur 1.
  • WEEKLY_INTERVAL : définit une programmation qui s'exécute certains jours de la semaine. Indiquez un ou plusieurs jours. Les options suivantes sont disponibles : MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY et SUNDAY. Vous devez rédiger en entier les jours de la semaine. Ils ne sont pas sensibles à la casse. Vous pouvez définir jusqu'à 7 intervalles pour dayOfWeeks, un pour chaque jour de la semaine.
  • START_TIME : heure de début (UTC). L'heure ne doit pas inclure de minutes. Exemple :
    • 14h PST correspond à 22:00 UTC.
    • Si vous définissez une heure de début ayant la valeur 22:13, une erreur sera renvoyée.
  • DAYS : nombre maximal de jours de conservation de l'instantané avant sa suppression.
  • DELETE_OPTION : comportement de conservation des instantanés automatiques après la suppression du disque d'origine. La valeur doit être l'une des suivantes :
    • APPLY_RETENTION_POLICY : lorsque le disque source est supprimé, continuez à appliquer la durée de conservation pour tous les instantanés créés par la programmation d'instantanés.
    • KEEP_AUTO_SNAPSHOTS : (par défaut) si le disque source est supprimé, conservez tous les instantanés créés par la programmation d'instantanés, quelle que soit la durée de conservation.

Remplacer une programmation d'instantanés

Pour supprimer la programmation d'instantanés et en créer une autre, procédez comme suit : Utilisez cette méthode pour modifier les propriétés d'une programmation d'instantanés qui ne peuvent pas être modifiées à l'aide de la procédure Mettre à jour une programmation d'instantanés.

Si vous remplacez une programmation d'instantanés déjà associée à un disque, vous devez d'abord dissocier la programmation du disque, puis la supprimer. Vous pouvez alors créer une autre programmation et l'associer au disque.

Les instantanés générés à partir de la programmation d'instantanés dissociée ne sont pas gérés par la nouvelle règle. Ces instantanés sont conservés indéfiniment jusqu'à ce que vous les supprimiez.

Utilisez la console Google Cloud, gcloud CLI ou REST pour supprimer et remplacer votre programmation d'instantanés.

Console

  1. Dans Google Cloud Console, accédez à la page Disques.

    Accéder à la page Disques

  2. Sélectionnez le disque contenant la programmation que vous souhaitez dissocier.
  3. Sur la page Gérer le disque, cliquez sur Modifier. Vous devrez peut-être d'abord cliquer sur le menu Autres actions.
  4. Ouvrez le menu déroulant Programmation des instantanés.
  5. Cliquez sur Pas de programmation pour dissocier la programmation du disque.
  6. Vous pouvez alors créer une autre programmation, ou l'échanger lorsque vous modifiez les options du disque.
  7. Cliquez sur Enregistrer pour terminer la tâche.

gcloud

  1. Utilisez la commande gcloud disks remove-resource-policies pour dissocier la programmation d'instantanés du disque contenant la programmation que vous souhaitez modifier.

    gcloud compute disks remove-resource-policies DISK_NAME \
        --resource-policies SCHEDULE_NAME \
        --region REGION \
        --zone ZONE
    

    Remplacez les éléments suivants :

    • DISK_NAME : nom du disque auquel la programmation d'instantanés est associée
    • SCHEDULE_NAME : nom de la programmation d'instantanés que vous souhaitez dissocier de ce disque
    • REGION : région où se trouve votre programmation d'instantanés
    • ZONE : zone où réside votre disque zonal
  2. Exécutez la commande gcloud disks add-resource-policies pour ajouter la nouvelle programmation d'instantanés sur le disque.

    gcloud compute disks add-resource-policies DISK_NAME \
         --resource-policies SCHEDULE_NAME \
         --zone ZONE
    

    Remplacez les éléments suivants :

    • DISK_NAME : nom du disque avec la règle de ressource de la programmation d'instantanés
    • SCHEDULE_NAME : nom de la programmation d'instantanés que vous souhaitez ajouter à ce disque
    • ZONE : zone où se trouve votre disque

REST

  1. Dissociez la programmation d'instantanés actuelle d'un disque en envoyant une requête POST à disks.removeResourcePolicies.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/removeResourcePolicies
    
    {
      "resourcePolicies": [
         "regions/REGION/resourcePolicies/SCHEDULE_NAME"
      ]
    }
    

    Remplacez les éléments suivants :

    • PROJECT_ID : nom du projet
    • ZONE : zone où se trouve le disque
    • DISK_NAME : nom du disque avec la programmation d'instantanés associée
    • REGION : emplacement de la programmation d'instantanés
    • SCHEDULE_NAME : nom de la programmation d'instantanés que vous supprimez de ce disque
  2. Associez la nouvelle programmation d'instantanés au disque en envoyant une requête POST à la méthode disks.addResourcePolicies.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME/addResourcePolicies
    
    {
      "resourcePolicies": [
        "regions/REGION/resourcePolicies/SCHEDULE_NAME"
      ]
    }
    

    Remplacez les éléments suivants :

    • PROJECT_ID : nom du projet
    • ZONE : emplacement du disque.
    • DISK_NAME : le nom du disque
    • REGION : emplacement de la programmation d'instantanés
    • SCHEDULE_NAME : nom de la programmation d'instantanés que vous appliquez à ce disque

Supprimer une programmation d'instantanés

Si vous supprimez une programmation d'instantanés, tous les instantanés générés automatiquement associés à cette programmation sont conservés de manière permanente. Cependant, une fois la programmation supprimée, elle ne peut plus générer d'instantanés.

La règle de conservation fait partie de votre programmation d'instantanés. Une fois la programmation supprimée, la règle de conservation ne s'applique plus. Les instantanés déjà générés sont conservés jusqu'à ce que vous les supprimiez manuellement.

Pour supprimer une programmation d'instantanés existante, utilisez Google Cloud Console, Google Cloud CLI ou la méthode API Compute Engine. Si la programmation est déjà associée à un disque, dissociez-la d'abord du disque, puis supprimez-la. Vous ne pouvez pas supprimer une programmation d'instantanés associée à un disque.

Console

  1. Dans Google Cloud Console, accédez à la page Instantanés.

    Accéder à la page Instantanés

  2. Sélectionnez Programmations d'instantanés pour afficher la liste de vos programmations.
  3. Sélectionnez une programmation non associée à un disque.
  4. Cliquez sur Supprimer.

gcloud

Pour supprimer une programmation d'instantanés, utilisez la commande resource-policies delete.

gcloud compute resource-policies delete SCHEDULE_NAME \
    --region REGION

Remplacez les éléments suivants :

  • SCHEDULE_NAME : nom de la programmation d'instantanés
  • REGION : emplacement de la programmation d'instantanés

REST

Pour supprimer une programmation d'instantanés, envoyez une requête DELETE à la méthode resourcePolicies.delete. Si la programmation d'instantanés est déjà associée à un disque, une erreur sera renvoyée.

DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/SCHEDULE_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : nom du projet
  • REGION : emplacement de la programmation d'instantanés
  • SCHEDULE_NAME : nom de la programmation d'instantanés

Journalisation et surveillance

Chaque programmation d'instantanés associée à un disque crée de manière continue des événements système, qui sont surveillés et journalisés à tout moment. Les journaux d'audit d'événements système sont toujours activés.

Ces journaux fournissent des informations sur le comportement des instantanés programmés pour chaque disque associé. Vous pouvez afficher vos journaux à partir du menu "Journalisation" de la console Google Cloud.

Pour en savoir plus sur l'utilisation de l'explorateur de journaux, consultez la page Afficher les journaux à l'aide de l'explorateur de journaux.

Console

  1. Dans Google Cloud Console, accédez à la page Explorateur de journaux.

    Accéder à la page "Explorateur de journaux"

  2. Dans la liste déroulante Audited resource (Ressource auditée), placez le curseur sur Disk (Disque) et sélectionnez All disk_id (Tous les ID de disque).

  3. Dans la liste déroulante All logs (Tous les journaux), sélectionnez cloudaudit.googleapis.com/system_event et cliquez sur OK.

  4. Dans la liste déroulante Any log level (Tous les niveaux de journalisation), sélectionnez le type de journal.

Étapes suivantes