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

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

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 Servidor Flexível PostgreSQL, 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 para o PostgreSQL – Servidor flexível, 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 chegam inicialmente)
        • Trigger (Como o backup é acionado)
          • Baseado no cronograma
          • 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 para o Azure PostgreSQL – Backup flexível do banco de dados do servidor, recupere o modelo de política usando o cmdlet Get-AzDataProtectionPolicyTemplate . Este 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 aciona 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 para o disparador é um disparador Semanal agendado (um backup a cada 7 dias) e cada backup é retido 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 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 Edit-AzDataProtectionPolicyTriggerClientObject cmdlet.

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. ** O vetor de datas do cronograma menciona as datas, e os dias da semana correspondentes a essas 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.

$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 use 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, onde o primeiro backup bem-sucedido de cada mês deve ser mantido no vault por seis meses.

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

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

Adicionar uma tag e os critérios relevantes

Depois que uma regra de retenção for criada, você terá que criar uma tag correspondente na propriedade Trigger da política de backup. Use o cmdlet New-AzDataProtectionPolicyTagCriteriaClientObject para criar um novo critério de marcação e use o cmdlet Edit-AzDataProtectionPolicyTagClientObject 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.

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

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 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óximos passos

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