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 o Azure PowerShell

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 o Azure PowerShell.

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 Servidor Flexível do Banco de Dados do Azure para PostgreSQL, verifique se os seguintes pré-requisitos são atendidos:

Criar uma política de backup

Para criar uma política de backup para PostgreSQL – Servidor Flexível, 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

Noções básicas sobre PostgreSQL – Política de backup de 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 de dados inicial (onde os backups chegam inicialmente)
        • Gatilho (como o backup é disparado)
          • Baseado em agendamento
          • 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 é 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 é disparada (por meio de um agendamento)
  • As tags aplicadas 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 semanalmente, e os dados são enviados para o cofre, onde ficam 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 de servidor flexível, recupere o modelo de política usando o cmdlet Get-AzDataProtectionPolicyTemplate . Esse cmdlet 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.

$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureDatabaseForPGFlexServer
$policyDefn | fl

DatasourceType : {Microsoft.DBforPostgreSQL/flexibleServers/databases}
ObjectType     : BackupPolicy
PolicyRule     : {BackupWeekly, Default}

$policyDefn.PolicyRule | fl

BackupParameter           : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210701.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType       : DataStoreInfoBase
DataStoreType             : VaultStore
Name                      : BackupWeekly
ObjectType                : AzureBackupRule
Trigger                   : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210701.ScheduleBasedTriggerCo
                            ntext
TriggerObjectType         : ScheduleBasedTriggerContext

IsDefault  : True
Lifecycle  : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210701.SourceLifeCycle}
Name       : Default
ObjectType : AzureRetentionRule

O modelo de política consiste em um gatilho (que decide o que dispara o backup) e um ciclo de vida (que 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.

JSON
$policyDefn.PolicyRule[0].Trigger | fl

ObjectType                    : ScheduleBasedTriggerContext
ScheduleRepeatingTimeInterval : {R/2021-08-22T02:00:00+00:00/P1W}
ScheduleTimeZone              : UTC
TaggingCriterion              : {Default}

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

$policyDefn.PolicyRule[1].Lifecycle | fl

DeleteAfterDuration        : P3M
DeleteAfterObjectType      : AbsoluteDeleteOption
SourceDataStoreObjectType  : DataStoreInfoBase
SourceDataStoreType        : VaultStore
TargetDataStoreCopySetting : {}

Modificar o modelo de política

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 Edit-AzDataProtectionPolicyTriggerClientObject cmdlet.

O exemplo a seguir modifica o backup semanal para fazer backup em todos os domingos, quartas e sextas-feiras 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.

$schDates = @(
	(
		(Get-Date -Year 2021 -Month 08 -Day 15 -Hour 22 -Minute 0 -Second 0)
	), 
	(
		(Get-Date -Year 2021 -Month 08 -Day 18 -Hour 22 -Minute 0 -Second 0)
	),
  (
		(Get-Date -Year 2021 -Month 08 -Day 20 -Hour 22 -Minute 0 -Second 0)
	)
)
$trigger = New-AzDataProtectionPolicyTriggerScheduleClientObject -ScheduleDays $schDates -IntervalType Weekly -IntervalCount 1 
Edit-AzDataProtectionPolicyTriggerClientObject -Schedule $trigger -Policy $policyDefn

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 New-AzDataProtectionRetentionLifeCycleClientObject cmdlet para criar novos ciclos de vida e usar o Edit-AzDataProtectionPolicyRetentionRuleClientObject cmdlet 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 armazenado no repositório por seis meses.

$VaultLifeCycle = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 6

Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $policyDefn -Name Monthly -LifeCycles $VaultLifeCycle -IsDefault $false

Adicionar uma etiqueta e os critérios relevantes

Depois que uma regra de retenção for criada, você precisará criar uma marca correspondente na propriedade Trigger da política de backup. Use o cmdlet New-AzDataProtectionPolicyTagCriteriaClientObject para criar um novo critério de marcação e usar o cmdlet Edit-AzDataProtectionPolicyTagClientObject para atualizar a marca existente ou criar uma nova marca.

O exemplo a seguir cria uma nova etiqueta 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.

$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfMonth
Edit-AzDataProtectionPolicyTagClientObject -Policy $policyDefn -Name Monthly -Criteria $tagCriteria

Se o agendamento 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 New-AzDataProtectionPolicyTagCriteriaClientObject cmdlet.

$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -DaysOfWeek @("Sunday", "Friday")
Edit-AzDataProtectionPolicyTagClientObject -Policy $policyDefn -Name Monthly -Criteria $tagCriteria

Criar a política

Depois que o modelo for modificado de acordo com os requisitos, use o cmdlet New-AzDataProtectionBackupPolicy 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óxima etapa

Configurar o backup para o Banco de Dados do Azure para PostgreSQL – servidor flexível usando o Azure PowerShell.