AzureRM.RecoveryServices.Backup コマンドレットを使って仮想マシンをバックアップするUse AzureRM.RecoveryServices.Backup cmdlets to back up virtual machines

この記事では、Azure PowerShell コマンドレットを使用して Recovery Services コンテナーに Azure 仮想マシン (VM) をバックアップする方法と Recovery Services コンテナーから Azure 仮想マシンを回復する方法について説明します。This article shows you how to use Azure PowerShell cmdlets to back up and recover an Azure virtual machine (VM) from a Recovery Services vault. Recovery Services コンテナーは、Azure Resource Manager のリソースであり、Azure Backup サービスと Azure Site Recovery サービスの両方でデータと資産を保護するために使用されます。A Recovery Services vault is an Azure Resource Manager resource and is used to protect data and assets in both Azure Backup and Azure Site Recovery services. Recovery Services コンテナーを使用すると、Azure Service Manager でデプロイされた VM と、Azure Resource Manager でデプロイされた VM を保護できます。You can use a Recovery Services vault to protect Azure Service Manager-deployed VMs, and Azure Resource Manager-deployed VMs.

注意

Azure には、リソースの作成と操作に関して 2 種類のデプロイメント モデルがあります。Resource Manager デプロイメント モデルとクラシック デプロイメント モデルです。Azure has two deployment models for creating and working with resources: Resource Manager and Classic. この記事では、Resource Manager モデルで作成された VM を対象とします。This article is for use with VMs created using the Resource Manager model.

PowerShell を使用した VM の保護および復旧ポイントからデータの復元について説明します。This article walks you through using PowerShell to protect a VM, and restore data from a recovery point.

概念Concepts

Azure Backup サービスに関する知識が十分でない場合は、「Azure Backup とは」を参照してください。If you are not familiar with the Azure Backup service, for an overview of the service, check out What is Azure Backup? 開始する前に、Azure Backup を使用するのに必要な前提条件が満たされていることを確認し、現在の VM バックアップ ソリューションの制限事項を把握してください。Before you start, ensure that you cover the essentials about the prerequisites needed to work with Azure Backup, and the limitations of the current VM backup solution.

PowerShell を効果的に使用するには、オブジェクトの階層および開始地点を理解しておく必要があります。To use PowerShell effectively, it is necessary to understand the hierarchy of objects and from where to start.

Recovery Services オブジェクトの階層

AzureRm.RecoveryServices.Backup PowerShell コマンドレット リファレンスを確認するには、Azure ライブラリの「Azure Backup - Recovery Services Cmdlets (Azure Backup - Recovery Services コマンドレット)」を参照してください。To view the AzureRm.RecoveryServices.Backup PowerShell cmdlet reference, see the Azure Backup - Recovery Services Cmdlets in the Azure library.

セットアップと登録Setup and Registration

開始するにはTo begin:

  1. 最新バージョンの PowerShell をダウンロードします (バージョン 1.4.0 以降が必要)。Download the latest version of PowerShell (the minimum version required is: 1.4.0)
  2. 以下のコマンドを入力して、使用可能な Azure Backup の PowerShell コマンドレットを検索します。Find the Azure Backup PowerShell cmdlets available by typing the following command:
PS C:\> Get-Command *azurermrecoveryservices*

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Cmdlet          Backup-AzureRmRecoveryServicesBackupItem           1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Disable-AzureRmRecoveryServicesBackupProtection    1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Enable-AzureRmRecoveryServicesBackupProtection     1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Get-AzureRmRecoveryServicesBackupContainer         1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Get-AzureRmRecoveryServicesBackupItem              1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Get-AzureRmRecoveryServicesBackupJob               1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Get-AzureRmRecoveryServicesBackupJobDetails        1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Get-AzureRmRecoveryServicesBackupManagementServer  1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Get-AzureRmRecoveryServicesBackupProperties        1.4.0      AzureRM.RecoveryServices
Cmdlet          Get-AzureRmRecoveryServicesBackupProtectionPolicy  1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Get-AzureRMRecoveryServicesBackupRecoveryPoint     1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Get-AzureRmRecoveryServicesBackupRetentionPolic... 1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Get-AzureRmRecoveryServicesBackupSchedulePolicy... 1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Get-AzureRmRecoveryServicesVault                   1.4.0      AzureRM.RecoveryServices
Cmdlet          Get-AzureRmRecoveryServicesVaultSettingsFile       1.4.0      AzureRM.RecoveryServices
Cmdlet          New-AzureRmRecoveryServicesBackupProtectionPolicy  1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          New-AzureRmRecoveryServicesVault                   1.4.0      AzureRM.RecoveryServices
Cmdlet          Remove-AzureRmRecoveryServicesProtectionPolicy     1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Remove-AzureRmRecoveryServicesVault                1.4.0      AzureRM.RecoveryServices
Cmdlet          Restore-AzureRMRecoveryServicesBackupItem          1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Set-AzureRmRecoveryServicesBackupProperties        1.4.0      AzureRM.RecoveryServices
Cmdlet          Set-AzureRmRecoveryServicesBackupProtectionPolicy  1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Set-AzureRmRecoveryServicesVaultContext            1.4.0      AzureRM.RecoveryServices
Cmdlet          Stop-AzureRmRecoveryServicesBackupJob              1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Unregister-AzureRmRecoveryServicesBackupContainer  1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Unregister-AzureRmRecoveryServicesBackupManagem... 1.4.0      AzureRM.RecoveryServices.Backup
Cmdlet          Wait-AzureRmRecoveryServicesBackupJob              1.4.0      AzureRM.RecoveryServices.Backup

次のタスクは PowerShell を使用して自動化することができます。The following tasks can be automated with PowerShell:

  • Recovery Services コンテナーを作成するCreate a Recovery Services vault
  • Azure VM のバックアップBack up Azure VMs
  • バックアップ ジョブをトリガーするTrigger a backup job
  • バックアップ ジョブを監視するMonitor a backup job
  • Azure VM の復元Restore an Azure VM

Recovery Services コンテナーを作成するCreate a recovery services vault

