Azure PowerShell kullanarak Azure Yönetilen Diskleri yedekleyin.

Bu makalede, Azure PowerShell kullanarak Azure Yönetilen Disk'i yedekleme açıklanmaktadır. Rest API'yi bir Yedekleme ilkesi oluşturmak ve Azure Yönetilen Disk için yedeklemeyi yapılandırmak için de kullanabilirsiniz .

Azure Disk yedekleme bölgesinin kullanılabilirliği, desteklenen senaryolar ve sınırlamalar hakkında bilgi edinin. Sık sorulan sorular için sık sorulan sorulara bakın.

Uyarı

  • Hedef disk bir AKS kümesine Kalıcı Birim olarak bağlıysa, tek başına Disk Yedekleme çözümü yerine AKS için Azure Backup'ı seçin. Diskin, kapsayıcı uygulama ile birlikte tek bir birim olarak anlık görüntü şeklinde, Kubernetes entegrasyonlu bir şekilde yedeklenmesine olanak tanır. Ayrıca AKS Backup ile Bölgeler Arası Geri Yükleme ve fidye yazılımı koruma özelliklerine sahip olursunuz.

Yedekleme kasası oluştur

Bir Yedekleme kasası, Azure'da Azure Yedekleme'nin desteklediği Azure Database for PostgreSQL sunucuları ve Azure Diskleri gibi çeşitli yeni iş yüklerinin yedekleme verilerini barındıran bir depolama varlığıdır. Yedekleme kasaları, yedekleme verilerinizi düzenlemeyi kolaylaştırırken yönetim yükünü en aza indirir. Yedek kasaları, Azure'un Azure Kaynak Yöneticisi modeline dayanır ve yedekleme verilerini güvence altına almak için geliştirilmiş yetenekler sağlar.

Yedekleme kasası oluşturmadan önce, kasadaki verilerin depolama yedekliliğini seçin. Daha sonra, o depolama yedekliliği ve konum ile yedekleme kasasını oluşturun. Bu makalede, "testBkpVaultRG" kaynak grubunun altında, "westus" bölgesinde "TestBkpVault" adında bir yedek 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 disklerini korumak için bir yedekleme ilkesi oluşturalım.

Yedekleme ilkesi oluşturma

Azure disk yedeklemesi için yedekleme ilkesinin iç bileşenlerini anlamak için Get-AzDataProtectionPolicyTemplate komutunu kullanarak ilke şablonunu alın. Bu komut, belirtilen veri kaynağı türü için varsayılan bir politika şablonu döndürür. Bu politika şablonunu kullanarak yeni bir politika oluşturun.

$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureDisk
$policyDefn | fl


DatasourceType : {Microsoft.Compute/disks}
ObjectType     : BackupPolicy
PolicyRule     : {BackupHourly, Default}

$policyDefn.PolicyRule | fl


BackupParameter           : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType       : DataStoreInfoBase
DataStoreType             : OperationalStore
Name                      : BackupHourly
ObjectType                : AzureBackupRule
Trigger                   : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType         : ScheduleBasedTriggerContext

IsDefault  : True
Lifecycle  : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name       : Default
ObjectType : AzureRetentionRule

Politika şablonu, bir yedeklemeyi neyin tetiklediğini belirleyen bir tetikleyici ve yedeklemeyi ne zaman silineceğini/kopyalanacağını/taşınacağını belirleyen bir yaşam döngüsünden oluşur. Azure disk yedeklemesinde tetikleyici için varsayılan değer, her 4 saatte bir (PT4H) zamanlanmış saatlik tetikleyicidir ve her yedeklemeyi 7 gün boyunca korur.

 $policyDefn.PolicyRule[0].Trigger | fl


ObjectType                    : ScheduleBasedTriggerContext
ScheduleRepeatingTimeInterval : {R/2020-04-05T13:00:00+00:00/PT4H}
TaggingCriterion              : {Default}
$policyDefn.PolicyRule[1].Lifecycle | fl


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

