Partager via


Sauvegarder tous les objets blob Azure dans un compte de stockage à l’aide d’Azure PowerShell

Cet article explique comment sauvegarder tous les objets blob Azure dans un compte de stockage à l’aide d’Azure PowerShell. Vous pouvez désormais effectuer des sauvegardes opérationnelles et archivées pour protéger les objets blob de blocs dans vos comptes de stockage à l’aide de Sauvegarde Azure. Vous pouvez également configurer la sauvegarde en utilisant l’API REST

Pour plus d’informations sur la disponibilité par région, les scénarios pris en charge et les limitations des objets blob Azure, consultez la matrice de prise en charge.

Important

La version Az 5.9.0 offre la prise en charge des blobs Azure.

Avant de commencer

Consultez les prérequis et la matrice de prise en charge avant de commencer.

Créer un coffre de sauvegarde

Un coffre de sauvegarde est une entité de stockage dans Azure qui contient les données de sauvegarde de diverses workloads plus récentes prises en charge par Azure Backup, notamment des serveurs Azure Database pour PostgreSQL et des objets blob Azure. Les coffres de sauvegarde facilitent l’organisation de vos données de sauvegarde tout en réduisant le temps nécessaire à leur gestion. Les coffres Sauvegarde sont basés sur le modèle Azure Resource Manager, qui fournit des fonctionnalités améliorées pour sécuriser les données de sauvegarde.

Avant de créer un coffre de sauvegarde, choisissez la redondance de stockage des données dans le coffre. Ensuite, créez le coffre de sauvegarde avec la redondance de stockage spécifiée et à l’emplacement indiqué. Dans cet article, nous allons créer un coffre de sauvegarde TestBkpVault dans la région westus sous le groupe de ressources testBkpVaultRG. Utilisez la commande New-AzDataProtectionBackupVault pour créer un coffre Sauvegarde. Pour plus d’informations, consultez Création d’un coffre Sauvegarde.

$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

Après la création du coffre, nous allons créer une stratégie de sauvegarde pour protéger les objets blob Azure.

Important

Même si vous voyez la Redondance du stockage de sauvegarde du coffre, celle-ci ne s’applique pas à la sauvegarde opérationnelle d’objets blob, car la sauvegarde est locale par nature et aucune donnée n’est stockée dans le coffre de sauvegarde. Le coffre de sauvegarde est ici l’entité de gestion destinée à vous aider à gérer la protection des objets blob de blocs dans vos comptes de stockage.

Créer une stratégie de sauvegarde

Choisir un niveau de sauvegarde:

Important

Lisez cette section avant de commencer à créer la stratégie et à configurer des sauvegardes pour les objets blob Azure.

Pour comprendre les composants internes d’une stratégie de sauvegarde pour la sauvegarde d’objet blob Azure, récupérez le modèle de stratégie à l’aide de la commande Get-AzDataProtectionPolicyTemplate. Cette commande retourne un modèle de stratégie par défaut pour un type de source de données donné. Utilisez ce modèle de stratégie pour créer une nouvelle stratégie.

$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

Le modèle de stratégie se compose d’un cycle de vie uniquement (qui décide quand supprimer/copier/déplacer la sauvegarde). Étant donné que la sauvegarde opérationnelle d’objets blob est continue par nature, vous n’avez pas besoin d’une planification pour effectuer des sauvegardes.

$policyDefn.PolicyRule.Lifecycle | fl


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

Remarque

Restaurer sur de longues durées peut conduire à des opérations de restauration plus longues. De plus, le temps nécessaire à la restauration d’un jeu de données dépend du nombre d’opérations d’écriture et de suppression effectuées au cours de la période de restauration. Par exemple, la restauration à un point situé 30 jours auparavant d’un compte avec 1 million d’objets, 3 000 objets ajoutés par jour et 1 000 objets supprimés par jour nécessite environ deux heures.

Nous ne recommandons pas de conserver et de restaurer des données sur une période excédant 90 jours pour un compte qui subit ce taux de changement.

Une fois que l’objet de stratégie dispose de toutes les valeurs souhaitées, passez à la création d’une nouvelle stratégie à partir de l’objet de stratégie à l’aide de la commande 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"

Configurer une sauvegarde

Une fois le coffre et la stratégie créés, il y a deux points critiques à prendre en compte pour protéger tous les objets blob Azure dans un compte de stockage.

  • Entités clés
  • Autorisations

Entités clés

  • Compte de stockage contenant les objets blob à protéger : récupérez l’ID Azure Resource Manager du compte de stockage qui contient les objets blob à protéger. Il s’agit de l’identificateur du compte de stockage. Nous allons utiliser un exemple de compte de stockage nommé PSTestSA sous le groupe de ressources blobrg dans un autre abonnement.

    $SAId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/PSTestSA"
    
  • Coffre de sauvegarde : le coffre de sauvegarde requiert des autorisations sur le compte de stockage pour permettre l’activation des sauvegardes sur les objets blob présents dans le compte de stockage. L’identité managée affectée par le système du coffre est utilisée pour affecter de telles autorisations.

Attribuer des autorisations

Vous devez attribuer quelques autorisations via Azure RBAC au coffre créé (représenté par le fichier MSI de coffre) et le compte de stockage approprié. Elles peuvent être effectuées via le Portail ou PowerShell. En savoir plus sur toutes les autorisations associées.

Préparer la requête pour configurer la sauvegarde des blobs

Choisir un niveau de sauvegarde:

Une fois que toutes les autorisations appropriées sont définies, la configuration de la sauvegarde est effectuée en 2 étapes. Tout d’abord, nous préparons la requête appropriée en utilisant le coffre, la stratégie et le compte de stockage appropriés à l’aide de la commande Initialize-AzDataProtectionBackupInstance. Ensuite, nous soumettons la requête pour protéger les objets blob dans le compte de stockage à l’aide de la commande 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

Important

Une fois qu’un compte de stockage est configuré pour la sauvegarde des objets blob, certaines fonctionnalités sont affectées, telles que le flux de modification et le verrou de suppression. Plus d’informations

Mettre à jour une instance de sauvegarde

Une fois que vous avez configuré la sauvegarde, vous pouvez modifier la stratégie associée à une instance de sauvegarde. Pour les sauvegardes archivées, vous pouvez également modifier les conteneurs sélectionnés pour la sauvegarde.

Pour mettre à jour l’instance de sauvegarde, exécutez les cmdlets suivantes :

  1. Confirmez que l’instance de sauvegarde est prête pour la configuration de la sauvegarde en utilisant la commande Test-AzDataProtectionBackupInstanceReadiness. La commande échoue si l’instance de sauvegarde n’est pas prête.

    Vous pouvez également utiliser cette commande pour vérifier que le coffre de sauvegarde dispose des autorisations nécessaires pour configurer la sauvegarde.

  2. Modifiez la stratégie utilisée pour sauvegarder les objets blob Azure en utilisant la commande Update-AzDataProtectionBackupInstance. Spécifiez l’élément de sauvegarde pertinent et la nouvelle stratégie de sauvegarde.

  3. Mettez à jour la stratégie ou les nouveaux conteneurs sur les éléments de sauvegarde existants.

    1. Créez le contexte du compte de stockage en utilisant la commande New-AzStorageContext. Fournissez le paramètre -UseConnectedAccount afin que les opérations sur les données soient effectuées en tirant parti de vos informations d’identification Microsoft Entra. Découvrez plus d’informations sur les commandes de comptes de stockage.

      Create a context object using Azure AD credentials
      $ctx = New-AzStorageContext -StorageAccountName xxx -UseConnectedAccount 
      
      
    2. Récupérez les conteneurs de stockage en utilisant la cmdlet Get-AzStorageContainer. Pour récupérer un seul conteneur, fournissez le paramètre -Name. Pour renvoyer une liste de conteneurs qui commencent par une chaîne de caractères donnée, spécifiez une valeur pour le paramètre -Prefix.

    L’exemple suivant récupère à la fois un conteneur individuel et une liste de ressources de conteneur :

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

    Le résultat fournit l’URI du point de terminaison d’objet blob et répertorie les conteneurs récupérés par nom et préfixe :

    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. Récupérez l’instance de backup que vous devez mettre à jour.

      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. Récupérez la politique de sauvegarde nommée "vaulted-policy" que vous souhaitez mettre à jour dans l'instance de sauvegarde. Vous pouvez également récupérer la nouvelle stratégie que vous devez mettre à jour dans Instance de sauvegarde.

      $updatePolicy = Get-AzDataProtectionBackupPolicy -SubscriptionId "Demosub" -VaultName BCDR-BV-EastUS -ResourceGroupName Demo-BCDR-RG -name continer-1
      
    3. Mettez à jour l’instance de sauvegarde avec une nouvelle liste de conteneurs (les nouveaux conteneurs et les conteneurs sauvegardés existants).

      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
      

Étapes suivantes

Restaurez les blobs Azure avec Azure PowerShell.

Restaurez des objets blob Azure par Sauvegarde Azure à l’aide de portail Azure, de Azure CLI, de l’API REST.