次の方法で共有


Azure PowerShell を使用した、Azure マネージド ディスクの復元

この記事では、Azure Backup によって作成された復元ポイントから Azure Managed Disks を 復元する方法について説明します。 Azure portal、AzureCLIREST 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.ResourcegraphSearch-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

次の手順