Tworzenie kopii zapasowych obiektów blob platformy Azure na koncie magazynu przy użyciu interfejsu wiersza polecenia platformy Azure

W tym artykule opisano sposób tworzenia kopii zapasowych obiektów blob platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

Ważne

Obsługa tworzenia kopii zapasowych i przywracania obiektów blob platformy Azure za pośrednictwem interfejsu wiersza polecenia jest dostępna w wersji zapoznawczej i jest dostępna jako rozszerzenie w wersji Az 2.15.0 lub nowszej. Rozszerzenie jest instalowane automatycznie po uruchomieniu poleceń az dataprotection . Dowiedz się więcej o rozszerzeniach.

Ten artykuł obejmuje następujące zagadnienia:

  • Przed rozpoczęciem

  • Tworzenie magazynu kopii zapasowych

  • Tworzenie zasad kopii zapasowych

  • Konfigurowanie kopii zapasowej obiektu blob platformy Azure

  • Uruchamianie zadania tworzenia kopii zapasowej na żądanie

Aby uzyskać informacje na temat dostępności regionów obiektów blob platformy Azure, obsługiwanych scenariuszy i ograniczeń, zobacz macierz obsługi.

Przed rozpoczęciem

Przed rozpoczęciem pracy zapoznaj się z wymaganiami wstępnymi i macierzą obsługi .

Tworzenie magazynu kopii zapasowych

Magazyn kopii zapasowych to jednostka magazynu na platformie Azure, która przechowuje dane kopii zapasowej dla różnych nowszych obciążeń, które Azure Backup obsługują, takie jak serwery Azure Database for PostgreSQL i obiekty blob na koncie magazynu i dyskach platformy Azure. Magazyny kopii zapasowych ułatwiają organizowanie danych kopii zapasowych przy jednoczesnym zminimalizowaniu nakładu pracy związanego z zarządzaniem. Magazyny kopii zapasowych są oparte na modelu usługi Azure Resource Manager platformy Azure, który zapewnia ulepszone funkcje ułatwiające zabezpieczanie danych kopii zapasowych.

Przed utworzeniem magazynu usługi Backup wybierz nadmiarowość magazynu danych w magazynie. Następnie przejdź do tworzenia magazynu kopii zapasowych z tym nadmiarowością magazynu i lokalizacją. W tym artykule utworzymy magazyn usługi Backup TestBkpVault w regionie westus w obszarze test grupy zasobówBkpVaultRG. Użyj polecenia az dataprotection vault create , aby utworzyć magazyn usługi Backup. Dowiedz się więcej o tworzeniu magazynu usługi Backup.

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/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcegroups/testBkpVaultRG/providers/Microsoft.DataProtection/BackupVaults/TestBkpVault",
  "identity": {
    "principalId": "2ca1d5f7-38b3-4b61-aa45-8147d7e0edbc",
    "tenantId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
    "type": "SystemAssigned"
  },
  "location": "westus",
  "name": "TestBkpVault",
  "properties": {
    "provisioningState": "Succeeded",
    "storageSettings": [
      {
        "datastoreType": "VaultStore",
        "type": "LocallyRedundant"
      }
    ]
  },
  "resourceGroup": "testBkpVaultRG",
  "systemData": null,
  "tags": null,
  "type": "Microsoft.DataProtection/backupVaults"
}

Ważne

Chociaż zobaczysz nadmiarowość magazynu kopii zapasowych, nadmiarowość nie ma zastosowania do operacyjnej kopii zapasowej obiektów blob. Dzieje się tak, ponieważ kopia zapasowa jest lokalna i żadne dane nie są przechowywane w magazynie usługi Backup. W tym miejscu magazyn kopii zapasowych jest jednostką zarządzania, która ułatwia zarządzanie ochroną blokowych obiektów blob na kontach magazynu.

Po utworzeniu magazynu utwórzmy zasady tworzenia kopii zapasowych, aby chronić obiekty blob platformy Azure na koncie magazynu.

Tworzenie zasad kopii zapasowych

Ważne

Przeczytaj tę sekcję przed utworzeniem zasad i skonfiguruj kopie zapasowe dla obiektów blob platformy Azure.

Aby poznać wewnętrzne składniki zasad kopii zapasowej dla kopii zapasowych obiektów blob platformy Azure, pobierz szablon zasad przy użyciu polecenia az dataprotection backup-policy get-default-policy-template . To polecenie zwraca domyślny szablon zasad dla danego typu źródła danych. Użyj tego szablonu zasad, aby utworzyć nowe zasady.

az dataprotection backup-policy get-default-policy-template --datasource-type AzureBlob

{
  "datasourceTypes": [
    "Microsoft.Storage/storageAccounts/blobServices"
  ],
  "name": "BlobPolicy1",
  "objectType": "BackupPolicy",
  "policyRules": [
    {
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P30D",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "OperationalStore",
            "objectType": "DataStoreInfoBase"
          }
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }
  ]
}

Szablon zasad składa się tylko z cyklu życia (który decyduje, kiedy usunąć/skopiować/przenieść kopię zapasową). Ponieważ operacyjna kopia zapasowa obiektów blob jest ciągła, nie trzeba wykonywać kopii zapasowych.

"policyRules": [
    {
      "isDefault": true,
      "lifecycles": [
        {
          "deleteAfter": {
            "duration": "P30D",
            "objectType": "AbsoluteDeleteOption"
          },
          "sourceDataStore": {
            "dataStoreType": "OperationalStore",
            "objectType": "DataStoreInfoBase"
          }
        }
      ],
      "name": "Default",
      "objectType": "AzureRetentionRule"
    }
  ]

Uwaga

