Share via


Een back-up maken van Azure Blobs in een opslagaccount met behulp van Azure CLI

In dit artikel wordt beschreven hoe u een back-up maakt van Azure Blobs met behulp van Azure CLI.

Belangrijk

Ondersteuning voor back-up en herstel van Azure Blobs via CLI is in preview en beschikbaar als extensie in Az 2.15.0-versie en hoger. De extensie wordt automatisch geïnstalleerd wanneer u de az dataprotection-opdrachten uitvoert. Meer informatie over extensies.

In dit artikel leert u het volgende:

  • Voordat u begint

  • Een Backup-kluis maken

  • Een back-upbeleid maken

  • Back-up van een Azure-blob configureren

  • Een back-uptaak op aanvraag uitvoeren

Zie de ondersteuningsmatrix voor informatie over de beschikbaarheid van Azure Blobs-regio's, ondersteunde scenario's en beperkingen.

Voordat u begint

Zie de matrix met vereisten en ondersteuning voordat u aan de slag gaat.

Een Backup-kluis maken

Backup Vault is een opslagentiteit in Azure waarin back-upgegevens worden opgeslagen voor verschillende nieuwere workloads die Azure Backup ondersteunt, zoals Azure Database for PostgreSQL-servers en blobs in een opslagaccount en Azure Disks. Met back-upkluizen kunt u uw back-upgegevens eenvoudig organiseren, terwijl de beheeroverhead wordt geminimaliseerd. Back-upkluizen zijn gebaseerd op het Azure Resource Manager-model van Azure, dat verbeterde mogelijkheden biedt om back-upgegevens te beveiligen.

Voordat u een Backup-kluis maakt, kiest u de opslagredundantie van de gegevens in de kluis. Ga vervolgens verder met het maken van de Backup-kluis met die opslagredundantie en de locatie. In dit artikel maken we een Backup-kluis TestBkpVault, in de regio westus, onder de resourcegroep testBkpVaultRG. Gebruik de opdracht az dataprotection vault create om een Backup-kluis te maken. Meer informatie over het maken van een Backup-kluis.

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

Belangrijk

Hoewel u de redundantie van back-upopslag van de kluis ziet, is de redundantie niet van toepassing op de operationele back-up van blobs. Dit komt doordat de back-up lokaal van aard is en er geen gegevens worden opgeslagen in de Backup-kluis. Hier is de Backup-kluis de beheerentiteit die u helpt bij het beheren van de beveiliging van blok-blobs in uw opslagaccounts.

Nadat u een kluis hebt gemaakt, gaan we een back-upbeleid maken om Azure-blobs in een opslagaccount te beveiligen.

Een back-upbeleid maken

Belangrijk

Lees deze sectie voordat u het beleid maakt en back-ups voor Azure-blobs configureert.

Als u inzicht wilt krijgen in de interne onderdelen van een back-upbeleid voor Azure Blobs, haalt u de beleidssjabloon op met de opdracht az dataprotection backup-policy get-default-policy-template . Deze opdracht retourneert een standaardbeleidssjabloon voor een bepaald gegevensbrontype. Gebruik deze beleidssjabloon om een nieuw beleid te maken.

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

De beleidssjabloon bestaat alleen uit een levenscyclus (die bepaalt wanneer de back-up moet worden verwijderd/gekopieerd/verplaatst). Omdat operationele back-ups voor blobs doorlopend van aard zijn, hebt u geen planning nodig om back-ups uit te voeren.

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

Notitie

Herstellen over lange duur kan ertoe leiden dat herstelbewerkingen langer duren om te voltooien. De tijd die nodig is om een set gegevens te herstellen, is ook gebaseerd op het aantal schrijf- en verwijderbewerkingen dat tijdens de herstelperiode is uitgevoerd. Een account met een miljoen objecten met 3000 objecten per dag toegevoegd en 1000 objecten per dag verwijderd, kost het ongeveer twee uur om te herstellen naar een punt van 30 dagen in het verleden.

We raden u niet aan een bewaarperiode en herstel van meer dan 90 dagen in het verleden voor een account met deze wijzigingssnelheid.

Zodra de beleids-JSON alle vereiste waarden heeft, gaat u verder met het maken van een nieuw beleid op basis van het beleidsobject met behulp van de opdracht 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"
  }

Back-up configureren

Zodra de kluis en het beleid zijn gemaakt, zijn er twee kritieke punten waarmee u rekening moet houden om alle Azure-blobs binnen een opslagaccount te beveiligen.

Betrokken belangrijke entiteiten

Opslagaccount met de blobs die moeten worden beveiligd

Haal de Azure Resource Manager-id op van het opslagaccount dat de te beveiligen blobs bevat. Dit fungeert als de id van het opslagaccount. We gebruiken een voorbeeld van een opslagaccount met de naam CLITestSA, onder de resourcegroep-blobrg, in een ander abonnement in de regio Zuidoost-Azië.

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

Back-upkluis

De Backup-kluis vereist machtigingen voor het opslagaccount om back-ups in te schakelen op blobs die aanwezig zijn in het opslagaccount. De door het systeem toegewezen beheerde identiteit van de kluis wordt gebruikt voor het toewijzen van dergelijke machtigingen.

Machtigingen toewijzen

U moet enkele machtigingen via RBAC toewijzen aan de kluis (vertegenwoordigd door kluis-MSI) en het relevante opslagaccount. Deze kunnen worden uitgevoerd via de portal of PowerShell. Meer informatie over alle gerelateerde machtigingen.

De aanvraag voorbereiden

Zodra alle relevante machtigingen zijn ingesteld, wordt de configuratie van de back-up uitgevoerd in twee stappen. Eerst bereiden we de relevante aanvraag voor met behulp van het relevante kluis-, beleid- en opslagaccount met behulp van de opdracht az dataprotection backup-instance initialize . Vervolgens verzenden we de aanvraag om de schijf te beveiligen met behulp van de opdracht 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"
  }

Belangrijk

Zodra een opslagaccount is geconfigureerd voor back-ups van blobs, worden enkele mogelijkheden beïnvloed, zoals wijzigingenfeed en verwijderingsvergrendeling. Meer informatie.

Volgende stappen

Azure-blobs herstellen met behulp van Azure CLI