次の手順では、Recovery Services コンテナーの作成について説明します。The following steps lead you through creating a Recovery Services vault. Recovery Services コンテナーは Backup コンテナーとは異なります。A Recovery Services vault is different than a Backup vault.

  1. Azure Backup を初めて使用する場合、Register-AzureRmResourceProvider コマンドレットを使って Azure Recovery Services プロバイダーをサブスクリプションに登録する必要があります。If you are using Azure Backup for the first time, you must use the Register-AzureRmResourceProvider cmdlet to register the Azure Recovery Service provider with your subscription.

    PS C:\> Register-AzureRmResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  2. Recovery Services コンテナーは Resource Manager リソースであるため、リソース グループ内に配置する必要があります。The Recovery Services vault is a Resource Manager resource, so you need to place it within a resource group. 既存のリソース グループを使用することも、New-AzureRmResourceGroup コマンドレットを使って新しいリソース グループを作成することもできます。You can use an existing resource group, or create a resource group with the New-AzureRmResourceGroup cmdlet. 新しいリソース グループを作成するときは、リソース グループの名前と場所を指定します。When creating a resource group, specify the name and location for the resource group.

    PS C:\> New-AzureRmResourceGroup -Name "test-rg" -Location "West US"
    
  3. New-AzureRmRecoveryServicesVault コマンドレットを使用して Recovery Services コンテナーを作成します。Use the New-AzureRmRecoveryServicesVault cmdlet to create the Recovery Services vault. リソース グループに使用したのと同じコンテナーの場所を指定してください。Be sure to specify the same location for the vault as was used for the resource group.

    PS C:\> New-AzureRmRecoveryServicesVault -Name "testvault" -ResourceGroupName " test-rg" -Location "West US"
    
  4. 使用するストレージ冗長性の種類を指定します。ローカル冗長ストレージ (LRS) または geo 冗長ストレージ (GRS) を使用できます。Specify the type of storage redundancy to use; you can use Locally Redundant Storage (LRS) or Geo Redundant Storage (GRS). 次に示す例では、testvault の -BackupStorageRedundancy オプションが GeoRedundant に設定されています。The following example shows the -BackupStorageRedundancy option for testvault is set to GeoRedundant.

    PS C:\> $vault1 = Get-AzureRmRecoveryServicesVault -Name "testvault"
    PS C:\> Set-AzureRmRecoveryServicesBackupProperties  -Vault $vault1 -BackupStorageRedundancy GeoRedundant
    

    ヒント

    Azure Backup コマンドレットの多くは、入力として Recovery Services コンテナー オブジェクトを必要としています。Many Azure Backup cmdlets require the Recovery Services vault object as an input. このため、Backup Recovery Services コンテナー オブジェクトを変数に格納すると便利です。For this reason, it is convenient to store the Backup Recovery Services vault object in a variable.

サブスクリプション内のコンテナーの表示View the vaults in a subscription

Get-AzureRmRecoveryServicesVault を使用して、現在のサブスクリプション内のすべてのコンテナーを一覧表示します。Use Get-AzureRmRecoveryServicesVault to view the list of all vaults in the current subscription. このコマンドは、新しく作成したコンテナーを確認したり、サブスクリプション内の利用可能なコンテナーを確認したりするのに使用できます。You can use this command to check that a new vault was created, or to see the available vaults in the subscription.

Get-AzureRmRecoveryServicesVault コマンドを実行して、サブスクリプション内のすべてのコンテナーを表示します。Run the command, Get-AzureRmRecoveryServicesVault, to view all vaults in the subscription. 次の例は、各コンテナーに表示される情報を示します。The following example shows the information displayed for each vault.

PS C:\> Get-AzureRmRecoveryServicesVault
Name              : Contoso-vault
ID                : /subscriptions/1234
Type              : Microsoft.RecoveryServices/vaults
Location          : WestUS
ResourceGroupName : Contoso-docs-rg
SubscriptionId    : 1234-567f-8910-abc
Properties        : Microsoft.Azure.Commands.RecoveryServices.ARSVaultProperties

Azure VM のバックアップBack up Azure VMs

Recovery Services コンテナーを使用して仮想マシンを保護します。Use a Recovery Services vault to protect your virtual machines. 保護を適用する前に、資格情報コンテナーのコンテキスト (資格情報コンテナーで保護されているデータの種類) を設定し、保護ポリシーを確認します。Before you apply the protection, set the vault context (the type of data protected in the vault), and verify the protection policy. 保護ポリシーは、バックアップ ジョブが実行される時間と各バックアップ スナップショットの保持期間を設定するスケジュールです。The protection policy is the schedule when the backup jobs run, and how long each backup snapshot is retained.

コンテナーのコンテキストの設定Set vault context

VM 上の保護を有効にする前に、Set-AzureRmRecoveryServicesVaultContext を使用してコンテナーのコンテキストを設定します。Before enabling protection on a VM, use Set-AzureRmRecoveryServicesVaultContext to set the vault context. コンテナーのコンテキストを設定すると、後続のすべてのコマンドレットに適用されます。Once the vault context is set, it applies to all subsequent cmdlets. 次の例は、コンテナー testvault のコンテナーのコンテキストを設定します。The following example sets the vault context for the vault, testvault.

PS C:\> Get-AzureRmRecoveryServicesVault -Name "testvault" | Set-AzureRmRecoveryServicesVaultContext

保護ポリシーの作成Create a protection policy

Recovery Services コンテナーの作成時に、既定の保護およびアイテム保持ポリシーも付属しています。When you create a Recovery Services vault, it comes with default protection and retention policies. 既定の保護ポリシーは、毎日指定した時刻にバックアップ ジョブをトリガーします。The default protection policy triggers a backup job each day at a specified time. 既定のアイテム保持ポリシーは、毎日の復旧ポイントを 30 日間保持します。The default retention policy retains the daily recovery point for 30 days. 既定のポリシーを使用すると、VM を迅速に保護することができ、後で異なる詳細な内容にポリシーを編集することもできます。You can use the default policy to quickly protect your VM and edit the policy later with different details.