Azure Disk Backup, günde birden fazla yedekleme sunar. Daha sık yedeklemeye ihtiyacınız varsa, 4, 6, 8 veya 12 saatte bir aralıklarla yedekleme alabilme özelliğine sahip Saatlik yedekleme sıklığını seçin. Yedeklemeler, seçilen Zaman aralığına göre zamanlanır. Örneğin, Her 4 saatte bir'i seçerseniz yedeklemeler yaklaşık olarak her 4 saatte bir alınır, böylece yedeklemeler gün içinde eşit olarak dağıtılır. Günde bir kez yedekleme yeterliyse Günlük yedekleme sıklığını seçin. Günlük yedekleme sıklığında, yedeklemelerin alındığı günün saatini belirleyebilirsiniz. Bu noktada günün saatinin, tamamlanma saatini değil, yedeklemenin başlama saatini gösterdiğini belirtmek önemlidir. Yedekleme işlemini tamamlamak için gereken süre, diskin boyutu ve ardışık yedeklemeler arasındaki değişim oranı da dahil olmak üzere çeşitli faktörlere bağlıdır. Ancak Azure Disk yedeklemesi, üretim uygulaması performansını etkilemeyen artımlı anlık görüntüleri kullanan aracısız bir yedeklemedir.

Uyarı

  • Seçilen kasanın küresel yedeklilik ayarına sahip olmasına rağmen, şu anda Azure Disk Backup yalnızca anlık görüntü veri deposunu desteklemektedir. Tüm yedeklemeler aboneliğinizdeki bir kaynak grubunda depolanır ve yedekleme kasası depolama alanına kopyalanmaz.
  • Standart HDD, Standart SSD ve Premium SSD SKU'larına ait Azure Diskler için Yedekleme zamanlamasını Saatlik sıklık (1, 2, 4, 6, 8 veya 12 saatlik) ve Günlük sıklık ile tanımlayabilirsiniz.
  • Premium V2 ve Ultra Disk SKU'larına ait Azure Diskler için yedekleme zamanlamasını yalnızca 12 saatlik saatlik sıklık ve Günlük sıklık ile tanımlayabilirsiniz.

İlke oluşturma hakkında daha fazla bilgi edinmek için bkz. Azure Disk Backup ilkesi oluşturma.

Saatlik sıklığı veya bekletme süresini düzenlemek istiyorsanız Edit-AzDataProtectionPolicyTriggerClientObject ve/veya Edit-AzDataProtectionPolicyRetentionRuleClientObject komutlarını kullanın. İlke nesnesi istenen tüm değerleri aldıktan sonra , New-AzDataProtectionBackupPolicy kullanarak ilke nesnesinden yeni bir ilke oluşturmaya devam edin.

New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name diskBkpPolicy -Policy $policyDefn

Name                   Type
----                   ----
diskBkpPolicy       Microsoft.DataProtection/backupVaults/backupPolicies

$diskBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "diskBkpPolicy"

Yedeklemeyi yapılandırma

Kasa ve ilke oluşturulduktan sonra, kullanıcının Azure diskini korumak için göz önünde bulundurması gereken 3 kritik nokta vardır.

İlgili temel varlıklar

Korunacak disk

Korunacak diskin ARM kimliğini alın. Diskin tanımlayıcısı olarak işlev görecek. Farklı bir abonelik altındaki "diskrg" kaynak grubu altında "PSTestDisk" adlı bir disk örneği kullanacağız.

$DiskId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/diskrg/providers/Microsoft.Compute/disks/PSTestDisk"

Anlık görüntü kaynak grubu

Disk anlık görüntüleri aboneliğinizdeki bir kaynak grubunda depolanır. Yönerge olarak, Azure Yedekleme hizmeti tarafından kullanılacak bir anlık görüntü veri deposu olarak adanmış bir kaynak grubu oluşturmanız önerilir. Özel bir kaynak grubuna sahip olmak, kaynak grubunun erişim izinlerini kısıtlamayı sağlar ve bu da yedeklenen verilerin güvenliğini ve yönetim kolaylığını sağlar. Disk anlık görüntülerini yerleştirmek istediğiniz kaynak grubunun ARM kimliğini not edin.

