Partilhar via


Guia de início rápido: criar uma política de backup para o Banco de Dados do Azure para PostgreSQL - Servidor flexível usando a CLI do Azure

Este guia de início rápido descreve como criar uma política de backup para proteger o Banco de Dados do Azure para PostgreSQL - Servidor Flexível usando a CLI do Azure.

A política de Backup do Azure para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível define como e quando os backups são criados, o período de retenção para pontos de recuperação e as regras para proteção e recuperação de dados. O Backup do Azure permite que você faça backup do seu Azure PostgreSQL - Servidor Flexível usando vários clientes, como o portal do Azure, PowerShell, CLI,Azure Resource Manager, Bicep, Terraform e assim por diante.

Pré-requisitos

Antes de criar uma política de backup para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, verifique se os seguintes pré-requisitos são atendidos:

Criar uma política de cópias de segurança

Para criar uma política de backup, siga estas etapas:

  1. Entenda o PostgreSQL - Política flexível de backup do servidor
  2. Recuperar o modelo de política
  3. Modificar o modelo de política
  4. Criar a política

Entenda o PostgreSQL - Política flexível de backup do servidor

O backup em disco oferece vários backups por dia, e o backup de blob é um backup contínuo sem gatilho. Agora, vamos entender o objeto de política de backup para PostgreSQL – Servidor Flexível.

  • Regra de Política
    • Regra de Backup:
      • BackupParameter
        • BackupType (Um backup de banco de dados completo neste cenário)
        • Datastore inicial (onde os backups devem ser alocados inicialmente)
        • Acionador (Como o backup é acionado)
          • Baseado em agenda
          • Critérios de marcação padrão (uma 'tag' padrão para todos os backups agendados. Essa tag vincula os backups à regra de retenção)
    • Regra de retenção padrão (uma regra que é aplicada a todos os backups, por padrão, no armazenamento de dados inicial)

Assim, este objeto define:

  • O tipo de cópias de segurança acionadas
  • A forma como a política é acionada (através de um cronograma)
  • As tags implementadas para a política de backup
  • O local onde os dados são armazenados (um armazenamento de dados)
  • O ciclo de vida dos dados de backup em um armazenamento de dados

O objeto PowerShell padrão para PostgreSQL – Flexible Server dispara um backup completo toda semana, e estes backups são enviados para o cofre, onde são armazenados por três meses.

Recuperar o modelo de política

Para entender os componentes internos de uma política de Backup do Azure PostgreSQL – Backup de banco de dados do Servidor Flexível, recupere o modelo de política usando o az dataprotection backup-policy get-default-policy-template comando. Este comando retorna um modelo de política padrão para um determinado tipo de fonte de dados. Use este modelo de política para criar uma nova política.

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

O modelo de política consiste em um gatilho (decide o que aciona o backup) e um ciclo de vida (decide quando excluir, copiar, mover o backup). No backup de banco de dados do Azure PostgreSQL – Servidor Flexível, o valor padrão para o disparador é um disparador Semanal agendado (um backup a cada 7 dias) e cada backup é retido por três meses.

Desencadeador agendado:

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

Ciclo de vida da regra de retenção padrão:


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

Importante

O agendamento do backup segue o formato de duração do ISO 8601. No entanto, o prefixo R de intervalo de repetição não é suportado, pois os backups são configurados para serem executados indefinidamente. Qualquer valor especificado com R será ignorado.

Modificar o modelo de política

Importante

No Azure PowerShell, os Objetos podem ser usados como locais de preparo para executar todas as modificações. Na CLI do Azure, temos que usar arquivos, pois não há noção de Objetos. Cada operação de edição deve ser redirecionada para um novo arquivo, onde o conteúdo é lido do arquivo de entrada e redirecionado para o arquivo de saída . Mais tarde, você pode renomear o arquivo conforme necessário ao usar em um script.

Modificar o cronograma

O modelo de política padrão oferece um backup uma vez por semana. Você pode modificar o agendamento para que o backup aconteça vários dias por semana. Para modificar a agenda, use o az dataprotection backup-policy trigger set comando.

O exemplo a seguir modifica o backup semanal para que o backup aconteça em todos os domingos, quartas e sextas-feiras de cada semana. A matriz de datas do calendário menciona as datas, e os dias da semana dessas datas são considerados como dias da semana. Além disso, especifique que esses horários devem ser repetidos todas as semanas. Assim, o intervalo de programação é 1 e o tipo de intervalo é Semanal.

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

Adicionar uma nova regra de retenção

O modelo padrão tem um ciclo de vida para o armazenamento de dados inicial sob a regra de retenção padrão. Nesse cenário, a regra exclui os dados de backup após três meses. Use o az dataprotection backup-policy retention-rule create-lifecycle comando para criar novos ciclos de vida e use o az dataprotection backup-policy retention-rule set comando para associá-los às novas regras ou às regras existentes.

O exemplo a seguir cria uma nova regra de retenção chamada Monthly, em que o primeiro backup bem-sucedido de cada mês deve ser mantido no vault por seis meses.

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

Adicionar uma tag e os critérios relevantes

Depois que uma regra de retenção é criada, você precisa criar uma tag correspondente na propriedade Trigger da política de backup. Use o az dataprotection backup-policy tag create-absolute-criteria comando para criar um novo critério de marcação e use o az dataprotection backup-policy tag set comando para atualizar a tag existente ou criar uma nova tag.

O exemplo a seguir cria uma nova tag junto com os critérios, o primeiro backup bem-sucedido do mês. A tag tem o mesmo nome que a regra de retenção correspondente a ser aplicada.

Neste exemplo, os critérios de tag devem ser denominados 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

Por exemplo, se o agendamento for vários backups por semana (todos os domingos, quartas, quintas-feiras, conforme especificado no exemplo) e você quiser arquivar os backups de domingo e sexta-feira, os critérios de marcação poderão ser alterados da seguinte forma, usando o 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

Criar a política

Depois que o modelo for modificado de acordo com os requisitos, use o az dataprotection backup-policy create comando para criar uma política usando o modelo modificado.

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

Próximos passos

Configure o backup para o Banco de Dados do Azure para PostgreSQL - servidor flexível usando a CLI do Azure.