Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Azure PowerShell kullanarak bir depolama hesabı içindeki tüm Azure bloblarının nasıl yedeklediği açıklanır. Artık Azure Backup kullanarak depolama hesaplarınızdaki blok bloblarını korumak için işlemsel ve kasalı yedeklemeler gerçekleştirebilirsiniz. Rest API kullanarak yedeklemeyi de yapılandırabilirsiniz
Azure blob bölgesinin kullanılabilirliği, desteklenen senaryolar ve sınırlamalar hakkında bilgi için bkz . destek matrisi.
Önemli
Azure blobları için destek Az 5.9.0 sürümünde sağlanır.
Başlamadan önce
Başlamadan önce önkoşullara ve destek matrislerine bakın.
Backup kasası oluşturma
Backup kasası, Azure'da PostgreSQL için Azure Veritabanı sunucuları ve Azure blobları gibi Azure Backup'ın desteklediği daha yeni iş yükleri için yedekleme verilerini tutan bir depolama varlığıdır. Yedekleme kasaları, yedekleme verilerinizi düzenlemeyi kolaylaştırırken yönetim ek yükünü de en aza indirir. Yedekleme kasaları, yedekleme verilerinin güvenliğini sağlamaya yardımcı olmak için gelişmiş özellikler sağlayan Azure Resource Manager modelini temel alır.
Yedekleme kasası oluşturmadan önce kasadaki verilerin depolama yedekliliğini seçin. Ardından depolama yedekliliği ve konumuna sahip yedekleme kasasını oluşturmaya devam edin. Bu makalede, testBkpVaultRG kaynak grubu altında westus bölgesinde TestBkpVault adlı bir yedekleme kasası oluşturacağız. Bir yedekleme kasası oluşturmak için New-AzDataProtectionBackupVault komutunu kullanın. Backup kasası oluşturma hakkında daha fazla bilgi edinin.
$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
Kasa oluşturulduktan sonra Azure bloblarını korumak için bir yedekleme ilkesi oluşturalım.
Önemli
Kasanın Yedekleme depolama yedekliliğini görmenize rağmen, yedeklemenin doğası gereği yerel olması ve Backup kasasında herhangi bir veri depolanmaması nedeniyle, bu yedeklilik blobların operasyonel yedeklemesine uygulanmaz. Burada yedekleme kasası, depolama hesaplarınızdaki blok bloblarının korumasını yönetmenize yardımcı olan yönetim varlığıdır.
Yedekleme ilkesi oluşturma
Bir yedekleme katmanı seçin:
Önemli
İlkeyi oluşturmaya ve Azure blobları için yedeklemeleri yapılandırmaya devam etmeden önce bu bölümü okuyun.
Azure blob yedeklemesi için yedekleme ilkesinin iç bileşenlerini anlamak için Get-AzDataProtectionPolicyTemplate komutunu kullanarak ilke şablonunu alın. Bu komut, belirli bir veri kaynağı türü için varsayılan ilke şablonunu döndürür. Yeni bir ilke oluşturmak için bu ilke şablonunu kullanın.
$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
İlke şablonu yalnızca bir yaşam döngüsünden oluşur (yedeklemenin ne zaman silineceğine/kopyalandığına/taşıneceğine karar verir). Bloblar için operasyonel yedekleme doğası gereği sürekli olduğundan yedeklemeleri gerçekleştirmek için bir zamanlamaya ihtiyacınız yoktur.
$policyDefn.PolicyRule.Lifecycle | fl
DeleteAfterDuration : P30D
DeleteAfterObjectType : AbsoluteDeleteOption
SourceDataStoreObjectType : DataStoreInfoBase
SourceDataStoreType : OperationalStore
TargetDataStoreCopySetting :
Not
Uzun süreli geri yükleme işlemleri, geri yükleme sürecinin tamamlanmasının daha uzun sürmesine neden olabilir. Ayrıca, bir veri kümesini geri yüklemek için gereken süre, geri yükleme döneminde yapılan yazma ve silme işlemlerinin sayısına bağlıdır. Örneğin, günde 3.000 nesnenin eklendiği ve günde 1.000 nesnenin silindiği bir milyon nesne içeren bir hesabın geçmişteki 30 günlük bir noktaya geri yüklenmesi yaklaşık iki saat gerektirir.
Bu değişiklik oranına sahip bir hesap için geçmişte 90 günden daha uzun bir süre saklama veya geri yükleme önermiyoruz.
İlke nesnesi istenen tüm değerlere sahip olduktan sonra, New-AzDataProtectionBackupPolicy komutunu kullanarak ilke nesnesinden yeni bir ilke oluşturmaya devam edin.
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"
Yedeklemeyi yapılandırma
Kasa ve ilke oluşturulduktan sonra, bir depolama hesabındaki tüm Azure Bloblarını korumak için göz önünde bulundurmanız gereken iki kritik nokta vardır.
- Önemli varlıklar
- İzinler
Önemli varlıklar
Korunacak blobları içeren depolama hesabı: Korunacak blobları içeren depolama hesabının Azure Resource Manager kimliğini getirin. Bu, depolama hesabının tanımlayıcısı olarak görev yapacaktır. Farklı bir abonelikteki blobrg kaynak grubu altında PSTestSA adlı bir depolama hesabı örneği kullanacağız.
$SAId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/blobrg/providers/Microsoft.Storage/storageAccounts/PSTestSA"Yedekleme kasası: Yedekleme kasası, depolama hesabında bulunan bloblarda yedeklemeleri etkinleştirmek için depolama hesabında izinler gerektirir. Bu tür izinlerin atanması için kasanın sistem tarafından atanmış yönetilen kimliği kullanılır.
İzin atama
Azure RBAC aracılığıyla oluşturulan kasaya (kasa MSI ile temsil edilir) ve ilgili depolama hesabına birkaç izin atamanız gerekir. Bunlar Portal veya PowerShell aracılığıyla gerçekleştirilebilir. tüm ilgili izinler hakkında daha fazla bilgi edinin.
Blob yedeklemeyi yapılandırma isteğini hazırlama
Bir yedekleme katmanı seçin:
Tüm ilgili izinler ayarlandıktan sonra yedekleme yapılandırması 2 adımda gerçekleştirilir. İlk olarak, Initialize-AzDataProtectionBackupInstance komutunu kullanarak ilgili kasayı, ilkeyi , depolama hesabını kullanarak ilgili isteği hazırlarız . Ardından New-AzDataProtectionBackupInstance komutunu kullanarak depolama hesabındaki blobları koruma isteğini göndeririz.
$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
Önemli
Depolama hesabı blob yedeklemesi için yapılandırıldıktan sonra değişiklik akışı ve silme kilidi gibi birkaç özellik etkilenir. Daha fazla bilgi edinin.
Yedekleme örneğini güncelleştirme
Yedeklemeyi yapılandırdıktan sonra, bir yedekleme örneğiyle ilişkili ilkeyi değiştirebilirsiniz. Kasalı yedeklemeler için, yedekleme için seçilen kapsayıcıları da değiştirebilirsiniz.
Yedekleme örneğini güncelleştirmek için aşağıdaki cmdlet'leri çalıştırın:
Test-AzDataProtectionBackupInstanceReadiness komutunu kullanarak yedekleme örneğinin yedeklemeyi yapılandırmaya hazır olup olmadığını doğrulayın. Yedekleme örneği hazır değilse komut başarısız olur.
Yedekleme kasasının yedeklemeyi yapılandırmak için gerekli tüm izinlere sahip olup olmadığını denetlemek için de bu komutu kullanabilirsiniz.
Update-AzDataProtectionBackupInstance komutunu kullanarak Azure Bloblarını yedeklemek için kullanılan ilkeyi değiştirin. İlgili yedekleme öğesini ve yeni yedekleme ilkesini belirtin.
İlkeyi veya yeni kapsayıcıları mevcut yedekleme öğelerine güncelleştirin.
New-AzStorageContextcmdlet'i kullanarak depolama hesabı bağlamını oluşturun. Veri işlemlerinin-UseConnectedAccountMicrosoft Entra kimlik bilgileriniz kullanılarak gerçekleştirilmesi için parametresini sağlayın. Depolama hesabı komutları hakkında daha fazla bilgi edinin.Create a context object using Azure AD credentials $ctx = New-AzStorageContext -StorageAccountName xxx -UseConnectedAccountGet-AzStorageContainercmdlet kullanarak depolama konteynerlerini alın. Tek bir kapsayıcı almak için-Nameparametresini sağlayın. Belirli bir karakter dizesiyle başlayan kapsayıcıların listesini döndürmek için parametresi için-Prefixbir değer belirtin.
Aşağıdaki örnek hem tek bir kapsayıcıyı hem de kapsayıcı kaynaklarının listesini alır:
# 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" }Sonuç, blob uç noktasının URI'sini sağlar ve ad ve ön eke göre alınan kapsayıcıları listeler:
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 01D7E8A5EF01C787Güncelleştirilmesi gereken yedekleme örneğini getirin.
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-8c0d2223d037Yedekleme Örneği'nde güncellemek istediğiniz vaulted-policy adlı yedekleme ilkesini alın. Yedekleme Örneği'nde güncelleştirilmesi gereken yeni ilkeyi de getirebilirsiniz.
$updatePolicy = Get-AzDataProtectionBackupPolicy -SubscriptionId "Demosub" -VaultName BCDR-BV-EastUS -ResourceGroupName Demo-BCDR-RG -name continer-1Yedekleme örneğini yeni kapsayıcı listesiyle (mevcut yedeklenen kapsayıcılar ve yeni kapsayıcılar) güncelleştirin.
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
Sonraki adımlar
Azure PowerShell kullanarak Azure bloblarını geri yükleyin.
İlgili içerik
Azure portalını, Azure CLI'yi, REST API'yi kullanarak Azure Backup ile Azure Bloblarını geri yükleyin.