Udostępnij za pośrednictwem


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. Teraz można wykonywać operacyjne i magazynowane kopie zapasowe w celu ochrony blokowych obiektów blob na kontach magazynu przy użyciu usługi Azure Backup.

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 zapoznaj się z macierzą wymagań wstępnych i pomocy technicznej.

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ń obsługiwanych przez usługę Azure Backup, takich jak serwery usługi Azure Database for PostgreSQL i obiekty blob na koncie magazynu i dyskach platformy Azure. Magazyny kopii zapasowych ułatwiają organizowanie danych kopii zapasowych, jednocześnie minimalizując obciążenie związane 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 magazynu usługi Backup wybierz nadmiarowość magazynu danych w magazynie. Następnie przejdź do utworzenia magazynu kopii zapasowych z nadmiarowością magazynu i lokalizacją. W tym artykule utworzymy magazyn kopii zapasowych TestBkpVault w regionie westus w obszarze test grupy zasobówBkpVaultRG. 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/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. Wynika to z faktu, że kopia zapasowa jest lokalna i żadne dane nie są przechowywane w magazynie kopii zapasowych. 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 kopii zapasowej, aby chronić obiekty blob platformy Azure na koncie magazynu.

Tworzenie zasad kopii zapasowych

Możesz utworzyć zasady tworzenia kopii zapasowych dla operacyjnej kopii zapasowej i kopii zapasowej magazynu dla obiektów blob platformy Azure przy użyciu interfejsu wiersza polecenia platformy Azure.

Wybierz warstwę kopii zapasowej:

Przed utworzeniem zasad i skonfigurowaniem kopii zapasowych dla obiektów blob platformy Azure zapoznaj się z wymaganiami wstępnymi.

Aby zrozumieć składniki wewnętrzne zasad kopii zapasowych 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łuższych 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ć 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, przejdź do utworzenia nowych zasad z obiektu zasad przy użyciu 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 encje
  • Uprawnienia

Kluczowe encje

  • Konto magazynu zawierające obiekty blob do ochrony: pobierz identyfikator usługi Azure Resource Manager 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ń użytkowników

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

Przygotowywanie żądania do skonfigurowania kopii zapasowej obiektów blob

Po ustawieniu wszystkich odpowiednich uprawnień skonfiguruj kopię zapasową, uruchamiając następujące polecenia:

  1. Przygotuj odpowiednie żądanie przy użyciu odpowiedniego magazynu, zasad, konta magazynu przy użyciu polecenia az dataprotection backup-instance initialize .

    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
    
  2. Prześlij żądanie za pomocą polecenia az dataprotection backup-instance create .

    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 wpływ 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