Partager via


Démarrage rapide : Créer une stratégie de sauvegarde pour Azure Database pour PostgreSQL - Serveur flexible à l’aide d’Azure CLI

Ce guide de démarrage rapide explique comment créer une stratégie de sauvegarde pour protéger Azure Database pour PostgreSQL - Serveur flexible à l’aide d’Azure CLI.

La stratégie de sauvegarde Azure pour Azure Database pour PostgreSQL - Serveur flexible définit comment et quand des sauvegardes sont créées, la période de rétention des points de récupération et les règles de protection et de récupération des données. Sauvegarde Azure vous permet de sauvegarder votre serveur Azure PostgreSQL - Flexible à l’aide de plusieurs clients, tels que le portail Azure, PowerShell, l’interface CLI, Azure Resource Manager, Bicep, Terraform, etc.

Conditions préalables

Avant de créer une stratégie de sauvegarde pour Azure Database pour PostgreSQL - Serveur flexible, vérifiez que les conditions préalables suivantes sont remplies :

Créer une stratégie de sauvegarde

Pour créer une stratégie de sauvegarde, suivez ces étapes :

  1. Comprendre PostgreSQL - Stratégie de sauvegarde de serveur flexible
  2. Récupérer le modèle de stratégie
  3. Modification du modèle de stratégie
  4. Créer la stratégie

Comprendre PostgreSQL - Stratégie de sauvegarde de serveur flexible

La sauvegarde de disque offre plusieurs sauvegardes par jour, et la sauvegarde blob est une sauvegarde continue sans interruption. À présent, nous allons comprendre l’objet de stratégie de sauvegarde pour PostgreSQL – Serveur flexible.

  • PolicyRule
    • BackupRule
      • BackupParameter
        • BackupType (sauvegarde complète de base de données dans ce scénario)
        • Magasin de données initial (où les sauvegardes doivent atterrir initialement)
        • Déclencheur (mode de déclenchement de la sauvegarde)
          • Basé sur un calendrier
          • Critères d’étiquetage par défaut (« étiquette » par défaut pour toutes les sauvegardes planifiées. Cette étiquette lie les sauvegardes à la règle de rétention)
    • Règle de rétention par défaut (une règle appliquée par défaut à toutes les sauvegardes sur le magasin de données initial)

Par conséquent, cet objet définit :

  • Type de sauvegardes déclenchées
  • La façon dont la stratégie est déclenchée (via une planification)
  • Balises implémentées dans la stratégie de sauvegarde
  • Emplacement où les données sont stockées (magasin de données)
  • Cycle de vie des données de sauvegarde dans un magasin de données

L'objet PowerShell par défaut pour PostgreSQL – Serveur flexible déclenche une sauvegarde complète chaque semaine et celles-ci atteignent le coffre, où elles sont stockées pendant trois mois.

Récupérer le modèle de stratégie

Pour comprendre les composants internes d’une stratégie de sauvegarde pour Azure PostgreSQL – Sauvegarde de base de données serveur flexible, récupérez le modèle de stratégie à l’aide de la az dataprotection backup-policy get-default-policy-template commande. Cette commande retourne un modèle de stratégie par défaut pour un type de source de données donné. Utilisez ce modèle de stratégie pour créer une nouvelle stratégie.

az dataprotection backup-policy get-default-policy-template --datasource-type AzureDatabaseForPostgreSQLFlexibleServer

{
  "datasourceTypes": [
    "Microsoft.DBforPostgreSQL/flexibleServers"
  ],
  "name": "OssFlexiblePolicy1",
  "objectType": "BackupPolicy",
  "policyRules": [
    {
      "backupParameters": {
        "backupType": "Full",
        "objectType": "AzureBackupParams"
      },
      "dataStore": {
        "dataStoreType": "VaultStore",
        "objectType": "DataStoreInfoBase"
      },
      "name": "BackupWeekly",
      "objectType": "AzureBackupRule",
      "trigger": {
        "objectType": "ScheduleBasedTriggerContext",
        "schedule": {
          "repeatingTimeIntervals": [
            "R/2021-08-15T06:30:00+00:00/P1W"
          ],
          "timeZone": "UTC"
        },
        "taggingCriteria": [
          {
            "isDefault": true,
            "tagInfo": {
              "id": "Default_",
              "tagName": "Default"
            },
            "taggingPriority": 99
          }
        ]
      }
    },
    {
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P3M",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "VaultStore",
            "objectType": "DataStoreInfoBase"
          },
          "targetDataStoreCopySettings": []
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }
  ]
}

Le modèle de stratégie se compose d’un déclencheur (détermine ce qui déclenche la sauvegarde) et un cycle de vie (décide quand supprimer, copier, déplacer la sauvegarde). Dans Azure PostgreSQL – Sauvegarde de base de données serveur flexible, la valeur par défaut du déclencheur est un déclencheur hebdomadaire planifié (une sauvegarde tous les 7 jours) et pour conserver chaque sauvegarde pendant trois mois.

Déclencheur planifié :

"trigger": {
        "objectType": "ScheduleBasedTriggerContext",
        "schedule": {
          "repeatingTimeIntervals": [
            "R/2021-08-15T06:30:00+00:00/P1W"
          ],
          "timeZone": "UTC"
        }

Cycle de vie par défaut de la règle de rétention :


{
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P3M",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "VaultStore",
            "objectType": "DataStoreInfoBase"
          },
          "targetDataStoreCopySettings": []
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }

