Sdílet prostřednictvím


Zálohování flexibilního serveru Azure Database for PostgreSQL pomocí Azure CLI

Tento článek popisuje, jak zálohovat flexibilní server Azure Database for PostgreSQL pomocí Azure CLI.

Požadavky

Před zálohováním flexibilního serveru Azure Database for PostgreSQL si projděte podporované scénáře a omezení zálohování flexibilních serverů Azure Database for PostgreSQL.

Vytvořte úložiště zálohování

Trezor záloh je úložná entita v Azure. Tím se ukládají zálohovaná data pro nové úlohy, které Azure Backup podporuje. Například Azure Database for PostgreSQL – Flexibilní servery, objekty blob v účtu úložiště a disky Azure. Trezory záloh pomáhají uspořádat zálohovaná data a současně minimalizovat režijní náklady na správu. Trezory záloh jsou založené na modelu Azure Resource Manageru v Azure, který poskytuje vylepšené možnosti, které pomáhají zabezpečit zálohovaná data.

Než vytvoříte trezor služby Backup, zvolte redundanci úložiště dat v trezoru. Pokračujte vytvořením úložiště záloh s danou redundancí úložiště a umístěním.

V tomto článku vytvoříme úložiště záloh TestBkpVault v oblasti westus ve skupině prostředků testBkpVaultRG. Pomocí příkazu az dataprotection vault create vytvořte úložiště záloh. Přečtěte si další informace o vytváření úložiště záloh.

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"
}

Konfigurace zálohování

Před konfigurací ochrany databáze se ujistěte, že vytvoříte zásadu zálohování. Po vytvoření trezoru a zásad chraňte flexibilní server Azure Database for PostgreSQL pomocí následujícího postupu:

  • Získat ARM ID serveru PostgreSQL - Flexible Server, který se má ochránit
  • Udělení přístupu k trezoru služby Backup
  • Příprava žádosti o konfiguraci zálohování

Získat ARM ID serveru PostgreSQL - Flexible Server, který se má ochránit

Načtěte ID Azure Resource Manageru (ID ARM) flexibilního serveru PostgreSQL, který má být chráněn. Toto ID slouží jako identifikátor databáze. Pojďme použít příklad databáze pojmenované empdb11, která je pod flexibilním serverem PostgreSQL testposgresql a nachází se ve skupině prostředků ossrg v jiném předplatném.

Následující příklad používá Bash.

ossId="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/ossrg/providers/Microsoft.DBforPostgreSQL/flexibleServers/archive-postgresql-ccy/databases/empdb11"

Udělení přístupu k trezoru služby Backup

Trezor služby Backup se musí připojit k flexibilnímu serveru PostgreSQL a pak přistupovat k databázi prostřednictvím klíčů, které jsou přítomné v trezoru klíčů. Proto vyžaduje přístup k flexibilnímu serveru PostgreSQL a trezoru klíčů. Udělte přístup k identitě Managed-Service (MSI) trezoru Backup.

Zkontrolujte oprávnění požadovaná pro identitu Managed-Service trezoru služby Backup (MSI) na flexibilním serveru PostgreSQL a trezoru klíčů Azure, který ukládá klíče do databáze.

Příprava žádosti o konfiguraci zálohování

Jakmile nastavíte všechna příslušná oprávnění, nakonfigurujte zálohování spuštěním následujících příkazů:

  1. Připravte příslušný požadavek pomocí příslušného trezoru, zásady a flexibilní databáze serveru PostgreSQL příkazem 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.JSON
    
  2. Odešlete žádost o ochranu databáze pomocí az dataprotection backup-instance create příkazu.

    az dataprotection backup-instance create --resource-group testBkpVaultRG --vault-name TestBkpVault TestBkpvault --backup-instance .\OSSBkpInstance.JSON
    

Proveďte zálohování na vyžádání

Zadejte pravidlo uchovávání informací při aktivaci zálohování. Pokud chcete zobrazit pravidla uchovávání informací v zásadách, přejděte do souboru JSON zásad pro pravidla uchovávání informací. V následujícím příkladu existují dvě pravidla uchovávání informací s názvy Výchozí a Měsíční. Pojďme použít měsíční pravidlo pro zálohování na vyžádání.

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"
}

K aktivaci zálohování na vyžádání použijte az dataprotection backup-instance adhoc-backup příkaz.

az dataprotection backup-instance adhoc-backup --name "ossrg-empdb11" --rule-name "Monthly" --resource-group testBkpVaultRG --vault-name TestBkpVault

Sledování práce

Pomocí příkazu můžete sledovat všechny úlohy az dataprotection job list . Můžete zobrazit seznam všech úloh a načíst konkrétní podrobnosti úlohy.

Ke sledování všech úloh napříč všemi trezory služby Backup můžete použít také Az.ResourceGraph. Pomocí příkazu az dataprotection job list-from-resourcegraph načtěte relevantní úlohy, které se nacházejí napříč trezory služby Backup.

az dataprotection job list-from-resourcegraph --datasource-type AzureDatabaseForPostgreSQLFlexibleServer --status Completed

Další kroky