Sdílet prostřednictvím


Zálohování všech objektů blob Azure v účtu úložiště pomocí Azure PowerShellu

Tento článek popisuje, jak zálohovat všechny objekty blob Azure v rámci účtu úložiště pomocí Azure PowerShellu. Nyní můžete provádět provozní a trezorované zálohy k ochraně blokových blob objektů ve vašich účtech úložiště pomocí služby Azure Backup. Zálohování můžete nakonfigurovat také pomocí rozhraní REST API.

Informace o dostupnosti oblastí objektů blob Azure, podporovaných scénářích a omezeních najdete v matici podpory.

Důležité

Podpora objektů blob Azure je dostupná ve verzi Az 5.9.0.

Než začnete

Než začnete, podívejte se na požadavky a matici podpory.

Vytvoření trezoru služby Backup

Trezor služby Backup je entita úložiště v Azure, která uchovává zálohovaná data pro různé novější úlohy, které Azure Backup podporuje, jako jsou servery Azure Database for PostgreSQL a objekty blob Azure. Trezory záloh usnadňují uspořádání zálohovaných dat a zároveň minimalizují režijní náklady na správu. Trezory záloh jsou založené na modelu Azure Resource Manageru v Azure, který poskytuje vylepšené možnosti, které pomáhají zabezpečit zálohovaná data.

Před vytvořením trezoru záloh zvolte redundanci úložiště dat v trezoru. Pak pokračujte vytvořením trezoru záloh s danou redundancí úložiště a umístěním. V tomto článku vytvoříme trezor záloh TestBkpVault v oblasti westus v rámci skupiny prostředků testBkpVaultRG. K vytvoření trezoru záloh použijte příkaz New-AzDataProtectionBackupVault . Přečtěte si další informace o vytváření úložiště záloh.

$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

Jakmile vytvoříme trezor, vytvořme strategii zálohování pro ochranu souborů blob Azure.

Důležité

I když uvidíte redundanci úložiště zálohování trezoru, redundance se nevztahuje na provozní zálohu blobů, protože záloha je místní a v trezoru zálohování nejsou uložena žádná data. "Trezor pro zálohování je správcovská entita, která vám pomůže spravovat ochranu blokových blobů ve vašich účtech úložiště."

Vytvoření zásady zálohování

Zvolte úroveň zálohování:

Důležité

Než budete pokračovat v vytváření zásad a konfiguraci záloh pro objekty blob Azure, přečtěte si tuto část .

Pokud chcete porozumět vnitřním komponentám zásad zálohování pro zálohování objektů blob Azure, načtěte šablonu zásad pomocí příkazu Get-AzDataProtectionPolicyTemplate . Tento příkaz vrátí výchozí šablonu zásad pro daný typ zdroje dat. Pomocí této šablony zásad můžete vytvořit novou zásadu.

$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

Šablona zásad se skládá pouze z životního cyklu (který se rozhodne, kdy se má záloha odstranit, zkopírovat nebo přesunout). Vzhledem k tomu, že operativní zálohování blobů je ve své podstatě průběžné, nepotřebujete k provádění záloh plán.

$policyDefn.PolicyRule.Lifecycle | fl


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

Poznámka:

Obnovení po dlouhé časové období může způsobit, že operace obnovení potrvají déle. Doba, kterou trvá obnovení sady dat, je také založená na počtu operací zápisu a odstranění provedených během období obnovení. Například účet s jedním milionem objektů, do kterého se denně přidává 3 000 objektů a denně se odstraní 1 000 objektů, bude vyžadovat přibližně dvě hodiny, aby se obnovil do stavu, jaký byl před 30 dny.

Nedoporučujeme období uchovávání a obnovení delší než 90 dnů zpětně pro účet s touto mírou změn.

Jakmile má objekt zásady všechny požadované hodnoty, pokračujte vytvořením nové zásady z objektu zásad pomocí příkazu 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"

Konfigurace zálohování

Po vytvoření trezoru a zásad je důležité zvážit dvě klíčové záležitosti pro ochranu všech Azure Blobs ve vašem úložném účtu.

  • Klíčové entity
  • Oprávnění