Important

La planification de sauvegarde suit le format de durée ISO 8601. Toutefois, le préfixe R d’intervalle répétitif n’est pas pris en charge, car les sauvegardes sont configurées pour s’exécuter indéfiniment. Toute valeur spécifiée avec R sera ignorée.

Modification du modèle de stratégie

Important

Dans Azure PowerShell, les objets peuvent être utilisés comme emplacements intermédiaires pour effectuer toutes les modifications. Dans Azure CLI, nous devons utiliser des fichiers, car il n’existe aucune notion d’objets. Chaque opération de modification doit être redirigée vers un nouveau fichier, où le contenu est lu à partir du fichier d’entrée et redirigé vers le fichier de sortie . Vous pouvez ensuite renommer le fichier selon vos besoins lors de son utilisation dans un script.

Modification de la planification

Le modèle de stratégie par défaut comporte une sauvegarde par semaine. Vous pouvez modifier la planification de la sauvegarde pour qu’elle se produise plusieurs jours par semaine. Pour modifier la planification, utilisez la az dataprotection backup-policy trigger set commande.

Dans l’exemple suivant, la sauvegarde hebdomadaire est modifiée de façon à se produire le dimanche, le mercredi et le vendredi toutes les semaines. Le tableau des dates de planification mentionne les dates. Les jours de la semaine de ces dates sont pris comme jours de la semaine. Spécifiez également que ces planifications doivent être répétées chaque semaine. Par conséquent, l’intervalle de planification est 1 et le type d’intervalle est Weekly.

az dataprotection backup-policy trigger create-schedule --interval-type Weekly --interval-count 1 --schedule-days 2021-08-15T22:00:00 2021-08-18T22:00:00 2021-08-20T22:00:00
[
  "R/2021-08-15T22:00:00+00:00/P1W",
  "R/2021-08-18T22:00:00+00:00/P1W",
  "R/2021-08-20T22:00:00+00:00/P1W"
]

az dataprotection backup-policy trigger set --policy .\OSSPolicy.json  --schedule R/2021-08-15T22:00:00+00:00/P1W R/2021-08-18T22:00:00+00:00/P1W R/2021-08-20T22:00:00+00:00/P1W > EditedOSSPolicy.json

Ajout d’une nouvelle règle de rétention

Le modèle par défaut a un cycle de vie pour le magasin de données initial sous la règle de rétention par défaut. Dans ce scénario, la règle supprime les données de sauvegarde après trois mois. Utilisez la az dataprotection backup-policy retention-rule create-lifecycle commande pour créer des cycles de vie et utilisez la az dataprotection backup-policy retention-rule set commande pour les associer aux nouvelles règles ou aux règles existantes.

L’exemple suivant crée une règle de rétention nommée Monthly, où la première sauvegarde réussie de chaque mois doit être conservée dans le coffre pendant six mois.

az dataprotection backup-policy retention-rule create-lifecycle --retention-duration-count 6 --retention-duration-type Months --source-datastore VaultStore > VaultLifeCycle.JSON

az dataprotection backup-policy retention-rule set --lifecycles .\VaultLifeCycle.JSON --name Monthly --policy .\EditedOSSPolicy.json > AddedRetentionRulePolicy.JSON

Ajout d’une étiquette et des critères pertinents

Une fois qu’une règle de rétention est créée, vous devez créer une balise correspondante dans la propriété Déclencheur de la stratégie de sauvegarde. Utilisez la az dataprotection backup-policy tag create-absolute-criteria commande pour créer un nouveau critère d’étiquetage et utilisez la az dataprotection backup-policy tag set commande pour mettre à jour la balise existante ou créer une balise.

L’exemple suivant crée une nouvelle étiquette ainsi que les critères pour la première sauvegarde réussie du mois. L’étiquette a le même nom que la règle de conservation correspondante à appliquer.

Dans cet exemple, les critères d’étiquette doivent être nommés Monthly.

az dataprotection backup-policy tag create-absolute-criteria --absolute-criteria FirstOfMonth > tagCriteria.JSON
az dataprotection backup-policy tag set --criteria .\tagCriteria.JSON --name Monthly --policy .\AddedRetentionRulePolicy.JSON > AddedRetentionRuleAndTag.JSON

Par exemple, si la planification est de plusieurs sauvegardes par semaine (tous les dimanches, mercredis, jeudis comme indiqué dans l’exemple) et que vous souhaitez archiver les sauvegardes dimanche et vendredi, les critères d’étiquetage peuvent être modifiés comme suit, à l’aide de la az dataprotection backup-policy tag create-generic-criteria commande.

az dataprotection backup-policy tag create-generic-criteria --days-of-week Sunday Friday > tagCriteria.JSON
az dataprotection backup-policy tag set --criteria .\tagCriteria.JSON --name Monthly --policy .\AddedRetentionRulePolicy.JSON > AddedRetentionRuleAndTag.JSON

Créer la stratégie

Une fois le modèle modifié conformément aux exigences, utilisez la az dataprotection backup-policy create commande pour créer une stratégie à l’aide du modèle modifié.

az dataprotection backup-policy create --backup-policy-name FinalOSSPolicy --policy AddedRetentionRuleAndTag.JSON --resource-group testBkpVaultRG --vault-name TestBkpVault

Étapes suivantes

Configurez la sauvegarde pour Azure Database pour PostgreSQL - serveur flexible à l’aide d’Azure CLI.