$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/snapshotrg"

Yedekleme kasası

Yedekleme kasalarının, anlık görüntüleri başlatabilmesi ve bunların yaşam döngüsünü yönetebilmesi için disk ve anlık görüntü kaynak grubunda izinlere ihtiyacı vardır. Kasanın sistem tarafından atanan yönetilen kimliği, bu tür izinleri tanımlamak için kullanılır. Kurtarma hizmetleri kasası için sistem tarafından atanan yönetilen kimliği etkinleştirmek için Update-AzRecoveryServicesVault komutunu kullanın.

İzinleri Ata

Kullanıcının, kasa (kasa MSI tarafından temsil edilen) ve ilgili disk ve/veya disk RG için RBAC aracılığıyla birkaç yetki ataması gerekiyor. Bunlar Portal veya PowerShell aracılığıyla gerçekleştirilebilir.

Yedekleme kasası, diğer Azure kaynaklarına erişmek için yönetilen kimliği kullanır. Yönetilen disklerin yedeklemesini yapılandırmak için Backup kasasının yönetilen kimliği, anlık görüntülerin oluşturulduğu ve yönetildiği kaynak disklerde ve kaynak gruplarında bir dizi izin gerektirir.

Bir sistem tarafından atanan yönetilen kimlik, her kaynak için biriyle sınırlıdır ve bu kaynağın yaşam döngüsüne bağlıdır. Azure rol tabanlı erişim denetimini (Azure RBAC) kullanarak yönetilen kimliğe izin vekleyebilirsiniz. Yönetilen kimlik, yalnızca Azure kaynaklarıyla kullanılabilecek özel bir tür hizmet temsilcisidir. Yönetilen kimlikler hakkında daha fazla bilgi edinin.

Yönetilen disklerin yedeğini yapılandırmak için, aşağıdaki ön koşulları sağlamanız gerekir:

  • Yedeklenmesi gereken Kaynak diskte Yedekleme kasasının yönetilen kimliğine Disk Yedekleme Okuyucusu rolünü atayın.

    1. Yedeklenmesi gereken diske gidin.

    2. Erişim denetimi (IAM) bölümüne gidin ve Rol atamaları ekle'yi seçin.

    3. Sağ bağlam bölmesinde, Rol açılan listesinde Disk Yedekleme Okuyucusu'na tıklayın.

    4. Yedekleme kasasının yönetilen kimliğini seçin ve Kaydet'e tıklayın.

      İpucu

      Yönettiği kimliği seçmek için Yedek kasası adını yazın.

    Yedeklenmesi gereken Kaynak diskte Yedekleme kasasının yönetilen kimliğine Disk Yedekleme Okuyucusu rolünü atama işlemini gösteren ekran görüntüsü.

  • Yedeklemelerin Azure Backup hizmeti tarafından oluşturulduğu ve yönetildiği Kaynak grubunda Yedekleme kasasının yönetilen kimliğine Disk Anlık Görüntüsü Katkıda Bulunanı rolünü atayın. Disk anlık görüntüleri, aboneliğiniz içerisindeki bir kaynak grubunda saklanır. Azure Yedekleme hizmetinin anlık görüntüler oluşturmasını, depolamasını ve yönetmesini sağlamak için yedekleme kasasına izin vermeniz gerekiyor.

    1. Kaynak grubuna git. Örneğin kaynak grubu, yedeklenecek diskle aynı abonelikte olan SnapshotRG'dir.

    2. Erişim denetimi (IAM) bölümüne gidin ve Rol atamaları ekle'yi seçin.

    3. Sağ bağlam bölmesinde, Rol açılır listesinden Disk Anlık Görüntüsü Katkıda Bulunan seçeneğini seçin.

    4. Yedekleme kasasının yönetilen kimliğini seçin ve Kaydet'e tıklayın.

      İpucu

      Yönetilen kimliğini seçmek için yedekleme kasasının adını yazın.

    Kaynak grubundaki yedek kasasının yönetilen kimliğine Disk Anlık Görüntüsü Katkısı rolünü atama sürecini gösteren ekran görüntüsü.

  • Yedekleme kasasının yönetilen kimliğinin, anlık görüntü veri deposu olarak hizmet veren kaynak diski ve kaynak grubunda doğru rol atamalarına sahip olduğunu doğrulayın.

    1. Yedekleme kasası ->Kimlik'e gidin ve Azure rol atamaları'na tıklayın.

      Azure rol atamalarının seçimini gösteren ekran görüntüsü.

    2. Rolün, kaynak adının ve kaynak türünün doğru olduğunu doğrulayın.

      Rolün, kaynak adının ve kaynak türünün doğrulanmasını gösteren ekran görüntüsü.