Get-AzureRmRecoveryServicesBackupProtectionPolicy を使用して、コンテナーの保護ポリシーを表示します。Use Get-AzureRmRecoveryServicesBackupProtectionPolicy to view the protection policies in the vault. このコマンドレットを使用して、特定のポリシーを取得したり、ワークロードの種類に関連付けられているポリシーを表示したりできます。You can use this cmdlet to get a specific policy, or to view the policies associated with a workload type. 次の例では、ワークロードの種類 AzureVM のポリシーを取得します。The following example gets policies for workload type, AzureVM.

PS C:\> Get-AzureRmRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM"
Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
DefaultPolicy        AzureVM            AzureVM              4/14/2016 5:00:00 PM

注意

PowerShell の BackupTime フィールドのタイムゾーンは UTC です。The timezone of the BackupTime field in PowerShell is UTC. ただし、Azure ポータルにバックアップ時刻が表示されるとき、時刻はローカル タイムゾーンに調整されます。However, when the backup time is shown in the Azure portal, the time is adjusted to your local timezone.

バックアップ保護ポリシーは、少なくとも 1 つのアイテム保持ポリシーと関連付けられます。A backup protection policy is associated with at least one retention policy. アイテム保持ポリシーでは、復旧ポイントが削除される前に保持される期間を定義します。Retention policy defines how long a recovery point is kept before it is deleted. 既定のアイテム保持ポリシーを表示するには、Get-AzureRmRecoveryServicesBackupRetentionPolicyObject を使用します。Use Get-AzureRmRecoveryServicesBackupRetentionPolicyObject to view the default retention policy. 同様に Get-AzureRmRecoveryServicesBackupSchedulePolicyObject を使用して、既定のスケジュール ポリシーを取得できます。Similarly you can use Get-AzureRmRecoveryServicesBackupSchedulePolicyObject to obtain the default schedule policy. New-AzureRmRecoveryServicesBackupProtectionPolicy コマンドレットは、バックアップ ポリシー情報を保持する PowerShell オブジェクトを作成します。The New-AzureRmRecoveryServicesBackupProtectionPolicy cmdlet creates a PowerShell object that holds backup policy information. スケジュール ポリシーとアイテム保持ポリシー オブジェクトは、New-AzureRmRecoveryServicesBackupProtectionPolicy コマンドレットの入力として使用されます。The schedule and retention policy objects are used as inputs to the New-AzureRmRecoveryServicesBackupProtectionPolicy cmdlet. 次の例では、スケジュール ポリシーとアイテム保持ポリシーを変数に格納します。The following example stores the schedule policy and the retention policy in variables. 次の例では、これらの変数を使用して、保護ポリシー NewPolicy の作成時にパラメーターを定義します。The example uses those variables to define the parameters when creating a protection policy, NewPolicy.

PS C:\> $schPol = Get-AzureRmRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
PS C:\> $retPol = Get-AzureRmRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
PS C:\> New-AzureRmRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -WorkloadType "AzureVM" -RetentionPolicy $retPol -SchedulePolicy $schPol
Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
NewPolicy           AzureVM            AzureVM              4/24/2016 1:30:00 AM

保護を有効にするEnable protection

バックアップ保護ポリシーを定義したら、アイテムのポリシーも有効にする必要があります。Once you have defined the backup protection policy, you still must enable the policy for an item. Enable-AzureRmRecoveryServicesBackupProtection を使用して、保護を有効にします。Use Enable-AzureRmRecoveryServicesBackupProtection to enable protection. 保護を有効にするには、アイテムとポリシーの 2 つのオブジェクトが必要です。Enabling protection requires two objects - the item and the policy. ポリシーがコンテナーに関連付けられると、ポリシーのスケジュールで定義された時刻にバックアップのワークフローが開始されます。Once the policy has been associated with the vault, the backup workflow is triggered at the time defined in the policy schedule.

次の例では、ポリシー NewPolicy を使用して、アイテム V2VM の保護を有効にします。The following example enables protection for the item, V2VM, using the policy, NewPolicy. 暗号化されていない Resource Manager VM で保護を有効にする場合To enable the protection on non-encrypted Resource Manager VMs

PS C:\> $pol=Get-AzureRmRecoveryServicesBackupProtectionPolicy -Name "NewPolicy"
PS C:\> Enable-AzureRmRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1"

暗号化された VM (BEK と KEK を使用して暗号化) で保護を有効にするには、Azure Backup サービスに許可を付与し、キーとシークレットをキー コンテナーから読み取る必要があります。To enable the protection on encrypted VMs (encrypted using BEK and KEK), you need to give the Azure Backup service permission to read keys and secrets from key vault.

PS C:\> Set-AzureRmKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToKeys backup,get,list -PermissionsToSecrets get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
PS C:\> $pol=Get-AzureRmRecoveryServicesBackupProtectionPolicy -Name "NewPolicy"
PS C:\> Enable-AzureRmRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1"

暗号化された VM (BEK のみを使用して暗号化) で保護を有効にするには、Azure Backup サービスに許可を付与し、シークレットをキー コンテナーから読み取る必要があります。To enable the protection on encrypted VMs (encrypted using BEK only), you need to give the Azure Backup service permission to read secrets from key vault.

PS C:\> Set-AzureRmKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToSecrets backup,get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
PS C:\> $pol=Get-AzureRmRecoveryServicesBackupProtectionPolicy -Name "NewPolicy"
PS C:\> Enable-AzureRmRecoveryServicesBackupProtection -Policy $pol -Name "V2VM" -ResourceGroupName "RGName1"

注意

Azure Government クラウドを使用している場合は、Set-AzureRmKeyVaultAccessPolicy コマンドレットの -ServicePrincipalName パラメーターで、値 ff281ffe-705c-4f53-9f37-a40e6f2c68f3 を使用します。If you are using the Azure Government cloud, then use the value ff281ffe-705c-4f53-9f37-a40e6f2c68f3 for the parameter -ServicePrincipalName in Set-AzureRmKeyVaultAccessPolicy cmdlet.

クラシック VM の場合For classic VMs

