Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule opisano sposób tworzenia kopii zapasowej usługi Azure Database for PostgreSQL — serwer elastyczny przy użyciu interfejsu wiersza polecenia platformy Azure.
Wymagania wstępne
Przed utworzeniem kopii zapasowej usługi Azure Database for PostgreSQL — serwer elastyczny zapoznaj się z obsługiwanymi scenariuszami i ograniczeniami dotyczącymi tworzenia kopii zapasowych usługi Azure Database for PostgreSQL — serwerów elastycznych.
Tworzenie magazynu kopii zapasowych
Skarbiec kopii zapasowych to jednostka przechowywania na platformie Azure. Przechowuje to dane kopii zapasowej dla nowych obciążeń, które obsługuje usługa Azure Backup. Na przykład Azure Database for PostgreSQL — elastyczne serwery, bloby na koncie magazynowym i dyski Azure. Magazyny przechowywania kopii zapasowych pomagają organizować dane zapasowe, jednocześnie minimalizując nakład pracy związany z zarządzaniem. Magazyny kopii zapasowych są oparte na modelu usługi Azure Resource Manager platformy Azure, który zapewnia rozszerzone możliwości ułatwiające zabezpieczanie danych kopii zapasowych.
Przed utworzeniem sejfu kopii zapasowej wybierz nadmiarowość przechowywanych danych. Następnie przejdź do utworzenia sejfu kopii zapasowych z określoną nadmiarowością magazynu i lokalizacją.
W tym artykule utwórzmy magazyn kopii zapasowych TestBkpVault w regionie westus, w grupie zasobów testBkpVaultRG. Użyj polecenia , az dataprotection vault create aby utworzyć magazyn kopii zapasowych. Dowiedz się więcej o tworzeniu magazynu kopii zapasowych.
az dataprotection backup-vault create -g testBkpVaultRG --vault-name TestBkpVault -l westus --type SystemAssigned --storage-settings datastore-type="VaultStore" type="LocallyRedundant"
{
"eTag": null,
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault",
"identity": {
"principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"type": "SystemAssigned"
},
"location": "westus",
"name": "TestBkpVault",
"properties": {
"provisioningState": "Succeeded",
"storageSettings": [
{
"datastoreType": "VaultStore",
"type": "LocallyRedundant"
}
]
},
"resourceGroup": "testBkpVaultRG",
"systemData": null,
"tags": null,
"type": "Microsoft.DataProtection/backupVaults"
}
Konfigurowanie kopii zapasowych
Przed skonfigurowaniem ochrony bazy danych upewnij się, że utworzono zasady tworzenia kopii zapasowych. Po utworzeniu sejfu i zasad chroń elastyczny serwer Azure Database for PostgreSQL, wykonując następujące kroki:
- Pobierz identyfikator ARM serwera PostgreSQL — Serwer Elastyczny, który ma być chroniony.
- Udzielanie dostępu do magazynu kopii zapasowych
- Przygotowywanie żądania konfiguracji kopii zapasowej
Pobierz identyfikator ARM serwera PostgreSQL — Serwer Elastyczny, który ma być chroniony.
Pobierz identyfikator Azure Resource Manager (ARM ID) serwera elastycznego PostgreSQL, który ma być chroniony. Ten identyfikator służy jako identyfikator bazy danych. Użyjmy przykładu bazy danych o nazwie empdb11 w ramach serwera elastycznego testposgresqlPostgreSQL , który znajduje się w grupie ossrg zasobów w ramach innej subskrypcji.
W poniższym przykładzie użyto bash.
ossId="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/ossrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/archive-postgresql-ccy/databases/empdb11"
Udzielanie dostępu do magazynu kopii zapasowych
Magazyn kopii zapasowych musi nawiązać połączenie z serwerem PostgreSQL Flexible Server, a następnie uzyskać dostęp do bazy danych za pośrednictwem kluczy znajdujących się w magazynie kluczy. Wymaga więc dostępu do elastycznego serwera PostgreSQL oraz magazynu kluczy. Udziel dostępu do tożsamości Managed-Service magazynu kopii zapasowych (MSI).
Sprawdź uprawnienia wymagane dla tożsamości Managed-Service (MSI) magazynu kopii zapasowych w usłudze PostgreSQL – Serwer Elastyczny i w magazynie kluczy Azure, który przechowuje klucze do bazy danych.
Przygotowywanie żądania konfiguracji kopii zapasowej
Po ustawieniu wszystkich odpowiednich uprawnień skonfiguruj kopię zapasową, uruchamiając następujące polecenia:
Przygotuj odpowiednie żądanie przy użyciu odpowiedniego magazynu, polityki, bazy danych PostgreSQL – serwera elastycznego, przy użyciu polecenia
az dataprotection backup-instance initialize.az dataprotection backup-instance initialize --datasource-id $ossId --datasource-type AzureDatabaseForPostgreSQLFlexibleServer -l <vault-location> --policy-id <policy_arm_id> --secret-store-type AzureKeyVault --secret-store-uri $keyURI > OSSBkpInstance.JSONPrześlij żądanie ochrony bazy danych przy użyciu
az dataprotection backup-instance createpolecenia .az dataprotection backup-instance create --resource-group testBkpVaultRG --vault-name TestBkpVault TestBkpvault --backup-instance .\OSSBkpInstance.JSON
Uruchamianie tworzenia kopii zapasowej na żądanie
Określ regułę przechowywania podczas wyzwalania kopii zapasowej. Aby wyświetlić reguły przechowywania w zasadach, przejdź do pliku JSON zasad dla reguł przechowywania. W poniższym przykładzie istnieją dwie reguły przechowywania o nazwach Domyślne i Miesięczne. Użyjmy reguły Miesięcznej dla kopii zapasowej na żądanie.
az dataprotection backup-policy show -g ossdemorg --vault-name ossdemovault-1 --subscription e3d2d341-4ddb-4c5d-9121-69b7e719485e --name osspol5
{
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e-69b7e719485e/resourceGroups/ossdemorg/providers/Microsoft.DataProtection/backupVaults/ossdemovault-1/backupPolicies/osspol5",
"name": "osspol5",
"properties": {
"datasourceTypes": [
" Microsoft.DBforPostgreSQL/flexibleServers/databases"
],
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Full",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupWeekly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2020-04-04T20:00:00+00:00/P1W",
"R/2020-04-01T20:00:00+00:00/P1W"
],
"timeZone": "UTC"
},
"taggingCriteria": [
{
"criteria": [
{
"absoluteCriteria": [
"FirstOfMonth"
],
"daysOfMonth": null,
"daysOfTheWeek": null,
"monthsOfYear": null,
"objectType": "ScheduleBasedBackupCriteria",
"scheduleTimes": null,
"weeksOfTheMonth": null
}
],
"isDefault": false,
"tagInfo": {
"eTag": null,
"id": "Monthly_",
"tagName": "Monthly"
},
"taggingPriority": 15
},
{
"criteria": null,
"isDefault": true,
"tagInfo": {
"eTag": null,
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": false,
"lifecycles": [
{
"deleteAfter": {
"duration": "P10Y",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Monthly",
"objectType": "AzureRetentionRule"
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P1Y",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "VaultStore",
"objectType": "DataStoreInfoBase"
},
"targetDataStoreCopySettings": []
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
},
"resourceGroup": "ossdemorg",
"systemData": null,
"type": "Microsoft.DataProtection/backupVaults/backupPolicies"
}
Aby wyzwolić kopię zapasową na żądanie, użyj az dataprotection backup-instance adhoc-backup polecenia .
az dataprotection backup-instance adhoc-backup --name "ossrg-empdb11" --rule-name "Monthly" --resource-group testBkpVaultRG --vault-name TestBkpVault
Śledzenie zadań
Śledź wszystkie zadania przy użyciu az dataprotection job list polecenia . Możesz wyświetlić listę wszystkich zadań i pobrać szczegóły określonego zadania.
Możesz również użyć Az.ResourceGraph do śledzenia wszystkich zadań we wszystkich sejfach kopii zapasowych. Użyj polecenia az dataprotection job list-from-resourcegraph do pobrania odpowiednich zadań znajdujących się w magazynach kopii zapasowych.
az dataprotection job list-from-resourcegraph --datasource-type AzureDatabaseForPostgreSQLFlexibleServer --status Completed