Udostępnij przez


Tworzenie kopii zapasowych wszystkich obiektów blob platformy Azure na koncie magazynu przy użyciu programu Azure PowerShell

W tym artykule opisano sposób tworzenia kopii zapasowych wszystkich obiektów blob platformy Azure w koncie magazynu przy użyciu Azure PowerShell. Teraz można wykonywać operacyjne i archiwalne kopie zapasowe w celu ochrony blokowych obiektów blob na kontach magazynu przy użyciu usługi Azure Backup. Możesz również skonfigurować tworzenie kopii zapasowej przy użyciu interfejsu API REST

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

Ważne

Obsługa obiektów blob platformy Azure jest dostępna w wersji Az 5.9.0.

Przed rozpoczęciem

Przed rozpoczęciem zapoznaj się z macierzą wymagań wstępnych i pomocy technicznej.

Tworzenie magazynu kopii zapasowych

Magazyn kopii zapasowych to przestrzeń magazynująca na platformie Azure, która przechowuje dane kopii zapasowych dla różnych nowszych obciążeń obsługiwanych przez usługę Azure Backup, takich jak serwery Azure Database for PostgreSQL i obiekty blob 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 skarbca kopii zapasowych wybierz nadmiarowość przechowywania danych w skarbcu. Następnie przejdź do utworzenia skarbca kopii zapasowych z nadmiarowością przechowywania i określoną lokalizacją. W tym artykule utworzymy magazyn kopii zapasowych TestBkpVault w regionie westus, w grupie zasobów testBkpVaultRG. Użyj polecenia New-AzDataProtectionBackupVault, aby utworzyć magazyn kopii zapasowych. Dowiedz się więcej o tworzeniu magazynu kopii zapasowych.

$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type LocallyRedundant/GeoRedundant -DataStoreType VaultStore

New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting
$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault
$TestBKPVault | fl
ETag                :
Id                  : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/testBkpVaultRG/providers/Microsoft.DataProtection/backupVaults/TestBkpVault
Identity            : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppIdentityDetails
IdentityPrincipalId :
IdentityTenantId    :
IdentityType        :
Location            : westus
Name                : TestBkpVault
ProvisioningState   : Succeeded
StorageSetting      : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.StorageSetting}
SystemData          : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SystemData
Tag                 : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.DppTrackedResourceTags
Type                : Microsoft.DataProtection/backupVaults

Po utworzeniu magazynu utwórzmy zasady tworzenia kopii zapasowych w celu ochrony obiektów blob platformy Azure.

Ważne

Chociaż zobaczysz nadmiarowość magazynowania kopii zapasowych skarbca, nadmiarowość nie dotyczy operacyjnej kopii zapasowej obiektów blob, ponieważ kopia zapasowa jest lokalna i żadne dane nie są przechowywane w skarbcu usługi Backup. Tutaj skarbiec kopii zapasowych jest jednostką zarządzania, która ułatwia zarządzanie ochroną blobów blokowych na kontach magazynowania.

Tworzenie zasad kopii zapasowych

Wybierz warstwę kopii zapasowej:

Ważne

Przeczytaj tę sekcję przed kontynuowaniem tworzenia zasad i konfigurowania kopii zapasowych dla obiektów blob platformy Azure.

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

$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureBlob
$policyDefn | fl


DatasourceType : {Microsoft.Storage/storageAccounts/blobServices}
ObjectType     : BackupPolicy
PolicyRule     : {Default}

$policyDefn.PolicyRule | fl

IsDefault  : True
Lifecycle  : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api202101.SourceLifeCycle}
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 ma charakter ciągły, nie trzeba ustalać harmonogramu do wykonywania kopii zapasowych.

$policyDefn.PolicyRule.Lifecycle | fl


DeleteAfterDuration        : P30D
DeleteAfterObjectType      : AbsoluteDeleteOption
SourceDataStoreObjectType  : DataStoreInfoBase
SourceDataStoreType        : OperationalStore
TargetDataStoreCopySetting :

Uwaga

Przywracanie przez długi czas może powodować, że operacje przywracania trwają dłużej. 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, do którego codziennie dodaje się 3000 obiektów, a usuwa 1000 obiektów, będzie wymagało około dwóch godzin na przywrócenie do stanu sprzed 30 dni.

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

