Condividi tramite


Guida introduttiva: Creare una politica di backup per Azure Database per PostgreSQL - Server flessibile usando Azure CLI

Questa guida introduttiva descrive come creare criteri di backup per proteggere il server flessibile di Database di Azure per PostgreSQL tramite l'interfaccia della riga di comando di Azure.

Criteri di Backup di Azure per Database di Azure per PostgreSQL - Server flessibile definisce come e quando vengono creati i backup, il periodo di conservazione per i punti di ripristino e le regole per la protezione e il ripristino dei dati. Backup di Azure consente di eseguire il backup del server flessibile di Azure PostgreSQL utilizzando diversi client, ad esempio il portale di Azure, PowerShell, CLI (Interfaccia a Riga di Comando), Azure Resource Manager, Bicep, Terraform e così via.

Prerequisiti

Prima di creare un criterio di backup per Database di Azure per PostgreSQL - Server flessibile, assicurarsi che siano soddisfatti i prerequisiti seguenti:

  • Esaminare gli scenari supportati e le limitazioni per il backup dei server flessibili di Database di Azure per PostgreSQL.
  • Creare un archivio di backup per archiviare i punti di ripristino del database.

Creare una politica di backup

Per creare un criterio di backup, seguire questi passaggi:

  1. Informazioni sui criteri di backup dei server flessibili di PostgreSQL
  2. Recuperare il modello di criteri
  3. Modificare il modello di policy
  4. Creare il criterio

Informazioni sui criteri di backup dei server flessibili di PostgreSQL

Il backup su disco offre più backup al giorno, mentre il backup su BLOB è un backup continuo senza la necessità di attivazione. A questo punto, è possibile comprendere l'oggetto criteri di backup per PostgreSQL - Server flessibile.

  • PolicyRule
    • BackupRule
      • BackupParameter
        • BackupType (un backup completo del database in questo scenario)
        • Archivio dati iniziale (posizione iniziale dei backup)
        • Trigger (modalità di attivazione del backup)
          • In base alla pianificazione
          • Criteri di assegnazione di tag predefiniti (un 'tag' predefinito per tutti i backup pianificati. Questo tag collega i backup alla regola di conservazione)
    • Regola di conservazione predefinita (regola applicata a tutti i backup, per impostazione predefinita, nell'archivio dati iniziale)

Questo oggetto definisce quindi:

  • Tipo di backup attivato
  • Modalità di attivazione delle politiche (tramite una pianificazione)
  • Tag applicati alla politica di backup
  • Posizione in cui sono archiviati i dati (archivio dati)
  • Ciclo di vita dei dati di backup in un archivio dati

L'oggetto PowerShell predefinito per PostgreSQL – Flexible Server attiva un backup completo ogni settimana e questi raggiungono l'archivio, dove vengono archiviati per tre mesi.

Recuperare il modello di criteri

Per comprendere i componenti interni di un criterio di backup per un database Azure PostgreSQL – Server flessibile, recuperare il modello di criteri utilizzando il comando az dataprotection backup-policy get-default-policy-template. Questo comando restituisce un modello di criteri predefinito per un determinato tipo di origine dati. Usare questo modello di criterio per creare un nuovo criterio.

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"
    }
  ]
}

Il modello di criteri è costituito da un trigger (decide cosa attiva il backup) e un ciclo di vita (decide quando eliminare, copiare, spostare il backup). Nel backup del database del server flessibile di Azure PostgreSQL, il valore predefinito per il trigger è un trigger settimanale pianificato (un backup ogni 7 giorni) e per conservare ogni backup per tre mesi.

Trigger pianificato:

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

Ciclo di vita della regola di conservazione predefinito:


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

Importante

La pianificazione del backup segue il formato di durata ISO 8601. Tuttavia, il prefisso dell'intervallo di ripetizione R non è supportato, poiché i backup sono configurati per essere eseguiti indefinitamente. Qualsiasi valore specificato con R verrà ignorato.

Modificare il modello di policy

Importante

In Azure PowerShell, gli oggetti possono essere usati come ambienti di staging per eseguire tutte le modifiche. Nell'interfaccia della riga di comando di Azure è necessario usare i file, perché non esiste alcuna nozione di oggetti. Ogni operazione di modifica deve essere reindirizzata a un nuovo file, in cui il contenuto viene letto dal file di input e reindirizzato al file di output . In un secondo momento è possibile rinominare il file in base alle specifiche esigenze mediante l'uso in uno script.

Modificare la pianificazione

Il modello di criteri predefinito prevede un backup una volta alla settimana. È possibile modificare la pianificazione del backup in modo che venga eseguita più giorni alla settimana. Per modificare la pianificazione, usare il comando az dataprotection backup-policy trigger set.

Nell'esempio seguente il backup settimanale viene modificato in modo che venga eseguito ogni domenica, mercoledì e venerdì di ogni settimana. La matrice di date di pianificazione indica le date e i giorni della settimana associati a tali date vengono considerati giorni della settimana. Specificare inoltre che queste pianificazioni devono essere ripetute ogni settimana. L'intervallo di pianificazione è quindi 1 e il tipo di intervallo è Settimanale.

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

Aggiungere una nuova regola di conservazione

Il modello predefinito ha un ciclo di vita per l'archivio dati iniziale nella regola di conservazione predefinita. In questo scenario, la regola elimina i dati di backup dopo tre mesi. Usare il comando az dataprotection backup-policy retention-rule create-lifecycle per creare nuovi cicli di vita e usare il comando az dataprotection backup-policy retention-rule set per associarli alle nuove regole o alle regole esistenti.

Nell'esempio seguente viene creata una nuova regola di conservazione denominata Monthly, in cui il primo backup riuscito di ogni mese deve essere conservato nel vault per sei mesi.

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

Aggiungere un tag e i criteri pertinenti

Dopo aver creato una regola di conservazione, è necessario creare un tag corrispondente nella proprietà Trigger dei criteri di backup. Usare il comando az dataprotection backup-policy tag create-absolute-criteria per creare un nuovo criterio di assegnazione di tag e usare il comando az dataprotection backup-policy tag set per aggiornare il tag esistente o creare un nuovo tag.

Nell'esempio seguente viene creato un nuovo tag insieme ai criteri, il primo backup riuscito del mese. Il tag ha lo stesso nome della regola di conservazione corrispondente da applicare.

In questo esempio, i criteri di tag devono essere denominati 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

Ad esempio, se la pianificazione è più backup alla settimana (ogni domenica, mercoledì, giovedì, come specificato nell'esempio) e si desidera archiviare i backup di domenica e venerdì, i criteri di assegnazione di tag possono essere modificati come indicato di seguito, usando il az dataprotection backup-policy tag create-generic-criteria comando .

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

Creare il criterio

Dopo aver modificato il modello in base ai requisiti, usare il comando az dataprotection backup-policy create per creare un criterio usando il modello modificato.

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

Passaggi successivi

Configurare il backup per Database di Azure per PostgreSQL - server flessibile usando Azure CLI.