PS C:\> $pol=Get-AzureRmRecoveryServicesBackupProtectionPolicy -Name "NewPolicy"
PS C:\> Enable-AzureRmRecoveryServicesBackupProtection -Policy $pol -Name "V1VM" -ServiceName "ServiceName1"

保護ポリシーの変更Modify a protection policy

保護ポリシーを変更するには、Set-AzureRmRecoveryServicesBackupProtectionPolicy を使用して SchedulePolicy または RetentionPolicy オブジェクトを変更します。To modify the protection policy, use Set-AzureRmRecoveryServicesBackupProtectionPolicy to modify the SchedulePolicy or RetentionPolicy objects.

次の例では、復旧ポイントのリテンション期間を 365 日に変更します。The following example changes the recovery point retention to 365 days.

PS C:\> $retPol = Get-AzureRmRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
PS C:\> $retPol.DailySchedule.DurationCountInDays = 365
PS C:\> $pol= Get-AzureRmRecoveryServicesBackupProtectionPolicy -Name "NewPolicy"
PS C:\> Set-AzureRmRecoveryServicesBackupProtectionPolicy -Policy $pol  -RetentionPolicy $RetPol

バックアップをトリガーするTrigger a backup

バックアップ ジョブをトリガーするために、Backup-AzureRmRecoveryServicesBackupItem を使用できます。You can use Backup-AzureRmRecoveryServicesBackupItem to trigger a backup job. 初回バックアップでは、完全バックアップが行われます。If it is the initial backup, it is a full backup. 以後のバックアップは、増分コピーとなります。Subsequent backups take an incremental copy. バックアップ ジョブをトリガーする前に、Set-AzureRmRecoveryServicesVaultContext を使用してコンテナーのコンテキストを設定してください。Be sure to use Set-AzureRmRecoveryServicesVaultContext to set the vault context before triggering the backup job. 次の例では、コンテナーのコンテキストが設定されていると仮定します。The following example assumes vault context was set.

PS C:\> $namedContainer = Get-AzureRmRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM"
PS C:\> $item = Get-AzureRmRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM"
PS C:\> $job = Backup-AzureRmRecoveryServicesBackupItem -Item $item
WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   ----------
V2VM              Backup               InProgress            4/23/2016 5:00:30 PM                       cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

注意

PowerShell での StartTime フィールドと EndTime フィールドのタイムゾーンは UTC です。The timezone of the StartTime and EndTime fields in PowerShell is UTC. ただし、Azure ポータルに時刻が表示されるとき、時刻はローカル タイムゾーンに調整されます。However, when the time is shown in the Azure portal, the time is adjusted to your local timezone.

バックアップ ジョブの監視Monitoring a backup job

Azure ポータルを使用せず、バックアップ ジョブなどの実行時間の長い操作を監視できます。You can monitor long-running operations, such as backup jobs, without using the Azure portal. 進行中のジョブの状態を取得するには、Get-AzureRmRecoveryservicesBackupJob コマンドレットを使用します。To get the status of an in-progress job, use the Get-AzureRmRecoveryservicesBackupJob cmdlet. このコマンドレットは、特定のコンテナーのバックアップ ジョブを取得し、そのコンテナーはコンテナーのコンテキストで指定されます。This cmdlet gets the backup jobs for a specific vault, and that vault is specified in the vault context. 次の例では、配列として進行中のジョブの状態を取得し、状態を $joblist 変数に格納します。The following example gets the status of an in-progress job as an array, and stores the status in the $joblist variable.

PS C:\> $joblist = Get-AzureRmRecoveryservicesBackupJob –Status "InProgress"
PS C:\> $joblist[0]
WorkloadName     Operation            Status               StartTime                 EndTime                   JobID
------------     ---------            ------               ---------                 -------                   ----------
V2VM             Backup               InProgress            4/23/2016 5:00:30 PM           cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

完了確認のためにこれらのジョブをポーリングすると、不要な追加コードが発生します。そのため、代わりに Wait-AzureRmRecoveryServicesBackupJob コマンドレットを使用します。Instead of polling these jobs for completion - which is unnecessary additional code - use the Wait-AzureRmRecoveryServicesBackupJob cmdlet. このコマンドレットは、ジョブが完了するまで、または指定したタイムアウト値に到達するまで、実行を一時停止します。This cmdlet pauses the execution until either the job completes or the specified timeout value is reached.

PS C:\> Wait-AzureRmRecoveryServicesBackupJob -Job $joblist[0] -Timeout 43200

Azure VM の復元Restore an Azure VM

VM の復元に Azure ポータルを使用した場合と PowerShell を使用した場合の間には決定的な違いがあります。There is a key difference between the restoring a VM using the Azure portal and restoring a VM using PowerShell. PowerShell の場合、復旧ポイントからディスクと構成情報が作成されたら、復元操作は完了します。With PowerShell, the restore operation is complete once the disks and configuration information from the recovery point are created. Azure VM バックアップからいくつかのファイルを復元または復旧する場合は、ファイルの回復に関するセクションを参照してください。If you want to restore or recover few files from an Azure VM backup, refer to the file recovery section

注意

復元操作で仮想マシンは作成されません。The restore operation does not create a virtual machine.

ディスクから仮想マシンを作成するには、「保存されたディスクからの VM の作成」セクションを参照してください。To create a virtual machine from disk, see the section, Create the VM from stored disks. Azure VM を復元する基本的な手順は次のとおりです。The basic steps to restore an Azure VM are:

  • VM の選択Select the VM
  • 復元ポイントの選択Choose a recovery point
  • ディスクの復元Restore the disks
  • 保存されたディスクからの VM の作成Create the VM from stored disks

次の図には、RecoveryServicesVault から BackupRecoveryPoint までのオブジェクト階層が示されています。The following graphic shows the object hierarchy from the RecoveryServicesVault down to the BackupRecoveryPoint.

Recovery Services object hierarchy showing BackupContainer

バックアップ データを復元するには、バックアップ項目と、復元する特定の時点のデータを保持する復旧ポイントを特定します。To restore backup data, identify the backed-up item and the recovery point that holds the point-in-time data. Restore-AzureRmRecoveryServicesBackupItem コマンドレットを使用して、コンテナーからお客様のアカウントにデータを復元します。Use the Restore-AzureRmRecoveryServicesBackupItem cmdlet to restore data from the vault to the customer's account.

VM の選択Select the VM

バックアップする正しいアイテムを特定する PowerShell オブジェクトを取得するには、資格情報コンテナー内のコンテナーから開始し、オブジェクト階層の上から下に進みます。To get the PowerShell object that identifies the right backup item, start from the container in the vault, and work your way down the object hierarchy. VM を表すコンテナーを選択するには、Get-AzureRmRecoveryServicesBackupContainer コマンドレットを使用し、Get-AzureRmRecoveryServicesBackupItem コマンドレットへのパイプとして使用します。To select the container that represents the VM, use the Get-AzureRmRecoveryServicesBackupContainer cmdlet and pipe that to the Get-AzureRmRecoveryServicesBackupItem cmdlet.

PS C:\> $namedContainer = Get-AzureRmRecoveryServicesBackupContainer  -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM"
PS C:\> $backupitem = Get-AzureRmRecoveryServicesBackupItem -Container $namedContainer  -WorkloadType "AzureVM"

復元ポイントの選択Choose a recovery point

Get-AzureRmRecoveryServicesBackupRecoveryPoint コマンドレットを使用して、バックアップ項目のすべての復旧ポイントを一覧表示します。Use the Get-AzureRmRecoveryServicesBackupRecoveryPoint cmdlet to list all recovery points for the backup item. その後、復元に使用する復旧ポイントを選択します。Then choose the recovery point to restore. 使用する復旧ポイントがわからない場合、一覧にある最新の RecoveryPointType = AppConsistent ポイントを選択することをお勧めします。If you are unsure which recovery point to use, it is a good practice to choose the most recent RecoveryPointType = AppConsistent point in the list.

次のスクリプトでは、$rp 変数が、過去 7 日間に選択したバックアップ項目の復旧ポイントの配列になっています。In the following script, the variable, $rp, is an array of recovery points for the selected backup item, from the past seven days. この配列は時間の逆順で並べ替えられています。最新の復旧ポイントのインデックスは 0 です。The array is sorted in reverse order of time with the latest recovery point at index 0. 標準の PowerShell 配列のインデックスを使用して、復旧ポイントを選択します。Use standard PowerShell array indexing to pick the recovery point. 次の例では、$rp[0] は最新の復旧ポイントを選択します。In the example, $rp[0] selects the latest recovery point.

PS C:\> $startDate = (Get-Date).AddDays(-7)
PS C:\> $endDate = Get-Date
PS C:\> $rp = Get-AzureRmRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime()
PS C:\> $rp[0]
RecoveryPointAdditionalInfo :
SourceVMStorageType         : NormalStorage
Name                        : 15260861925810
ItemName                    : VM;iaasvmcontainer;RGName1;V2VM
RecoveryPointId             : /subscriptions/XX/resourceGroups/ RGName1/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;RGName1;V2VM/protectedItems/VM;iaasvmcontainer; RGName1;V2VM/recoveryPoints/15260861925810
RecoveryPointType           : AppConsistent
RecoveryPointTime           : 4/23/2016 5:02:04 PM
WorkloadType                : AzureVM
ContainerName               : IaasVMContainer;iaasvmcontainer; RGName1;V2VM
ContainerType               : AzureVM
BackupManagementType        : AzureVM

ディスクの復元Restore the disks

Restore-AzureRmRecoveryServicesBackupItem コマンドレットを使用して、復旧ポイントまでバックアップ項目のデータと構成を復元します。Use the Restore-AzureRmRecoveryServicesBackupItem cmdlet to restore a backup item's data and configuration to a recovery point. 復旧ポイントの特定が終わったら、その復旧ポイントを -RecoveryPoint パラメーターの値として使用します。Once you have identified a recovery point, use it as the value for the -RecoveryPoint parameter. 前のサンプル コードでは、使用する復旧ポイントとして $rp[0] が選択されていました。In the previous sample code, $rp[0] was the recovery point to use. 次のサンプル コードでは、 $rp[0] をディスクの復元に使用する復旧ポイントとして指定しています。In the following sample code, $rp[0] is the recovery point to use for restoring the disk.

ディスクと構成情報を復元するには、次のコマンドを実行します。To restore the disks and configuration information:

PS C:\> $restorejob = Restore-AzureRmRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG"
PS C:\> $restorejob
WorkloadName     Operation          Status               StartTime                 EndTime            JobID
------------     ---------          ------               ---------                 -------          ----------
V2VM              Restore           InProgress           4/23/2016 5:00:30 PM                        cf4b3ef5-2fac-4c8e-a215-d2eba4124f27

Wait-AzureRmRecoveryServicesBackupJob コマンドレットを使用して、復元ジョブが完了するまで待機します。Use the Wait-AzureRmRecoveryServicesBackupJob cmdlet to wait for the Restore job to complete.

PS C:\> Wait-AzureRmRecoveryServicesBackupJob -Job $restorejob -Timeout 43200

復元ジョブが完了したら、Get-AzureRmRecoveryServicesBackupJobDetails コマンドレットを使用して復元操作の詳細を取得します。Once the Restore job has completed, use the Get-AzureRmRecoveryServicesBackupJobDetails cmdlet to get the details of the restore operation. JobDetails プロパティには、VM を再構築するために必要な情報が含まれています。The JobDetails property has the information needed to rebuild the VM.

PS C:\> $restorejob = Get-AzureRmRecoveryServicesBackupJob -Job $restorejob
PS C:\> $details = Get-AzureRmRecoveryServicesBackupJobDetails -Job $restorejob

ディスクを復元したら、次のセクションに移動して VM を作成します。Once you restore the disks, go to the next section to create the VM.

復元されたディスクからの VM の作成Create a VM from restored disks

ディスクの復元が完了したら、次の手順を使用してディスクから仮想マシンを作成し、構成します。After you have restored the disks, use these steps to create and configure the virtual machine from disk.

注意