Przywracanie w długich okresach może prowadzić do dłuższego czasu wykonywania operacji przywracania. Ponadto czas potrzebny na przywrócenie zestawu danych zależy od liczby operacji zapisu i usuwania wykonanych w okresie przywracania. Na przykład konto z milionem obiektów z 3000 dodanymi obiektami dziennie i 1000 usuniętych obiektów dziennie będzie wymagało około dwóch godzin przywracania do punktu 30 dni w przeszłości.

Nie zalecamy okresu przechowywania i przywracania ponad 90 dni w przeszłości dla konta z tą częstotliwością zmian.

Gdy kod JSON zasad zawiera wszystkie wymagane wartości, utwórz nowe zasady z obiektu zasad za pomocą polecenia az dataprotection backup-policy create .

az dataprotection backup-policy get-default-policy-template --datasource-type AzureBlob > policy.json
az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n BlobBackup-Policy --policy policy.json

{
    "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy",
    "name": "BlobBackup-Policy",
    "properties": {
      "datasourceTypes": [
        "Microsoft.Storage/storageAccounts/blobServices"
      ],
      "objectType": "BackupPolicy",
      "policyRules": [
        {
          "isDefault": true,
          "lifecycles": [
            {
              "deleteAfter": {
                "duration": "P2D",
                "objectType": "AbsoluteDeleteOption"
              },
              "sourceDataStore": {
                "dataStoreType": "OperationalStore",
                "objectType": "DataStoreInfoBase"
              },
              "targetDataStoreCopySettings": []
            }
          ],
          "name": "Default",
          "objectType": "AzureRetentionRule"
        }
      ]
    },
    "resourceGroup": "testBkpVaultRG",
    "systemData": null,
    "type": "Microsoft.DataProtection/backupVaults/backupPolicies"
  }

Konfigurowanie kopii zapasowych

Po utworzeniu magazynu i zasad istnieją dwa krytyczne punkty, które należy wziąć pod uwagę, aby chronić wszystkie obiekty blob platformy Azure na koncie magazynu.

Kluczowe jednostki zaangażowane

Konto magazynu zawierające obiekty blob do ochrony

Pobierz identyfikator Resource Manager platformy Azure konta magazynu zawierającego obiekty blob do ochrony. Będzie to służyć jako identyfikator konta magazynu. Użyjemy przykładu konta magazynu o nazwie CLITestSA w ramach obiektu blobrg grupy zasobów w innej subskrypcji obecnej w regionie Azji Południowo-Wschodniej.

"/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"

Magazyn kopii zapasowych

Magazyn kopii zapasowych wymaga uprawnień na koncie magazynu, aby umożliwić tworzenie kopii zapasowych obiektów blob znajdujących się na koncie magazynu. Tożsamość zarządzana przypisana przez system magazynu służy do przypisywania takich uprawnień.

Przypisywanie uprawnień

Musisz przypisać kilka uprawnień za pośrednictwem kontroli dostępu opartej na rolach do magazynu (reprezentowanego przez tożsamość usługi zarządzanej magazynu) i odpowiedniego konta magazynu. Można je wykonać za pośrednictwem portalu lub programu PowerShell. Dowiedz się więcej o wszystkich powiązanych uprawnieniach.

Przygotowywanie żądania

Po ustawieniu wszystkich odpowiednich uprawnień konfiguracja kopii zapasowej jest wykonywana w 2 krokach. Najpierw przygotujemy odpowiednie żądanie przy użyciu odpowiedniego magazynu, zasad, konta magazynu przy użyciu polecenia az dataprotection backup-instance initialize . Następnie przesyłamy żądanie ochrony dysku za pomocą polecenia az dataprotection backup-instance create .

az dataprotection backup-instance initialize --datasource-type AzureBlob  -l southeastasia --policy-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy" --datasource-id "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA" > backup_instance.json
az dataprotection backup-instance create -g testBkpVaultRG --vault-name TestBkpVault --backup-instance backup_instance.json

{
    "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupInstances/CLITestSA-CLITestSA-c3a2a98c-def8-44db-bd1d-ff6bc86ed036",
    "name": "CLITestSA-CLITestSA-c3a2a98c-def8-44db-bd1d-ff6bc86ed036",
    "properties": {
      "currentProtectionState": "ProtectionConfigured",
      "dataSourceInfo": {
        "datasourceType": "Microsoft.Storage/storageAccounts/blobServices",
        "objectType": "Datasource",
        "resourceId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA",
        "resourceLocation": "southeastasia",
        "resourceName": "CLITestSA",
        "resourceType": "Microsoft.Storage/storageAccounts",
        "resourceUri": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
      },
      "dataSourceSetInfo": null,
      "friendlyName": "CLITestSA",
      "objectType": "BackupInstance",
      "policyInfo": {
        "policyId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault/backupPolicies/BlobBackup-Policy",
        "policyParameters": {
          "dataStoreParametersList": [
            {
              "dataStoreType": "OperationalStore",
              "objectType": "AzureOperationalStoreParameters",
              "resourceGroupId": ""
            }
          ]
        },
        "policyVersion": ""
      },
      "protectionErrorDetails": null,
      "protectionStatus": {
        "errorDetails": null,
        "status": "ProtectionConfigured"
      },
      "provisioningState": "Succeeded"
    },
    "resourceGroup": "testBkpVaultRG",
    "systemData": null,
    "type": "Microsoft.DataProtection/backupVaults/backupInstances"
  }

Ważne

Po skonfigurowaniu konta magazynu na potrzeby tworzenia kopii zapasowych obiektów blob ma to wpływ na kilka funkcji, takich jak zestawienie zmian i blokada usuwania. Dowiedz się więcej.

Następne kroki

Przywracanie obiektów blob platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure