Compartir a través de


Restauración de blobs de Azure mediante Azure PowerShell

Este artículo describe cómo usar PowerShell para realizar restauraciones para Azure Blob a partir de copias de seguridad operativas o almacenadas. Con las copias de seguridad operativas, puede restaurar todos los blobs en bloques de las cuentas de almacenamiento con una copia de seguridad operativa configurada o un subconjunto de contenido de blobs a cualquier momento dado dentro del intervalo de retención. Con las copias de seguridad archivadas, puede realizar restauraciones utilizando un punto de recuperación creado en función de su programación de copias de seguridad.

También puede restaurar blobs de Azure mediante Azure Backup mediante Azure Portal, la CLI de Azure y la API REST.

Importante

La compatibilidad con los blobs de Azure está disponible a partir de la versión Az 5.9.0.

Importante

Antes de continuar con la restauración de blobs de Azure mediante Azure Backup, consulte los puntos importantes.

En este artículo, aprenderá a:

  • Restaurar blobs de Azure

  • Realizar el seguimiento del estado de la operación de restauración.

Usemos un almacén de copias de seguridad existente TestBkpVault bajo el grupo de recursos testBkpVaultRG en los ejemplos.

$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault -ResourceGroupName "testBkpVaultRG"

Restauración de blobs de Azure dentro de una cuenta de almacenamiento

Elegir un nivel de copia de seguridad:

Obtener el rango de tiempo válido para la restauración

Como la copia de seguridad operativa de blobs es continua, no hay puntos distintos desde los que restaurar. En su lugar, es necesario capturar el intervalo de tiempo válido en el que los blobs se pueden restaurar a cualquier momento dado. En este ejemplo, vamos a comprobar los intervalos de tiempo válidos para restaurar en los últimos 30 días.

$startDate = (Get-Date).AddDays(-30)
$endDate = Get-Date

Recupere primero todas las instancias mediante el comando Get-AzDataProtectionBackupInstance e identifique la instancia pertinente.

$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name

También puede usar Az.Resourcegraph y el comando Search-AzDataProtectionBackupInstanceInAzGraph para buscar en instancias de muchos almacenes y suscripciones.

$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -DatasourceType AzureBlob -ProtectionStatus ProtectionConfigured

Una vez identificada la instancia, capture el intervalo de recuperación correspondiente mediante el comando Find-AzDataProtectionRestorableTimeRange.

Find-AzDataProtectionRestorableTimeRange -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstanceName $AllInstances[2].BackupInstanceName -StartTime $startDate -endTime $endDate

EndTime    : 2021-04-24T08:57:36.4149422Z
ObjectType : RestorableTimeRange
StartTime  : 2021-03-25T14:27:31.0000000Z

$DesiredPIT = (Get-Date -Date "2021-04-23T02:47:02.9500000Z")

Preparación de la solicitud de restauración

Una vez corregido el momento dado para restaurar, hay varias opciones para restaurar. Use el comando Initialize-AzDataProtectionRestoreRequest para preparar la solicitud de restauración con todos los detalles pertinentes.

Restauración de todos los blobs en un momento dado

Puede restaurar todos los blobs en bloques de la cuenta de almacenamiento revieriéndolos al momento dado seleccionado. Las cuentas de almacenamiento que contienen grandes cantidades de datos o con una alta tasa de renovación pueden tardar más tiempo en restaurarse.

$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location  -RestoreType OriginalLocation -PointInTime (Get-Date -Date "2021-04-23T02:47:02.9500000Z") -BackupInstance $AllInstances[2]

Restauración de los contenedores seleccionados

Puede examinar y seleccionar hasta 10 contenedores para restaurar.

$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location  -RestoreType OriginalLocation -PointInTime (Get-Date -Date "2021-04-23T02:47:02.9500000Z") -BackupInstance $AllInstances[2] -ItemLevelRecovery -ContainersList "abc","xyz"

Restauración de contenedores mediante una coincidencia de prefijo

Puede restaurar un subconjunto de blobs mediante una coincidencia de prefijo. Puede especificar hasta 10 intervalos lexicográficos de blobs dentro de un solo contenedor o en varios contenedores para devolver esos blobs a su estado previo en un punto específico en el tiempo. Hay algunos aspectos que se deben tener en cuenta:

  • Puede usar una barra diagonal (/) para delimitar el nombre del contenedor del prefijo de blob.
  • El inicio del intervalo especificado es inclusivo, pero el intervalo especificado es exclusivo.

Obtenga más información sobre el uso de prefijos para restaurar intervalos de blobs.

$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureBlob -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location  -RestoreType OriginalLocation -PointInTime (Get-Date -Date "2021-04-23T02:47:02.9500000Z") -BackupInstance $AllInstances[2] -ItemLevelRecovery -FromPrefixPattern "containerabc/aaa","containerabc/ccc" -ToPrefixPattern "containerabc/bbb","containerabc/ddd"

Desencadenamiento de la restauración

Use el comando Start-AzDataProtectionBackupInstanceRestore para desencadenar la restauración con la solicitud preparada anteriormente.

Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $AllInstances[2].BackupInstanceName -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Parameter $restorerequest

Rastrear un trabajo

Puede supervisar todos los trabajos usando el comando Get-AzDataProtectionJob. Puede enumerar todos los trabajos y capturar un detalle de trabajo determinado.

También puede usar Az.ResourceGraph para realizar un seguimiento de todos los trabajos en todos los almacenes de copia de seguridad. Use el comando Search-AzDataProtectionJobInAzGraph para obtener el trabajo pertinente, que puede encontrarse en cualquier almacén de copia de seguridad.

$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureBlob -Operation Restore

Pasos siguientes

Introducción a la copia de seguridad de blobs de Azure