復元されたディスクから暗号化された VM を作成するには、Azure のロールに Microsoft.KeyVault/vaults/deploy/action の実行が許可されている必要があります。To create encrypted VMs from restored disks, your Azure role must have permission to perform the action, Microsoft.KeyVault/vaults/deploy/action. ロールにこのアクセス許可がない場合は、この操作でカスタム ロールを作成します。If your role does not have this permission, create a custom role with this action. 詳細については、「Azure RBAC のカスタム ロール」をご覧ください。For more information, see Custom Roles in Azure RBAC.

  1. 復元されたディスクのプロパティに対し、ジョブの詳細を照会します。Query the restored disk properties for the job details.

    PS C:\> $properties = $details.properties
    PS C:\> $storageAccountName = $properties["Target Storage Account Name"]
    PS C:\> $containerName = $properties["Config Blob Container Name"]
    PS C:\> $blobName = $properties["Config Blob Name"]
    
  2. Azure Storage コンテキストを設定し、JSON 構成ファイルを復元します。Set the Azure storage context and restore the JSON configuration file.

    PS C:\> Set-AzureRmCurrentStorageAccount -Name $storageaccountname -ResourceGroupName "testvault"
    PS C:\> $destination_path = "C:\vmconfig.json"
    PS C:\> Get-AzureStorageBlobContent -Container $containerName -Blob $blobName -Destination $destination_path
    PS C:\> $obj = ((Get-Content -Path $destination_path -Raw -Encoding Unicode)).TrimEnd([char]0x00) | ConvertFrom-Json
    
  3. JSON 構成ファイルを使用して VM 構成を作成します。Use the JSON configuration file to create the VM configuration.

    PS C:\> $vm = New-AzureRmVMConfig -VMSize $obj.'properties.hardwareProfile'.vmSize -VMName "testrestore"
    
  4. OS ディスクとデータ ディスクを接続します。Attach the OS disk and data disks. VM の構成に応じて関連するセクションを参照し、それぞれのコマンドレットを確認します。Depending on the configuration of your VMs, refer to the relevant section to view respective cmdlets:

    管理対象外の暗号化されていない VMNon-managed, non-encrypted VMs

    管理対象外の暗号化されていない VM には、次のサンプルを使用します。Use the following sample for non-managed, non-encrypted VMs.

    PS C:\> Set-AzureRmVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
    PS C:\> $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
    PS C:\> foreach($dd in $obj.'properties.StorageProfile'.DataDisks)
    {
    $vm = Add-AzureRmVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
    }
    

    管理対象外の暗号化された VM (BEK のみ)Non-managed, encrypted VMs (BEK only)

    管理対象外の暗号化された VM (BEK のみを使用して暗号化) では、ディスクをアタッチする前に、キー コンテナーにシークレットを復元する必要があります。For non-managed, encrypted VMs (encrypted using BEK only), you need to restore the secret to the key vault before you can attach disks. 詳細については、記事「Azure Backup 復旧ポイントから暗号化された仮想マシンを復元する」を参照してください。For more information, please see the article, Restore an encrypted virtual machine from an Azure Backup recovery point. 次の例では、暗号化された VM の OS とデータ ディスクをアタッチする方法を示します。The following sample shows how to attach OS and data disks for encrypted VMs.

    PS C:\> $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
    PS C:\> $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
    PS C:\> Set-AzureRmVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows
    PS C:\> $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType
    PS C:\> foreach($dd in $obj.'properties.storageProfile'.dataDisks)
     {
     $vm = Add-AzureRmVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
     }
    

    管理対象外の暗号化された VM (BEK と KEK)Non-managed, encrypted VMs (BEK and KEK)

    管理対象外の暗号化された VM (BEK と KEK を使用して暗号化) では、ディスクをアタッチする前に、キー コンテナーにキーとシークレットを復元する必要があります。For non-managed, encrypted VMs (encrypted using BEK and KEK), you need to restore the key and secret to the key vault before you can attach disks. 詳細については、記事「Azure Backup 復旧ポイントから暗号化された仮想マシンを復元する」を参照してください。For more information, please see the article, Restore an encrypted virtual machine from an Azure Backup recovery point. 次の例では、暗号化された VM の OS とデータ ディスクをアタッチする方法を示します。The following sample shows how to attach OS and data disks for encrypted VMs.

    PS C:\> $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
    PS C:\> $kekUrl = "https://ContosoKeyVault.vault.azure.net:443/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
    PS C:\> $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
    PS C:\> Set-AzureRmVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows
    PS C:\> $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType
    PS C:\> foreach($dd in $obj.'properties.storageProfile'.dataDisks)
     {
     $vm = Add-AzureRmVMDataDisk -VM $vm -Name "datadisk1" -VhdUri $dd.vhd.Uri -DiskSizeInGB 127 -Lun $dd.Lun -CreateOption "Attach"
     }
    

    管理対象の暗号化されていない VMManaged, non-encrypted VMs

    管理対象の暗号化されていない VM の場合は、BLOB ストレージから管理対象ディスクを作成し、ディスクをアタッチする必要があります。For managed non-encrypted VMs, you'll need to create managed disks from blob storage, and then attach the disks. 詳細については、記事「PowerShell を使用して Windows VM にデータ ディスクを接続する」を参照してください。For in-depth information, see the article, Attach a data disk to a Windows VM using PowerShell. 次のサンプル コードでは、管理対象の暗号化されていない VM のデータ ディスクをアタッチする方法を示します。The following sample code shows how to attach the data disks for managed non-encrypted VMs.

    PS C:\> $storageType = "StandardLRS"
    PS C:\> $osDiskName = $vm.Name + "_osdisk"
    PS C:\> $osVhdUri = $obj.'properties.storageProfile'.osDisk.vhd.uri
    PS C:\> $diskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location "West US" -CreateOption Import -SourceUri $osVhdUri
    PS C:\> $osDisk = New-AzureRmDisk -DiskName $osDiskName -Disk $diskConfig -ResourceGroupName "test"
    PS C:\> Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $osDisk.Id -CreateOption "Attach" -Windows
    PS C:\> foreach($dd in $obj.'properties.storageProfile'.dataDisks)
     {
     $dataDiskName = $vm.Name + $dd.name ;
     $dataVhdUri = $dd.vhd.uri ;
     $dataDiskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location "West US" -CreateOption Import -SourceUri $dataVhdUri ;
     $dataDisk2 = New-AzureRmDisk -DiskName $dataDiskName -Disk $dataDiskConfig -ResourceGroupName "test" ;
     Add-AzureRmVMDataDisk -VM $vm -Name $dataDiskName -ManagedDiskId $dataDisk2.Id -Lun $dd.Lun -CreateOption "Attach"
    }
    

    管理対象の暗号化された VM (BEK のみ)Managed, encrypted VMs (BEK only)

    管理対象の暗号化された VM (BEK のみを使用して暗号化) では、BLOB ストレージから管理対象ディスクを作成し、ディスクをアタッチする必要があります。For managed encrypted VMs (encrypted using BEK only), you'll need to create managed disks from blob storage, and then attach the disks. 詳細については、記事「PowerShell を使用して Windows VM にデータ ディスクを接続する」を参照してください。For in-depth information, see the article, Attach a data disk to a Windows VM using PowerShell. 次のサンプル コードでは、管理対象の暗号化された VM のデータ ディスクをアタッチする方法を示します。The following sample code shows how to attach the data disks for managed encrypted VMs.

    PS C:\> $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
    PS C:\> $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
    PS C:\> $storageType = "StandardLRS"
    PS C:\> $osDiskName = $vm.Name + "_osdisk"
    PS C:\> $osVhdUri = $obj.'properties.storageProfile'.osDisk.vhd.uri
    PS C:\> $diskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location "West US" -CreateOption Import -SourceUri $osVhdUri
    PS C:\> $osDisk = New-AzureRmDisk -DiskName $osDiskName -Disk $diskConfig -ResourceGroupName "test"
    PS C:\> Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $osDisk.Id -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows
    PS C:\> foreach($dd in $obj.'properties.storageProfile'.dataDisks)
    {
    $dataDiskName = $vm.Name + $dd.name ;
    $dataVhdUri = $dd.vhd.uri ;
    $dataDiskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location "West US" -CreateOption Import -SourceUri $dataVhdUri ;
    $dataDisk2 = New-AzureRmDisk -DiskName $dataDiskName -Disk $dataDiskConfig -ResourceGroupName "test" ;
    Add-AzureRmVMDataDisk -VM $vm -Name $dataDiskName -ManagedDiskId $dataDisk2.Id -Lun $dd.Lun -CreateOption "Attach"
    }
    

    管理対象の暗号化された VM (BEK と KEK)Managed, encrypted VMs (BEK and KEK)

    管理対象の暗号化された VM (BEK と KEK を使用して暗号化) では、BLOB ストレージから管理対象ディスクを作成し、ディスクをアタッチする必要があります。For managed encrypted VMs (encrypted using BEK and KEK), you'll need to create managed disks from blob storage, and then attach the disks. 詳細については、記事「PowerShell を使用して Windows VM にデータ ディスクを接続する」を参照してください。For in-depth information, see the article, Attach a data disk to a Windows VM using PowerShell. 次のサンプル コードでは、管理対象の暗号化された VM のデータ ディスクをアタッチする方法を示します。The following sample code shows how to attach the data disks for managed encrypted VMs.

    PS C:\> $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
    PS C:\> $kekUrl = "https://ContosoKeyVault.vault.azure.net:443/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
    PS C:\> $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
    PS C:\> $storageType = "StandardLRS"
    PS C:\> $osDiskName = $vm.Name + "_osdisk"
    PS C:\> $osVhdUri = $obj.'properties.storageProfile'.osDisk.vhd.uri
    PS C:\> $diskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location "West US" -CreateOption Import -SourceUri $osVhdUri
    PS C:\> $osDisk = New-AzureRmDisk -DiskName $osDiskName -Disk $diskConfig -ResourceGroupName "test"
    PS C:\> Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $osDisk.Id -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows
    PS C:\> foreach($dd in $obj.'properties.storageProfile'.dataDisks)
    {
    $dataDiskName = $vm.Name + $dd.name ;
    $dataVhdUri = $dd.vhd.uri ;
    $dataDiskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location "West US" -CreateOption Import -SourceUri $dataVhdUri ;
    $dataDisk2 = New-AzureRmDisk -DiskName $dataDiskName -Disk $dataDiskConfig -ResourceGroupName "test" ;
    Add-AzureRmVMDataDisk -VM $vm -Name $dataDiskName -ManagedDiskId $dataDisk2.Id -Lun $dd.Lun -CreateOption "Attach"
    }
    
  5. ネットワーク設定を設定します。Set the Network settings.

    PS C:\> $nicName="p1234"
    PS C:\> $pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName "test" -Location "WestUS" -AllocationMethod Dynamic
    PS C:\> $vnet = Get-AzureRmVirtualNetwork -Name "testvNET" -ResourceGroupName "test"
    PS C:\> $nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName "test" -Location "WestUS" -SubnetId $vnet.Subnets[$subnetindex].Id -PublicIpAddressId $pip.Id
    PS C:\> $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
    
  6. 仮想マシンを作成します。Create the virtual machine.

    PS C:\> New-AzureRmVM -ResourceGroupName "test" -Location "WestUS" -VM $vm
    

