Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk azt ismerteti, hogyan lehet biztonsági másolatot készíteni az Azure Database for PostgreSQL-ről az Azure PowerShell használatával. A biztonsági mentést az Azure Portal, az Azure CLI és a REST API for PostgreSQL-adatbázisok használatával is konfigurálhatja.
További információ a támogatott forgatókönyvekről és a PostgreSQL-adatbázisok Azure Database for PostgreSQL-ben történő biztonsági mentésével kapcsolatos gyakori kérdésekről .
Backup-tároló létrehozása
A Backup-tároló egy azure-beli tároló entitás. Tárolja a biztonsági mentési adatokat az Azure Backup által támogatott új számítási feladatokhoz, például az Azure Database for PostgreSQL-kiszolgálókhoz, az Azure-lemezekhez és az Azure-blobokhoz. A biztonsági mentési tárolók segítenek a biztonsági mentési adatok rendszerezésében, miközben minimalizálják a felügyeleti többletterhelést. A biztonsági mentési tárolók az Azure Azure Resource Manager-modelljén alapulnak, amely továbbfejlesztett képességeket biztosít a biztonsági mentési adatok védelméhez.
A Backup-tároló létrehozása előtt válassza ki a tárolón belüli adatok tárolóredundanciát. Ezután hozza létre a biztonsági mentés tárolót a megadott tárredundanciával és ezen a helyen.
Ebben a cikkben egy biztonsági mentési tárolót TestBkpVaulthoz létre a westus régióban, az erőforráscsoport testBkpVaultRGalatt.
New-AzDataProtectionBackupVault A paranccsal hozzon létre egy Backup-tárolót.
További információ a Backup-tárolók létrehozásáról.
$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type LocallyRedundant/GeoRedundant -DataStoreType VaultStore
New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting
$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault
$TestBKPVault | fl
ETag :
Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault
Identity : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppIdentityDetails
IdentityPrincipalId :
IdentityTenantId :
IdentityType :
Location : westus
Name : TestBkpVault
ProvisioningState : Succeeded
StorageSetting : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.StorageSetting}
SystemData : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SystemData
Tag : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppTrackedResourceTags
Type : Microsoft.DataProtection/backupVaults
Biztonsági mentési szabályzat létrehozása
A tároló létrehozása után létrehozhat egy biztonsági mentési szabályzatot a PostgreSQL-adatbázisok védelméhez. A REST API használatával a PostgreSQL-adatbázisokhoz biztonsági mentési szabályzatot is létrehozhat.
A PostgreSQL biztonsági mentési szabályzatának ismertetése
Míg a lemezes biztonsági mentés naponta több biztonsági mentést is biztosít, a blobok biztonsági mentése pedig folyamatos biztonsági mentés eseményindító nélkül, a PostgreSQL biztonsági mentése archív védelmet nyújt. Az elsőként a tárolóba küldött biztonsági mentési adatok egy meghatározott szabály vagy életciklus alapján áthelyezhetők az archív szintre.
Ebben a kontextusban a következő hierarchia segíthet megérteni a PostgreSQL biztonsági mentési házirend-objektumát:
- Szabályzatszabály
- Biztonsági mentési szabály
- Biztonsági mentési paraméter
- Biztonsági mentés típusa (ebben az esetben teljes adatbázis biztonsági mentése)
- Kezdeti adattár (ahol a biztonsági másolatok kezdetben kerülnek)
- Eseményindító (a biztonsági mentés aktiválása)
- Időbeosztás
- Alapértelmezett címkézési feltételek (alapértelmezett címke, amely az összes ütemezett biztonsági mentést az adatmegőrzési szabályhoz kapcsolja)
- Biztonsági mentési paraméter
- Alapértelmezett adatmegőrzési szabály (a kezdeti adattárban alapértelmezés szerint az összes biztonsági mentésre alkalmazott szabály)
- Biztonsági mentési szabály
A szabályzatobjektum határozza meg, hogy milyen típusú biztonsági mentések aktiválódnak, hogyan aktiválódnak (ütemezés szerint), mivel vannak megjelölve, hová kerülnek (adattár), és hogy milyen életciklussal rendelkeznek adataik egy adattárban.
A PostgreSQL alapértelmezett PowerShell-objektuma azt mondja, hogy minden héten teljes biztonsági mentést kell indítania. A biztonsági másolatok elérik a tárolót, ahol három hónapig vannak tárolva.
Ha hozzá szeretné adni az archív szintet a szabályzathoz, el kell döntenie, hogy mikor kerülnek át az adatok a tárolóból az archívumba, mennyi ideig maradnak az adatok az archívumban, és hogy az ütemezett biztonsági másolatok közül melyik legyen archiválható. Hozzá kell adnia egy adatmegőrzési szabályt, amely meghatározza a tárolóadattárban lévő biztonsági mentési adatok életciklusát az archív adattárban. Az adatmegőrzési szabály azt is meghatározza, hogy a biztonsági mentési adatok mennyi ideig maradnak az archív adattárban. Ezután fel kell vennie egy címkét, amely az ütemezett biztonsági másolatokat archiválásra jogosultként jelöli meg.
Az eredményül kapott PowerShell-objektum a következő:
- Szabályzatszabály
- Biztonsági mentési szabály
- Biztonsági mentési paraméter
- Biztonsági mentés típusa (ebben az esetben teljes adatbázis biztonsági mentése)
- Kezdeti adattár (ahol a biztonsági másolatok kezdetben kerülnek)
- Eseményindító (a biztonsági mentés aktiválása)
- Időbeosztás
- Alapértelmezett címkézési feltételek (alapértelmezett címke, amely az összes ütemezett biztonsági mentést az adatmegőrzési szabályhoz kapcsolja)
- Új címkézési feltételek az azonos nevű új adatmegőrzési szabályhoz
- Biztonsági mentési paraméter
- Alapértelmezett adatmegőrzési szabály (a kezdeti adattárban alapértelmezés szerint az összes biztonsági mentésre alkalmazott szabály)
- Új adatmegőrzési szabály
- Életciklus
- Forrásadattár
- A forrásadattárban történő törlés időtartama
- Másolás a céladattárba
- Életciklus
- Biztonsági mentési szabály
A szabályzatsablon lekérése
A PostgreSQL-adatbázis biztonsági mentési szabályzatának belső összetevőinek megismeréséhez kérje le a szabályzatsablont a Get-AzDataProtectionPolicyTemplate parancs használatával. Ez a parancs egy adatforrástípus alapértelmezett szabályzatsablonjának visszaadása. Ezzel a szabályzatsablonnal új szabályzatot hozhat létre.
$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureDatabaseForPostgreSQL
$policyDefn | fl
DatasourceType : {Microsoft.DBforPostgreSQL/servers/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
A szabályzatsablon egy eseményindítóból (amely dönti el, hogy mi aktiválja a biztonsági mentést) és egy életciklusból (amely dönti el, hogy mikor törli, másolja vagy helyezze át a biztonsági mentést). A PostgreSQL-adatbázisok biztonsági mentésében az eseményindító alapértelmezett értéke egy ütemezett heti eseményindító (hét naponta egy biztonsági mentés). Minden biztonsági mentést három hónapig őrizünk meg.
$policyDefn.PolicyRule[0].Trigger | fl
ObjectType : ScheduleBasedTriggerContext
ScheduleRepeatingTimeInterval : {R/2021-08-22T02:00:00+00:00/P1W}
ScheduleTimeZone : UTC
TaggingCriterion : {Default}
$policyDefn.PolicyRule[1].Lifecycle | fl
DeleteAfterDuration : P3M
DeleteAfterObjectType : AbsoluteDeleteOption
SourceDataStoreObjectType : DataStoreInfoBase
SourceDataStoreType : VaultStore
TargetDataStoreCopySetting : {}
A szabályzatsablon módosítása
Az ütemezés módosítása
Az alapértelmezett szabályzatsablon hetente egyszer nyújt biztonsági másolatot. Módosíthatja a biztonsági mentés ütemezését úgy, hogy hetente több napig történjen. Az ütemezés módosításához használja a Edit-AzDataProtectionPolicyTriggerClientObject parancsot.
Az alábbi példa a heti biztonsági mentést minden hét vasárnapjára, szerdára és péntekére módosítja. Az ütemezési dátum tömb megemlíti a dátumokat, és ezeknek a dátumoknak a hét napjait úgy veszi figyelembe, mint a hét napjai. Azt is meg kell adnia, hogy ezek az ütemezések hetente ismétlődjenek. Tehát az ütemezési időköz 1, és az intervallum típusa Weekly.
$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
Új adatmegőrzési szabály hozzáadása
Ha archív védelmet szeretne hozzáadni, módosítania kell a szabályzatsablont.
Az alapértelmezett sablon életciklussal rendelkezik a kezdeti adattárhoz az alapértelmezett adatmegőrzési szabály szerint. Ebben a forgatókönyvben a szabály azt mondja, hogy három hónap után törölje a biztonsági mentési adatokat. Adjon hozzá egy új adatmegőrzési szabályt, amely meghatározza, hogy az adatok mikor kerülnek át az archív adattárba. Vagyis a biztonsági mentési adatok először az archív adattárba lesznek másolva, majd törlődnek a tárolóadattárban.
A szabálynak azt is meg kell határoznia, hogy mennyi ideig őrizze meg az adatokat az archív adattárban. Új életciklusok létrehozásához használja a New-AzDataProtectionRetentionLifeCycleClientObject parancsot. Ha ezeket az életciklusokat új vagy meglévő szabályokhoz szeretné társítani, használja a Edit-AzDataProtectionPolicyRetentionRuleClientObject parancsot.
Az alábbi példa egy új adatmegőrzési szabályt hoz létre.Monthly Ebben a szabályban minden hónap első sikeres biztonsági mentése hat hónapig megmarad a tárolóban, átkerül az archív szintre, és 24 hónapig az archív szinten marad.
$VaultToArchiveLifeCycle = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore VaultStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 6 -TargetDataStore ArchiveStore -CopyOption CopyOnExpiryOption
$OnArchiveLifeCycle = New-AzDataProtectionRetentionLifeCycleClientObject -SourceDataStore ArchiveStore -SourceRetentionDurationType Months -SourceRetentionDurationCount 24
Edit-AzDataProtectionPolicyRetentionRuleClientObject -Policy $policyDefn -Name Monthly -LifeCycles $VaultToArchiveLifeCycle, $OnArchiveLifeCycleLifeCycle -IsDefault $false
Címke és a vonatkozó feltételek hozzáadása
Miután létrehozott egy adatmegőrzési szabályt, létre kell hoznia egy megfelelő címkét a Trigger biztonsági mentési szabályzat tulajdonságában. Új címkézési feltételek létrehozásához használja a New-AzDataProtectionPolicyTagCriteriaClientObject parancsot. A meglévő címke frissítéséhez vagy új címke létrehozásához használja az Edit-AzDataProtectionPolicyTagClientObject parancsot.
Az alábbi példa egy új címkét hoz létre a feltételekkel együtt, amely a hónap első sikeres biztonsági mentése. A címke neve megegyezik az alkalmazandó megőrzési szabály nevével.
Ebben a példában a címkefeltételek neve Monthly:
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -AbsoluteCriteria FirstOfMonth
Edit-AzDataProtectionPolicyTagClientObject -Policy $policyDefn -Name Monthly -Criteria $tagCriteria
Ha az ütemezés hetente több biztonsági mentés (minden vasárnap, szerdán és csütörtökön, az előző példában meghatározottak szerint), és archiválni szeretné a vasárnapi és a pénteki biztonsági mentéseket, a címkézési feltételeket az alábbiak szerint módosíthatja:
$tagCriteria = New-AzDataProtectionPolicyTagCriteriaClientObject -DaysOfWeek @("Sunday", "Friday")
Edit-AzDataProtectionPolicyTagClientObject -Policy $policyDefn -Name Monthly -Criteria $tagCriteria
Új PostgreSQL biztonsági mentési szabályzat létrehozása
Miután módosította a sablont a követelményeknek megfelelően, a New-AzDataProtectionBackupPolicy parancs használatával hozzon létre egy szabályzatot a módosított sablon használatával:
$polOss = New-AzDataProtectionBackupPolicy -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Name "TestOSSPolicy" -Policy $policyDefn
Biztonsági mentés konfigurálása
A tároló és a szabályzat létrehozása után három kritikus szempontot kell figyelembe vennie egy PostgreSQL-adatbázis biztonsági mentéséhez az Azure Database for PostgreSQL-ben.
A legfontosabb entitások ismertetése
PostgreSQL-adatbázis biztonsági mentése
Kérje le a PostgreSQL-adatbázis Resource Manager-azonosítóját a biztonsági mentéshez. Ez az azonosító szolgál az adatbázis azonosítójaként. Az alábbi példa egy PostgreSQL-kiszolgáló empdb11alatt elnevezett testposgresql adatbázist használ, amely egy másik előfizetésben található az erőforráscsoportbanossrg:
$ossId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/ossrg/providers/Microsoft.DBforPostgreSQL/servers/archive-postgresql-ccy/databases/empdb11"
Kulcs tároló
Az Azure Backup szolgáltatás nem tárolja a felhasználónevet és a jelszót a PostgreSQL-adatbázishoz való csatlakozáshoz. Ehelyett a biztonsági mentési rendszergazda a kulcsokat a kulcstartóba helyezi. Az Azure Backup szolgáltatás ezután hozzáfér a kulcstartóhoz, beolvassa a kulcsokat, és hozzáfér az adatbázishoz. Jegyezze fel a megfelelő kulcs titkos azonosítóját.
$keyURI = "https://testkeyvaulteus.vault.azure.net/secrets/ossdbkey"
Biztonsági mentési tár
Csatlakoztatnia kell a Backup-tárolót a PostgreSQL-kiszolgálóhoz, majd a kulcstartóban található kulcsokkal kell elérnie az adatbázist. A Backup-tárolónak tehát hozzá kell férnie a PostgreSQL-kiszolgálóhoz és a kulcstartóhoz. A hozzáférés a Backup-tároló felügyelt identitásához engedélyezett.
Olvassa el a Biztonsági mentési tároló kezelt identitásához szükséges megfelelő engedélyeket a PostgreSQL-kiszolgálón és az Azure Key Vaultban, ahol az adatbázis kulcsait tárolják.
A kérés előkészítése
Miután beállította az összes vonatkozó engedélyt, hajtsa végre a biztonsági mentés konfigurálását két lépésben:
- Állítsa össze a kérést a megfelelő tároló, szabályzat és PostgreSQL-adatbázis használatával a
Initialize-AzDataProtectionBackupInstanceparancsban. - Küldje el az adatbázis biztonsági mentésére vonatkozó kérést a
New-AzDataProtectionBackupInstanceparancs használatával.
$instance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureDatabaseForPostgreSQL -DatasourceLocation $TestBkpvault.Location -PolicyId $polOss[0].Id -DatasourceId $ossId -SecretStoreURI $keyURI -SecretStoreType AzureKeyVault
ConvertTo-Json -InputObject $instance -Depth 4
New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $instance
Name Type BackupInstanceName
---- ---- ------------------
ossrg-empdb11 Microsoft.DataProtection/backupVaults/backupInstances ossrg-empdb11
Igény szerinti biztonsági mentések futtatása
Kérje le a megfelelő biztonsági mentési példányt, amelyen biztonsági mentést kell aktiválnia a Get-AzDataProtectionBackupInstance parancs használatával:
$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "BackupInstanceName"
Biztonsági mentés indításakor megadhatja a megőrzési szabályt. A szabályzat megőrzési szabályainak megtekintéséhez böngéssze át a szabályzat objektumát. Az alábbi példában a névvel Default ellátott szabály jelenik meg. Ez a cikk ezt a példaszabályt használja az igény szerinti biztonsági mentéshez.
$ossPol.PolicyRule | fl
BackupParameter : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType : DataStoreInfoBase
DataStoreType : OperationalStore
Name : BackupHourly
ObjectType : AzureBackupRule
Trigger : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType : ScheduleBasedTriggerContext
IsDefault : True
Lifecycle : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name : Default
ObjectType : AzureRetentionRule
Igény szerinti biztonsági mentés indításához használja a Backup-AzDataProtectionBackupInstanceAdhoc következő parancsot:
$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name
Backup-AzDataProtectionBackupInstanceAdhoc -BackupInstanceName $AllInstances[0].Name -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupRuleOptionRuleName "Default"
Feladatok nyomon követése
Az összes feladat nyomon követése a Get-AzDataProtectionJob parancs használatával. Listázhatja az összes feladatot, és lekérhet egy adott feladatrészletet.
Az összes feladat nyomon követésére is használható Az.ResourceGraph az összes Backup-tárolóban.
Search-AzDataProtectionJobInAzGraph A parancs használatával lekérje a megfelelő feladatokat bármely Backup-tárolóban:
$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureDisk -Operation OnDemandBackup
Kapcsolódó tartalom
- PostgreSQL-adatbázis visszaállítása az Azure PowerShell használatával.
- PostgreSQL-adatbázis visszaállítása az Azure Portal, az Azure CLI és a REST API használatával.
- Azure Database for PostgreSQL-kiszolgáló kezelése az Azure Portal használatával.