Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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:
- Examine os cenários e limitações com suporte para fazer backup do Banco de Dados do Azure para PostgreSQL – Servidores Flexíveis.
- Crie um cofre de backup para armazenar os pontos de recuperação do banco de dados.
Criar uma política de backup
Para criar uma política de backup para PostgreSQL – Servidor Flexível, siga estas etapas:
- Entender a política de backup do PostgreSQL – Servidor Flexível
- Recuperar o modelo de política
- Modificar o modelo de política
- 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)
- BackupParameter
- Regra de retenção padrão (uma regra que é aplicada a todos os backups, por padrão, no armazenamento de dados inicial)
- BackupRule
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