Gdy obiekt zasad ma wszystkie żądane wartości, przejdź do utworzenia nowych zasad z obiektu zasad przy użyciu polecenia New-AzDataProtectionBackupPolicy .

New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name blobBkpPolicy -Policy $policyDefn

Name                   Type
----                   ----
blobBkpPolicy       Microsoft.DataProtection/backupVaults/backupPolicies

$blobBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "blobBkpPolicy"

Konfigurowanie kopii zapasowych

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

  • 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 przechowywania o nazwie PSTestSA w ramach grupy zasobów blobrg w innej subskrypcji.

    $SAId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/PSTestSA"
    
  • Magazyn kopii zapasowych: Magazyn kopii zapasowych wymaga uprawnień do konta magazynu, aby umożliwić tworzenie kopii zapasowych obiektów blob znajdujących się w tym koncie. 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 (RBAC) platformy Azure do utworzonego skarbca (reprezentowanego przez tożsamość usługi zarządzanej skarbca) 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

Wybierz warstwę kopii zapasowej:

Po ustawieniu wszystkich odpowiednich uprawnień konfiguracja kopii zapasowej jest wykonywana w 2 krokach. Najpierw przygotowujemy odpowiednie żądanie przy użyciu odpowiedniego magazynu, zasad, konta magazynu przy użyciu polecenia Initialize-AzDataProtectionBackupInstance . Następnie przesyłamy żądanie ochrony obiektów blob na koncie magazynu przy użyciu polecenia New-AzDataProtectionBackupInstance .

$instance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureBlob -DatasourceLocation $TestBkpvault.Location -PolicyId $blobBkpPol[0].Id -DatasourceId $SAId 
New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $instance

Name                                                       Type                                                  BackupInstanceName
----                                                       ----                                                  ------------------
blobrg-PSTestSA-3df6ac08-9496-4839-8fb5-8b78e594f166 Microsoft.DataProtection/backupVaults/backupInstances blobrg-PSTestSA-3df6ac08-9496-4839-8fb5-8b78e594f166

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.

Aktualizowanie wystąpienia kopii zapasowej

Po skonfigurowaniu kopii zapasowej można zmienić skojarzoną politykę dla instancji kopii zapasowej. W przypadku magazynowanych kopii zapasowych można również zmienić kontenery wybrane do kopii zapasowej.