Klíčové entity

  • Účet úložiště obsahující objekty blob, které se mají chránit: Načtěte ID Azure Resource Manageru účtu úložiště, který obsahuje objekty blob, které se mají chránit. Bude sloužit jako identifikátor účtu úložiště. Použijeme příklad úložiště s názvem PSTestSA ve skupině prostředků blobrg v jiném předplatném.

    $SAId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/PSTestSA"
    
  • Trezor služby Backup vyžaduje oprávnění k účtu úložiště, aby bylo možné zálohovat objekty blob, které jsou k dispozici v rámci účtu úložiště. Spravovaná identita trezoru přiřazená systémem se používá k přiřazení těchto oprávnění.

Přiřazení uživatelských oprávnění

Je nutné přiřadit několik oprávnění přes Azure RBAC vytvořenému trezoru (představovanému MSI trezoru) a příslušnému účtu pro úložiště. Ty je možné provést prostřednictvím portálu nebo PowerShellu. Přečtěte si další informace o všech souvisejících oprávněních.

Příprava požadavku na konfiguraci zálohování objektů blob

Zvolte úroveň zálohování:

Jakmile nastavíte všechna příslušná oprávnění, provede se konfigurace zálohování ve 2 krocích. Nejprve připravíme relevantní požadavek pomocí příslušného trezoru, zásady, účtu úložiště pomocí příkazu Initialize-AzDataProtectionBackupInstance . Pak odešleme požadavek na ochranu objektů blob v rámci účtu úložiště pomocí příkazu 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

Důležité

Jakmile je účet úložiště nakonfigurován pro zálohování objektů blob, některé jeho funkce, jako například změnový kanál a blokování odstranění, jsou tím ovlivněny. Další informace.

Aktualizace instance zálohování

Po nakonfigurování zálohování můžete změnit přidružené zásady k instanci zálohování. U trezorovaných záloh můžete také změnit kontejnery vybrané pro zálohování.

Pokud chcete aktualizovat instanci zálohování, spusťte následující rutiny:

  1. Pomocí příkazu Test-AzDataProtectionBackupInstanceReadiness ověřte, jestli je instance zálohování připravená ke konfiguraci zálohování. Příkaz selže, pokud instance zálohování není připravená.

    Pomocí tohoto příkazu můžete také zkontrolovat, jestli má trezor záloh všechna potřebná oprávnění ke konfiguraci zálohování.

  2. Změňte zásady používané k zálohování objektů blob Azure pomocí Update-AzDataProtectionBackupInstance. Zadejte příslušnou zálohovanou položku a novou zásadu zálohování.

  3. Aktualizujte zásadu nebo aplikujte nové kontejnery na stávající zálohové položky.

    1. Vytvořte kontext účtu úložiště pomocí rutiny New-AzStorageContext . -UseConnectedAccount Zadejte parametr, aby se datové operace prováděly pomocí vašich přihlašovacích údajů Microsoft Entra. Přečtěte si více o příkazech účtu úložiště.

      Create a context object using Azure AD credentials
      $ctx = New-AzStorageContext -StorageAccountName xxx -UseConnectedAccount 
      
      
    2. Načtěte kontejnery úložiště pomocí cmdletu Get-AzStorageContainer. Pokud chcete načíst jeden kontejner, zadejte -Name parametr. Pokud chcete vrátit seznam kontejnerů, které začínají daným řetězcem znaků, zadejte hodnotu parametru -Prefix .

    Následující příklad načte jednotlivý kontejner i seznam kontejnerových prostředků.

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

    Výsledkem je identifikátor URI koncového bodu objektu blob a seznam kontejnerů načtených podle názvu a předpony:

    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. Načtěte instanci zálohování, kterou je potřeba aktualizovat.

      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. Načtěte zásadu zálohování s názvem "vaulted-policy", kterou chcete aktualizovat v instanci Backup. Můžete také načíst nové zásady, které je potřeba aktualizovat v instanci zálohování.

      $updatePolicy = Get-AzDataProtectionBackupPolicy -SubscriptionId "Demosub" -VaultName BCDR-BV-EastUS -ResourceGroupName Demo-BCDR-RG -name continer-1
      
    3. Aktualizujte instanci zálohování novým seznamem kontejnerů (existující zálohované kontejnery a nové kontejnery).

      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
      

Další kroky

Obnovení objektů blob Azure pomocí Azure PowerShellu

Obnovení objektů blob Azure pomocí služby Azure Backup přes Azure Portal, Azure CLI, rozhraní REST API.