Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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:
- Analise os cenários suportados e as limitações 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 para o banco de dados.
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:
- Entenda o PostgreSQL - Política flexível de backup do servidor
- Recuperar o modelo de política
- Modificar o modelo de política
- 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)
- BackupParameter
- Regra de retenção padrão (uma regra que é aplicada a todos os backups, por padrão, no armazenamento de dados inicial)
- Regra de Backup:
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