Dela via


Säkerhetskopiera Azure-blobbar i lagringskonto genom Azure CLI

Den här artikeln beskriver hur du säkerhetskopierar Azure Blobs med Hjälp av Azure CLI. Nu kan du utföra drifts- och valvsäkerhetskopior för att skydda blockblobar i dina lagringskonton med azure backup.

Information om tillgänglighet för Azure Blobs-regioner, scenarier som stöds och begränsningar finns i supportmatrisen.

Innan du börjar

Se förhandskraven och supportmatrisen innan du kommer igång.

Skapa ett säkerhetskopieringsvalv

Backup Vault är en lagringsentitet i Azure som lagrar säkerhetskopieringsdata för olika nyare arbetsbelastningar som Stöds av Azure Backup, till exempel Azure Database for PostgreSQL-servrar och blobar i ett lagringskonto och Azure Disks. Säkerhetskopieringsvalv gör det enkelt att organisera dina säkerhetskopierade data, samtidigt som hanteringskostnaderna minimeras. Säkerhetskopieringsvalv baseras på Azure Resource Manager-modellen i Azure, som ger förbättrade funktioner för att skydda säkerhetskopierade data.

Innan du skapar ett Säkerhetskopieringsvalv väljer du lagringsredundans för data i valvet. Fortsätt sedan att skapa säkerhetskopieringsvalvet med lagringsredundansen och platsen. I den här artikeln skapar vi ett TestBkpVault för säkerhetskopieringsvalvet i regionen westus under resursgruppen testBkpVaultRG. Använd kommandot az dataprotection vault create för att skapa ett säkerhetskopieringsvalv. Läs mer om att skapa ett säkerhetskopieringsvalv.

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

Viktigt!

Även om du ser redundans för säkerhetskopiering av lagring av valvet gäller inte redundansen för driftsäkerhetskopian av blobar. Det beror på att säkerhetskopieringen är lokal och att inga data lagras i säkerhetskopieringsvalvet. Här är Backup-valvet entiteten för hantering som hjälper dig att hantera skyddet av blockblobar i dina lagringskonton.

När vi har skapat ett valv ska vi skapa en säkerhetskopieringsprincip för att skydda Azure Blobs i ett lagringskonto.

Skapa en säkerhetskopieringspolicy

Du kan skapa en säkerhetskopieringsprincip för driftsäkerhetskopiering och valvsäkerhetskopiering (förhandsversion) för Azure Blobs med hjälp av Azure CLI.

Välj en säkerhetskopieringsnivå:

Innan du skapar principen och konfigurerar säkerhetskopior för Azure Blobs kan du läsa förutsättningarna.

Om du vill förstå de inre komponenterna i en säkerhetskopieringsprincip för Azure Blobs-säkerhetskopiering hämtar du principmallen med kommandot az dataprotection backup-policy get-default-policy-template . Det här kommandot returnerar en standardprincipmall för en viss datakällatyp. Använd den här principmallen för att skapa en ny princip.

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

Principmallen består endast av en livscykel (som bestämmer när säkerhetskopieringen ska tas bort/kopieras/flyttas). Eftersom driftsäkerhetskopiering för blobar är kontinuerlig till sin natur behöver du inget schema för att utföra säkerhetskopieringar.

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

Kommentar

Återställning över lång tid kan leda till att återställningsåtgärder tar längre tid att slutföra. Dessutom baseras den tid det tar att återställa en uppsättning data på antalet skriv- och borttagningsåtgärder som gjorts under återställningsperioden. Till exempel kräver ett konto med en miljon objekt med 3 000 objekt tillagda per dag och 1 000 objekt som tagits bort per dag ungefär två timmar för att återställa till en punkt 30 dagar tidigare.

Vi rekommenderar inte en kvarhållningsperiod och återställning mer än 90 dagar tidigare för ett konto med den här ändringstakten.

När principenS JSON har alla nödvändiga värden fortsätter du med att skapa en ny princip från principobjektet med kommandot 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"
  }

Konfigurera säkerhetskopiering

När valvet och principen har skapats finns det två viktiga punkter som du måste överväga för att skydda alla Azure Blobs i ett lagringskonto.

  • Nyckelentiteter
  • Behörigheter

Nyckelentiteter

  • Lagringskonto som innehåller de blobar som ska skyddas: Hämta Azure Resource Manager-ID:t för lagringskontot som innehåller de blobar som ska skyddas. Detta fungerar som identifierare för lagringskontot. Vi använder ett exempel på ett lagringskonto med namnet CLITestSA, under resursgruppen blobrg, i en annan prenumeration som finns i regionen Sydostasien.

    "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/CLITestSA"
    
  • Säkerhetskopieringsvalv: Säkerhetskopieringsvalvet kräver behörigheter för lagringskontot för att aktivera säkerhetskopior på blobar som finns i lagringskontot. Den systemtilldelade hanterade identiteten för valvet används för att tilldela sådana behörigheter.

Tilldela behörigheter

Du måste tilldela några behörigheter via Azure RBAC till det skapade valvet (representerat av valvet MSI) och det relevanta lagringskontot. Dessa kan utföras via portalen eller PowerShell. Läs mer om alla relaterade behörigheter.

Förbereda begäran om att konfigurera blobsäkerhetskopiering

När alla relevanta behörigheter har angetts konfigurerar du säkerhetskopieringen genom att köra följande kommandon:

  1. Förbered relevant begäran med hjälp av relevant valv, princip, lagringskonto med kommandot 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. Skicka begäran med kommandot 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"
      }
    

Viktigt!

När ett lagringskonto har konfigurerats för säkerhetskopiering av blobar påverkas några funktioner som ändringsflöde och borttagningslås. Läs mer.

Nästa steg

Återställa Azure Blobs med Hjälp av Azure CLI