Uyarı

Roller atanırken portala doğru bir şekilde yansıtılsa da, izinlerin yedek kasasının yönetilen kimliğine uygulanması yaklaşık 15 - 30 dakika sürebilir.

Talebi Hazırla

Tüm ilgili izinler ayarlandığında, yedekleme yapılandırması 2 adımda gerçekleştirilir. İlk olarak Initialize-AzDataProtectionBackupInstance komutunu kullanarak ilgili kasa, ilke, disk ve anlık görüntü kaynak grubunu kullanarak ilgili isteği hazırlarız. Ardından New-AzDataProtectionBackupInstance komutunu kullanarak diski koruma isteğini göndeririz.

$instance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureDisk -DatasourceLocation $TestBkpvault.Location -PolicyId $diskBkpPol[0].Id -DatasourceId $DiskId 
$instance.Property.PolicyInfo.PolicyParameter.DataStoreParametersList[0].ResourceGroupId = $snapshotrg
New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $instance

Name                                                       Type                                                  BackupInstanceName
----                                                       ----                                                  ------------------
diskrg-PSTestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166 Microsoft.DataProtection/backupVaults/backupInstances diskrg-PSTestDisk-3df6ac08-9496-4839-8fb5-8b78e594f166

İsteğe bağlı bir yedekleme çalıştırın

Kullanıcının Get-AzDataProtectionBackupInstance kullanarak bir yedeklemeyi tetiklemesi için istediği ilgili yedekleme örneğini getirme

$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "BackupInstanceName"

Yedekleme tetiklerken bir saklama kuralı belirleyebilirsiniz. İlke içindeki saklama kurallarını görüntülemek için, saklama kuralları için ilke nesnesi aracılığıyla gezin. Aşağıdaki örnekte, 'default' adındaki kural görüntülenmektedir ve bu kuralı isteğe bağlı yedekleme için kullanacağız.

$policyDefn.PolicyRule | fl


BackupParameter           : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams
BackupParameterObjectType : AzureBackupParams
DataStoreObjectType       : DataStoreInfoBase
DataStoreType             : OperationalStore
Name                      : BackupHourly
ObjectType                : AzureBackupRule
Trigger                   : Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext
TriggerObjectType         : ScheduleBasedTriggerContext

IsDefault  : True
Lifecycle  : {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle}
Name       : Default
ObjectType : AzureRetentionRule

Backup-AzDataProtectionBackupInstanceAdhoc komutunu kullanarak isteğe bağlı yedekleme tetikleyin.

$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name
Backup-AzDataProtectionBackupInstanceAdhoc -BackupInstanceName $AllInstances[0].Name -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupRuleOptionRuleName "Default"

İşleri izleme

Get-AzDataProtectionJob komutunu kullanarak tüm işleri izleyin. Tüm görevleri listeleyebilir ve belirli bir görevin detaylarını getirebilirsiniz.

Az.ResourceGraph'ı kullanarak tüm yedekleme kasaları aracılığıyla tüm işleri takip edebilirsiniz. Herhangi bir yedekleme kasasında bulunabilecek ilgili işi almak için Search-AzDataProtectionJobInAzGraph komutunu kullanın.

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

Sonraki adımlar