Azure VM バックアップからのファイルの復元Restore files from an Azure VM backup

Azure VM バックアップからは、ディスクを復元するだけでなく、個々のファイルを復元することもできます。In addition to restoring disks, you can also restore individual files from an Azure VM backup. ファイルの復元機能を使用すると、復旧ポイントにあるすべてのファイルにアクセスできるようになり、通常のファイルに行うように、エクスプローラーを使用してファイルを管理できます。The restore files functionality gives access to all files in a recovery point and you can manage them via file explorer as you would do for normal files.

Azure VM バックアップからファイルを復元する基本的な手順は次のとおりです。The basic steps to restore a file from Azure VM backup are:

  • VM の選択Select the VM
  • 復元ポイントの選択Choose a recovery point
  • 復旧ポイントのディスクのマウントMount the disks of recovery point
  • 必要なファイルのコピーCopy the required files
  • ディスクのマウント解除Unmount the disk

VM の選択Select the VM

バックアップする正しいアイテムを特定する PowerShell オブジェクトを取得するには、資格情報コンテナー内のコンテナーから開始し、オブジェクト階層の上から下に進みます。To get the PowerShell object that identifies the right backup item, start from the container in the vault, and work your way down the object hierarchy. VM を表すコンテナーを選択するには、Get-AzureRmRecoveryServicesBackupContainer コマンドレットを使用し、Get-AzureRmRecoveryServicesBackupItem コマンドレットへのパイプとして使用します。To select the container that represents the VM, use the Get-AzureRmRecoveryServicesBackupContainer cmdlet and pipe that to the Get-AzureRmRecoveryServicesBackupItem cmdlet.