Aby zaktualizować wystąpienie kopii zapasowej, uruchom następujące polecenia cmdlet:

  1. Sprawdź, czy wystąpienie kopii zapasowej jest gotowe do skonfigurowania kopii zapasowej przy użyciu polecenia Test-AzDataProtectionBackupInstanceReadiness . Polecenie kończy się niepowodzeniem, jeśli instancja zapasowa nie jest gotowa.

    Możesz również użyć tego polecenia, aby sprawdzić, czy magazyn kopii zapasowych ma wszystkie niezbędne uprawnienia do konfigurowania kopii zapasowej.

  2. Zmień zasady używane do tworzenia kopii zapasowych obiektów blob platformy Azure przy użyciu klasy Update-AzDataProtectionBackupInstance. Określ odpowiedni element kopii zapasowej i nowe zasady tworzenia kopii zapasowej.

  3. Zaktualizuj zasady lub zastosuj nowe kontenery do istniejących elementów kopii zapasowej.

    1. Utwórz kontekst konta magazynu przy użyciu polecenia cmdlet New-AzStorageContext. -UseConnectedAccount Podaj parametr , aby operacje na danych były wykonywane przy użyciu poświadczeń firmy Microsoft Entra. Dowiedz się więcej o poleceniach konta magazynowego.

      Create a context object using Azure AD credentials
      $ctx = New-AzStorageContext -StorageAccountName xxx -UseConnectedAccount 
      
      
    2. Pobierz kontenery magazynu przy użyciu cmdlet Get-AzStorageContainer. Aby pobrać pojedynczy kontener, podaj -Name parametr . Aby zwrócić listę kontenerów rozpoczynających się od danego ciągu znaku, określ wartość parametru -Prefix .

    Poniższy przykład pobiera zarówno pojedynczy kontener, jak i listę zasobów kontenera:

    
    
    # Create variables
    $containerName  = "individual-container"
    $prefixName     = "loop-"
    
    # Approach 1: Retrieve an individual container
    Get-AzStorageContainer -Name $containerName -Context $ctx
    Write-Host
    
    # Approach 2: Retrieve a list of containers
    $targetContainers = Get-AzStorageContainer -Context $ctx | Where-Object { $_.Name -match "cont" } 
    

    Wynik zawiera identyfikator URI punktu końcowego obiektu blob i wyświetla listę kontenerów pobranych według nazwy i prefiksu:

    Storage Account Name: demostorageaccount
    
    Name                 PublicAccess         LastModified                   IsDeleted  VersionId        
    ----                 ------------         ------------                   ---------  ---------        
    individual-container                      11/2/2021 5:52:08 PM +00:00                                
    
    loop-container1                           11/2/2021 12:22:00 AM +00:00                               
    loop-container2                           11/2/2021 12:22:00 AM +00:00                               
    
    loop-container1                           11/2/2021 12:22:00 AM +00:00                               
    loop-container2                           11/2/2021 12:22:00 AM +00:00
    loop-container3                           11/2/2021 12:22:00 AM +00:00   True       01D7E7129FDBD7D4
    loop-container4                           11/2/2021 12:22:00 AM +00:00   True       01D7E8A5EF01C787 
    
    1. Pobierz wystąpienie kopii zapasowej, które należy zaktualizować.

      C:\Users\testuser> $instance = Search-AzDataProtectionBackupInstanceInAzGraph -Subscription "Demosub" -ResourceGroup Demo-BCDR-RG -Vault BCDR-BV-EastUS -DatasourceType AzureBlob
      PS C:\Users\testuser> $instance
                     Output
      Name                                                                     BackupInstanceName
      ----                                                                     ------------------
      blobsa-blobsa-c7325e08-980d-43b2-863f-68feee4fd03c               blobsa-blobsa-c7325e08-980d-43b2-863f-68feee4fd03c
      blobsavaulted-blobsavaulted-40c36519-f422-45aa-bbeb-3f0eedb440c7 blobsavaulted-blobsavaulted-40c36519-f422-45aa-bbeb-3f0eedb440c7
      testdpp-testdpp-ff4254dd-7a70-437b-9a10-8c0d2223d037                     testdpp-testdpp-ff4254dd-7a70-437b-9a10-8c0d2223d037
      
      
    2. Pobierz zasady kopii zapasowej o nazwie vaulted-policy, które chcesz zaktualizować w wystąpieniu kopii zapasowej. Możesz również pobrać nową politykę, którą należy zaktualizować w instancji kopii zapasowej.

      $updatePolicy = Get-AzDataProtectionBackupPolicy -SubscriptionId "Demosub" -VaultName BCDR-BV-EastUS -ResourceGroupName Demo-BCDR-RG -name continer-1
      
    3. Zaktualizuj wystąpienie kopii zapasowej przy użyciu nowej listy kontenerów (istniejące kontenery kopii zapasowej i nowe kontenery).

      PS C:\Users\testuser> $updateBI = Update-AzDataProtectionBackupInstance -ResourceGroupName Daya-BCDR-RG -VaultName DPBCDR-BV-EastUS -BackupInstanceName $instance[0].Name -SubscriptionId "ef4ab5a7-c2c0-4304-af80-af49f48af3d1"  -PolicyId $updatePolicy.id -VaultedBackupContainer $targetContainers.name
      
      
      PS C:\Users\testuser> $updateBI.Property.PolicyInfo.PolicyId
      /subscriptions/ef4ab5a7-c2c0-4304-af80-af49f48af3d1/resourceGroups/Daya-BCDR-RG/providers/Microsoft.DataProtection/backupVaults/DPBCDR-BV-EastUS/backupPolicies/continerdeltest-1
      PS C:\Users\testuser> $updateBI.Property.PolicyInfo.PolicyParameter.BackupDatasourceParametersList[0].ContainersList
      cont-01
      cont-02
      cont-03
      cont-04
      cont-05
      cont-06
      cont-07
      cont-08
      cont-09
      cont-10
      cont-11
      

Następne kroki

Przywracanie obiektów blob platformy Azure przy użyciu programu Azure PowerShell.

Przywracanie obiektów blob platformy Azure za pomocą usługi Azure Backup przy użyciu witryny Azure Portal, interfejsu wiersza polecenia platformy Azure, interfejsu API REST.