Compartilhar via


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 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.

Política de Backup do Azure para 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 de proteção e recuperação de dados. O Backup do Azure permite que você faça backup do Azure PostgreSQL – Servidor Flexível usando vários clientes, como 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 backup

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

  1. Entender a política de backup do PostgreSQL – Servidor Flexível
  2. Recuperar o modelo de política
  3. Modificar o modelo de política
  4. Criar a política

Entender a política de backup do PostgreSQL – Servidor Flexível

O backup de 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 do PostgreSQL – Servidor Flexível.

  • PolicyRule
    • BackupRule
      • BackupParameter
        • BackupType (um backup de banco de dados completo neste cenário)
        • Armazenamento Inicial (onde os backups devem ser armazenados inicialmente)
        • Gatilho (como o backup é disparado)
          • Baseado em agenda
          • Critérios de marcação padrão (uma 'marca' padrão para todos os backups agendados. Essa marca vincula os backups à regra de retenção)
    • Regra de retenção padrão (uma regra que será aplicada a todos os backups, por padrão, no armazenamento de dados inicial)

Portanto, este objeto define:

  • O tipo de backup disparado
  • A maneira como a política é ativada (através de um agendamento)
  • As marcas implementadas na 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 padrão do PowerShell para PostgreSQL – Servidor flexível aciona um backup completo toda semana e eles chegam ao 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 para o backup de banco de dados do PostgreSQL do Azure – Servidor Flexível, recupere o modelo de política usando o comando az dataprotection backup-policy get-default-policy-template. Esse 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 dispara 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 do gatilho é um gatilho semanal agendado (um backup a cada 7 dias) e para manter cada backup por três meses.

Gatilho agendado:

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

Ciclo de vida 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 ISO 8601. No entanto, não há suporte para o prefixo R de intervalo repetido, 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, precisamos usar arquivos, pois não há noção de Objetos. Cada operação de edição deve ser redirecionada para um novo arquivo, em que o conteúdo é lido do arquivo de entrada e redirecionado para o arquivo de saída . Posteriormente, você pode renomear o arquivo conforme necessário ao usar em um script.

Modificar o agendamento

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

O exemplo a seguir modifica o backup semanal para que o backup ocorra todo o domingo, quarta-feira e sexta-feira de cada semana. A matriz das datas do agendamento menciona as datas, e os dias da semana dessas datas são considerados dias da semana. Além disso, especifique que esses agendamentos devem ser repetidos toda semana. Portanto, o intervalo de agendamento é 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 terá um ciclo de vida para o armazenamento de dados inicial na 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 usar 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 cofre 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 etiqueta e os critérios relevantes

Depois que uma regra de retenção é criada, você precisa criar uma marca 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 usar o az dataprotection backup-policy tag set comando para atualizar a marca existente ou criar uma nova marca.

O exemplo a seguir cria uma nova marca juntamente 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 que deve ser aplicada.

Neste exemplo, os critérios de marca devem ser nomeados Mensalmente.

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 a agenda for de 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 maneira, 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óximas etapas

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