この記事では、Azure Backup によって作成された復元ポイントから Azure Managed Disks を 復元する方法について説明します。 Azure portal、AzureCLI、REST API を使用してマネージド ディスクを復元することもできます。
現在、バックアップが作成された既存のソース ディスクを置き換えることによって復元する、元の場所への復旧 (OLR) オプションはサポートされていません。 復旧ポイントから復元して、バックアップが作成されたソース ディスクと同じリソース グループか、または他の任意のリソース グループに新しいディスクを作成できます。 これは、別の場所への復旧 (ALR) と呼ばれ、ソース ディスクと復元された (新しい) ディスクの両方を保持するのに役立ちます。
この記事では、次の方法について学習します。
復元して新しいディスクを作成する
復元操作の状態を追跡する
この例では、リソースグループ "testBkpVaultRG" の下にある既存のバックアップ コンテナー "testBkpVault" を参照します
$TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault -ResourceGroupName "testBkpVaultRG"
復元して新しいディスクを作成する
アクセス許可の設定
バックアップ コンテナーでは、マネージド ID を使用して他の Azure リソースにアクセスします。 バックアップから復元するには、バックアップ コンテナーのマネージド ID に、ディスクを復元する先のリソース グループに対する一連のアクセス許可が必要になります。
バックアップ コンテナーでは、リソースあたり 1 つに制限され、このリソースのライフサイクルに関連付けられているシステム割り当てマネージド ID を使用します。 マネージド ID には、Azure ロールベースのアクセス制御 (Azure RBAC) を使用してアクセス許可を付与できます。 マネージド ID は、Azure リソースでのみ使用できる、特殊な種類のサービス プリンシパルです。 マネージド ID の詳細を確認します。
ここで説明するように、ディスクが復元または作成されるターゲット リソース グループで、ボールトのシステム割り当てマネージド ID に関連するアクセス許可を割り当てます。
適切な復元ポイントのフェッチ
Get-AzDataProtectionBackupInstance コマンドを使用してすべてのインスタンスをフェッチし、関連するインスタンスを識別します。
$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name
Az.Resourcegraph と Search-AzDataProtectionBackupInstanceInAzGraph コマンドを使用して、多くのコンテナーとサブスクリプション内のインスタンスを検索することもできます。
$AllInstances = Search-AzDataProtectionBackupInstanceInAzGraph -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -DatasourceType AzureDisk -ProtectionStatus ProtectionConfigured
インスタンスが特定されたら、関連する復元ポイントをフェッチします。
$rp = Get-AzDataProtectionRecoveryPoint -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstanceName $AllInstances[2].BackupInstanceName
復元要求の準備
先ほど詳しく説明したようにアクセス許可が割り当てられたターゲット リソース グループと、必要なディスク名を使用して、作成する新しいディスクの ARM ID を構築します。 たとえば、ディスクは、別のサブスクリプションを持つリソース グループ targetrg の下に PSTestDisk2 という名前を付けることができます。
$targetDiskId = /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourceGroups/targetrg/providers/Microsoft.Compute/disks/PSTestDisk2
Initialize-AzDataProtectionRestoreRequest コマンドを使用して、関連するすべての詳細を含む復元要求を準備します。
$restorerequest = Initialize-AzDataProtectionRestoreRequest -DatasourceType AzureDisk -SourceDataStore OperationalStore -RestoreLocation $TestBkpVault.Location -RestoreType AlternateLocation -TargetResourceId $targetDiskId -RecoveryPoint $rp[0].Name
復元のトリガー
Start-AzDataProtectionBackupInstanceRestore コマンドを使用して、上記で準備した要求で復元をトリガーします。
Start-AzDataProtectionBackupInstanceRestore -BackupInstanceName $AllInstances[2].BackupInstanceName -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Parameter $restorerequest
ジョブの追跡
Get-AzDataProtectionJob コマンドを使用して、すべてのジョブを追跡します。 すべてのジョブを一覧表示し、特定のジョブの詳細を取得できます。
Az.ResourceGraph を使用して、すべてのバックアップ コンテナーのすべてのジョブを追跡することもできます。 Search-AzDataProtectionJobInAzGraph コマンドを使用して、任意のバックアップ コンテナーにまたがる関連ジョブを取得します。
$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureDisk -Operation OnDemandBackup