PS C:\> $namedContainer = Get-AzureRmRecoveryServicesBackupContainer  -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM"
PS C:\> $backupitem = Get-AzureRmRecoveryServicesBackupItem -Container $namedContainer  -WorkloadType "AzureVM"

復元ポイントの選択Choose a recovery point

Get-AzureRmRecoveryServicesBackupRecoveryPoint コマンドレットを使用して、バックアップ項目のすべての復旧ポイントを一覧表示します。Use the Get-AzureRmRecoveryServicesBackupRecoveryPoint cmdlet to list all recovery points for the backup item. その後、復元に使用する復旧ポイントを選択します。Then choose the recovery point to restore. 使用する復旧ポイントがわからない場合、一覧にある最新の RecoveryPointType = AppConsistent ポイントを選択することをお勧めします。If you are unsure which recovery point to use, it is a good practice to choose the most recent RecoveryPointType = AppConsistent point in the list.

次のスクリプトでは、$rp 変数が、過去 7 日間に選択したバックアップ項目の復旧ポイントの配列になっています。In the following script, the variable, $rp, is an array of recovery points for the selected backup item, from the past seven days. この配列は時間の逆順で並べ替えられています。最新の復旧ポイントのインデックスは 0 です。The array is sorted in reverse order of time with the latest recovery point at index 0. 標準の PowerShell 配列のインデックスを使用して、復旧ポイントを選択します。Use standard PowerShell array indexing to pick the recovery point. 次の例では、$rp[0] は最新の復旧ポイントを選択します。In the example, $rp[0] selects the latest recovery point.

PS C:\> $startDate = (Get-Date).AddDays(-7)
PS C:\> $endDate = Get-Date
PS C:\> $rp = Get-AzureRmRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime()
PS C:\> $rp[0]
RecoveryPointAdditionalInfo :
SourceVMStorageType         : NormalStorage
Name                        : 15260861925810
ItemName                    : VM;iaasvmcontainer;RGName1;V2VM
RecoveryPointId             : /subscriptions/XX/resourceGroups/ RGName1/providers/Microsoft.RecoveryServices/vaults/testvault/backupFabrics/Azure/protectionContainers/IaasVMContainer;iaasvmcontainer;RGName1;V2VM/protectedItems/VM;iaasvmcontainer; RGName1;V2VM/recoveryPoints/15260861925810
RecoveryPointType           : AppConsistent
RecoveryPointTime           : 4/23/2016 5:02:04 PM
WorkloadType                : AzureVM
ContainerName               : IaasVMContainer;iaasvmcontainer; RGName1;V2VM
ContainerType               : AzureVM
BackupManagementType        : AzureVM

復旧ポイントのディスクのマウントMount the disks of recovery point

Get-AzureRmRecoveryServicesBackupRPMountScript コマンドレットを使用して、スクリプトで復旧ポイントのすべてのディスクをマウントします。Use the Get-AzureRmRecoveryServicesBackupRPMountScript cmdlet to get the script to mount all the disks of the recovery point.

注意

ディスクは、iSCSI に接続されたディスクとして、スクリプトが実行されているマシンにマウントされます。The disks are mounted as iSCSI attached disks to the machine where the script is run. そのため、これはほぼ瞬間的であり、料金は発生しません。Hence it is near instantaneous and does NOT incur any charge

PS C:\> Get-AzureRmRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0]

OsType  Password        Filename
------  --------        --------
Windows e3632984e51f496 V2VM_wus2_8287309959960546283_451516692429_cbd6061f7fc543c489f1974d33659fed07a6e0c2e08740.exe

ファイルの回復先となるマシンでこのスクリプトを実行します。Run the script on the machine where you want to recover the files. スクリプトを実行するには、上記のパスワードを入力する必要があります。You need to enter the password shown above to execute the script. ディスクが接続されたら、エクスプローラーを使用して、新しいボリュームとファイルを参照します。After the disks are attached, use the Windows file explorer to browse through the new volumes and files. 詳細については、ファイルの回復に関するドキュメントを参照してくださいFor more information refer to the file recovery documentation

ディスクのマウント解除Unmount the disks

必要なファイルがコピーされたら、Disable-AzureRmRecoveryServicesBackupRPMountScript コマンドレットを使用してディスクのマウントを解除します。After the required files are copied, unmount the disks by using the Disable-AzureRmRecoveryServicesBackupRPMountScript cmdlet. これは、復旧ポイントのファイルへのアクセスが削除されるようになるため、強くお勧めします。This is highly recommended as it makes sure that access is removed to the files of the recovery point

PS C:\> Disable-AzureRmRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0]

次のステップNext steps

PowerShell を使用して Azure リソースを操作する場合は、Windows Server のバックアップのデプロイと管理に関する PowerShell の記事をご覧ください。If you prefer to use PowerShell to engage with your Azure resources, see the PowerShell article, Deploy and Manage Backup for Windows Server. DPM バックアップを管理する場合は、記事「DPM 用の Backup のデプロイと管理」を参照してください。If you manage DPM backups, see the article, Deploy and Manage Backup for DPM. 両方の記事で、Resource Manager デプロイとクラシック デプロイの両方のモデルについて説明しています。Both of these articles have a version for Resource Manager deployments and Classic deployments.