Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe cómo hacer una copia de seguridad de todos los blobs de Azure de una cuenta de almacenamiento mediante Azure PowerShell. Ahora puede realizar copias de seguridad operativas y en almacén para proteger los blobs en bloques de las cuentas de almacenamiento mediante Azure Backup. También puede configurar la copia de seguridad mediante la API de REST
Para obtener información sobre la disponibilidad regional de los blobs de Azure, los escenarios admitidos y las limitaciones, consulte la matriz de compatibilidad.
Importante
La compatibilidad con los blobs de Azure está disponible a partir de la versión Az 5.9.0.
Antes de comenzar
Vea los requisitos previos y la matriz de compatibilidad antes de empezar.
Creación de un almacén de Backup
Un almacén de Backup es una entidad de almacenamiento de Azure que contiene los datos de las copias de seguridad de varias cargas de trabajo recientes que admite Azure Backup, como los servidores de Azure Database for PostgreSQL y los blobs de Azure. Los almacenes de Backup facilitan la tarea de organizar los datos de copia de seguridad, al mismo tiempo que reducen al mínimo la sobrecarga administrativa. Los almacenes de copias de seguridad se basan en el modelo Azure Resource Manager de Azure, que proporciona capacidades mejoradas para ayudar a proteger los datos de copia de seguridad.
Antes de crear un almacén de copia de seguridad, elija la redundancia de almacenamiento de los datos dentro del almacén. Después, continúe con la creación del almacén de copia de seguridad con esa redundancia de almacenamiento y la ubicación. En este artículo, se creará el almacén de copia de seguridad TestBkpVault en la región westus, dentro del grupo de recursos testBkpVaultRG. Use el comando New-AzDataProtectionBackupVault para crear un almacén de copia de seguridad. Obtenga más información sobre cómo crear un almacén de Backup.
$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
Después de la creación del almacén, vamos a crear una directiva de copia de seguridad para proteger los blobs de Azure.
Importante
Aunque verá la redundancia de almacenamiento de Backup del almacén, esta redundancia no se aplica realmente a la copia de seguridad operativa de blobs, ya que la copia de seguridad es local por naturaleza y no se almacena ningún dato en el almacén de Backup. Aquí, el almacén de Backup es la entidad de administración que le ayuda a administrar la protección de los blobs en bloques en las cuentas de almacenamiento.
Creación de una directiva de copia de seguridad
Elegir un nivel de copia de seguridad:
Importante
Lea esta sección antes de continuar para crear la directiva y configurar las copias de seguridad de los blobs de Azure.
Para comprender los componentes internos de una directiva de copia de seguridad para los blobs de Azure, recupere la plantilla de directiva con el comando Get-AzDataProtectionPolicyTemplate. Este comando devuelve una plantilla de directiva predeterminada para un tipo de origen de datos determinado. Usa esta plantilla para crear una nueva política.
$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
La plantilla de directiva solo consta de un ciclo de vida (que decide cuándo eliminar, copiar o mover la copia de seguridad). Dado que la copia de seguridad operativa de los blobs es continua por naturaleza, no necesita una programación para realizar copias de seguridad.
$policyDefn.PolicyRule.Lifecycle | fl
DeleteAfterDuration : P30D
DeleteAfterObjectType : AbsoluteDeleteOption
SourceDataStoreObjectType : DataStoreInfoBase
SourceDataStoreType : OperationalStore
TargetDataStoreCopySetting :
Nota:
La restauración a lo largo de periodos prolongados puede hacer que las operaciones de restauración tarden más en completarse. Por otra parte, el tiempo que se tarda en restaurar un conjunto de datos se basa en el número de operaciones de escritura y eliminación realizadas durante el período de restauración. Por ejemplo, una cuenta con un millón de objetos con 3000 objetos agregados al día y 1000 objetos eliminados al día requerirá aproximadamente dos horas para restaurar a un período de 30 días determinado del pasado.
Con esta tasa de cambio, no se recomienda un período de retención ni una restauración que vayan más allá de los 90 días para una cuenta.
Una vez que el objeto de directiva tenga todos los valores deseados, continúe con la creación de una directiva a partir de dicho objeto con el comando 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"
Configuración de la copia de seguridad
Una vez creado el almacén y la directiva, hay dos puntos críticos que debe tener en cuenta para proteger todos los blobs de Azure dentro de una cuenta de almacenamiento.
- Entidades clave
- Permisos
Entidades clave
Cuenta de almacenamiento que contiene los blobs que se van a proteger: capture el identificador de Azure Resource Manager de la cuenta de almacenamiento que contiene los blobs que se van a proteger. Servirá como identificador de la cuenta de almacenamiento. Utilizaremos un ejemplo de una cuenta de almacenamiento llamada PSTestSA bajo el grupo de recursos blobrg en una suscripción diferente.
$SAId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/PSTestSA"
Almacén de Backup: el almacén de Backup requiere permisos en la cuenta de almacenamiento para habilitar las copias de seguridad en blobs presentes en la cuenta de almacenamiento. Para asignar estos permisos, se usa la identidad del almacén administrada asignada por el sistema.
Asignación de permisos
Debe asignar algunos permisos a través de Azure RBAC al almacén creado (representado por el MSI del almacén) y la cuenta de almacenamiento correspondiente. Para ello se puede usar el portal o PowerShell. Obtenga más información sobre todos los permisos relacionados.
Preparación de la solicitud para configurar la copia de seguridad de blobs
Elegir un nivel de copia de seguridad:
Una vez que se han establecido todos los permisos pertinentes, la configuración de la copia de seguridad se realiza en dos pasos. En primer lugar, preparamos la solicitud relevante utilizando la bóveda relevante, la política relevante y la cuenta de almacenamiento relevante con el comando Initialize-AzDataProtectionBackupInstance. A continuación, enviamos la solicitud para proteger los blobs dentro de la cuenta de almacenamiento usando el comando 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
Importante
Una vez configurada una cuenta de almacenamiento para la copia de seguridad de blobs, algunas funcionalidades se ven afectadas, como la fuente de cambios y el bloqueo de eliminación. Más información.
Actualización de una instancia de copia de seguridad
Después de configurar la copia de seguridad, puede cambiar la directiva asociada con una instancia de copia de seguridad. En el caso de las copias de seguridad de almacén, también puede cambiar los contenedores seleccionados para la copia de seguridad.
Para actualizar la instancia de copia de seguridad, ejecute los siguientes cmdlets:
Valide si la instancia de copia de seguridad está lista para configurar la copia de seguridad mediante el comando Test-AzDataProtectionBackupInstanceReadiness. Se produce un error en el comando si la instancia de copia de seguridad no está lista.
También puede usar este comando para comprobar si el almacén de copia de seguridad tiene todos los permisos necesarios para configurar la copia de seguridad.
Cambie la directiva que se usa para realizar copias de seguridad de los blobs de Azure mediante Update-AzDataProtectionBackupInstance. Especifique el elemento de copia de seguridad pertinente y la nueva directiva de copia de seguridad.
Actualice la directiva o asocie los nuevos contenedores con los elementos de copia de seguridad existentes.
Cree el contexto de la cuenta de almacenamiento mediante el cmdlet
New-AzStorageContext
. Proporcione el parámetro-UseConnectedAccount
para que las operaciones de datos se realicen utilizando sus credenciales de Microsoft Entra. Obtenga más información sobre los comandos de la cuenta de almacenamiento.Create a context object using Azure AD credentials $ctx = New-AzStorageContext -StorageAccountName xxx -UseConnectedAccount
Recupere los contenedores de almacenamiento mediante el cmdlet
Get-AzStorageContainer
. Para recuperar un único contenedor, proporcione el parámetro-Name
. Para devolver una lista de contenedores que comience con una cadena de caracteres determinada, especifique un valor para el parámetro-Prefix
.
En el ejemplo siguiente se recuperan no solo un contenedor individual, sino también una lista de recursos de contenedor:
# 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" }
El resultado proporciona el identificador URI del punto de conexión del blob y enumera los contenedores recuperados por nombre y prefijo:
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
Capture la instancia de copia de seguridad que debe actualizarse.
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
Capture la directiva de copia de seguridad con el nombre de la directiva de almacén que desea actualizar en la instancia de copia de seguridad. También puede capturar la nueva directiva que debe actualizarse en la instancia de copia de seguridad.
$updatePolicy = Get-AzDataProtectionBackupPolicy -SubscriptionId "Demosub" -VaultName BCDR-BV-EastUS -ResourceGroupName Demo-BCDR-RG -name continer-1
Actualice la instancia de copia de seguridad con la nueva lista de contenedores (los contenedores de copia de seguridad existentes y los nuevos contenedores).
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
Pasos siguientes
Restaurar blobs de Azure mediante Azure PowerShell.
Contenido relacionado
Restaure los blobs de Azure mediante Azure Portal Azure Portal, CLI de Azure, API de REST.