PowerShell を使用して仮想マシンをバックアップし、復元するUse PowerShell to back up and restore virtual machines

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

注意

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, see the article, What is Azure Backup? 開始する前に、Azure Backup に必要な前提条件が満たされていることを確認し、現在の VM バックアップ ソリューションの制限事項を把握してください。Before you start, ensure that you cover the prerequisites needed 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:

    Get-Command *azurermrecoveryservices*
    

    Azure Backup、Azure Site Recovery、Recovery Services コンテナーのエイリアスとコマンドレットが表示されます。The aliases and cmdlets for Azure Backup, Azure Site Recovery, and the Recovery Services vault appear. 次の画像は表示例です。The following image is an example of what you'll see. コマンドレットの完全な一覧ではありません。It is not the complete list of cmdlets.

    Recovery Services の一覧

  3. Connect-AzureRmAccount を使用して Azure アカウントにサインインします。Sign in to your Azure account using Connect-AzureRmAccount. このコマンドレットを実行すると、アカウントの資格情報を入力する Web ページが表示されます。This cmdlet brings up a web page prompts you for your account credentials:

    • または、-Credential パラメーターを使用して、Connect-AzureRmAccount コマンドレットのパラメーターとしてアカウントの資格情報を含められます。Alternately, you can include your account credentials as a parameter in the Connect-AzureRmAccount cmdlet, using the -Credential parameter.
    • CSP パートナーがテナントの代理としてサインインする場合は、その顧客をテナントとして指定します。該当するテナント ID またはテナントのプライマリ ドメイン名で指定してください。If you are CSP partner working on behalf of a tenant, specify the customer as a tenant, by using their tenantID or tenant primary domain name. たとえば、「Connect-AzureRmAccount -Tenant "fabrikam.com"」と入力します。For example: Connect-AzureRmAccount -Tenant "fabrikam.com"
  4. 1 つのアカウントが複数のサブスクリプションを持つことができるため、使用するサブスクリプションをアカウントに関連付けます。Associate the subscription you want to use with the account, since an account can have several subscriptions:

    Select-AzureRmSubscription -SubscriptionName $SubscriptionName
    
  5. 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.

    Register-AzureRmResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    
  6. 次のコマンドを使用して、プロバイダーが正しく登録されたことを確認できます。You can verify that the Providers registered successfully, using the following commands:

    Get-AzureRmResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    

    コマンドの出力では、RegistrationStateRegistered に変更されるはずです。In the command output, the RegistrationState should change to Registered. そうでない場合は、Register-AzureRmResourceProvider コマンドレットをもう一度実行してください。If not, just run the Register-AzureRmResourceProvider cmdlet again.

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

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. 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.

    New-AzureRmResourceGroup -Name "test-rg" -Location "West US"
    
  2. 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.

    New-AzureRmRecoveryServicesVault -Name "testvault" -ResourceGroupName "test-rg" -Location "West US"
    
  3. 使用するストレージ冗長性の種類を指定します。ローカル冗長ストレージ (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.

    $vault1 = Get-AzureRmRecoveryServicesVault -Name "testvault"
    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 を使用します。To view all vaults in the subscription, use Get-AzureRmRecoveryServicesVault:

Get-AzureRmRecoveryServicesVault

出力は次のサンプルのようなものになります。関連する ResourceGroupName と Location が指定されていることに注目してください。The output is similar to the following example, notice the associated ResourceGroupName and Location are provided.

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.

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 available 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.

Get-AzureRmRecoveryServicesBackupProtectionPolicy -WorkloadType "AzureVM"

出力は次の例のようになります。The output is similar to the following example:

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.

$schPol = Get-AzureRmRecoveryServicesBackupSchedulePolicyObject -WorkloadType "AzureVM"
$retPol = Get-AzureRmRecoveryServicesBackupRetentionPolicyObject -WorkloadType "AzureVM"
New-AzureRmRecoveryServicesBackupProtectionPolicy -Name "NewPolicy" -WorkloadType "AzureVM" -RetentionPolicy $retPol -SchedulePolicy $schPol

出力は次の例のようになります。The output is similar to the following example:

Name                 WorkloadType       BackupManagementType BackupTime                DaysOfWeek
----                 ------------       -------------------- ----------                ----------
NewPolicy           AzureVM            AzureVM              4/24/2016 1:30:00 AM

保護を有効にするEnable protection

保護ポリシーを定義したら、アイテムのポリシーも有効にする必要があります。Once you've defined the 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 examples enable protection for the item, V2VM, using the policy, NewPolicy. 例は、VM が暗号化されるかどうか、暗号化の種類によって異なります。The examples differ based on whether the VM is encrypted, and what type of encryption.

暗号化されていない Resource Manager VM で保護を有効にするには:To enable the protection on non-encrypted Resource Manager VMs:

$pol = Get-AzureRmRecoveryServicesBackupProtectionPolicy -Name "NewPolicy"
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 must give the Azure Backup service permission to read keys and secrets from the key vault.

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

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

Set-AzureRmKeyVaultAccessPolicy -VaultName "KeyVaultName" -ResourceGroupName "RGNameOfKeyVault" -PermissionsToSecrets backup,get,list -ServicePrincipalName 262044b1-e2ce-469f-a196-69ab7ada62d3
$pol = Get-AzureRmRecoveryServicesBackupProtectionPolicy -Name "NewPolicy"
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 で保護を有効にするには:To enable protection on a classic VM:

$pol = Get-AzureRmRecoveryServicesBackupProtectionPolicy -Name "NewPolicy"
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.

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

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

バックアップ ジョブをトリガーするには、Backup-AzureRmRecoveryServicesBackupItem を使用します。Use Backup-AzureRmRecoveryServicesBackupItem to trigger a backup job. 初回バックアップの場合、完全バックアップが行われます。If it's 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 the vault context was already set.

$namedContainer = Get-AzureRmRecoveryServicesBackupContainer -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM"
$item = Get-AzureRmRecoveryServicesBackupItem -Container $namedContainer -WorkloadType "AzureVM"
$job = Backup-AzureRmRecoveryServicesBackupItem -Item $item

出力は次の例のようになります。The output is similar to the following example:

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.

$joblist = Get-AzureRmRecoveryservicesBackupJob –Status "InProgress"
$joblist[0]

出力は次の例のようになります。The output is similar to the following example:

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.

Wait-AzureRmRecoveryServicesBackupJob -Job $joblist[0] -Timeout 43200

Azure VM の復元Restore an Azure VM

VM の復元に Azure ポータルを使用した場合と PowerShell を使用した場合の間には重要な違いがあります。There is an important 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. 復元操作で仮想マシンは作成されません。The restore operation doesn't create the virtual machine. ディスクから仮想マシンを作成するには、「復元されたディスクからの VM の作成」を参照してください。To create a virtual machine from disk, see the section, Create the VM from restored disks. VM 全体を復元しないが、Azure VM バックアップからいくつかのファイルを復元または復旧する場合は、ファイルの回復に関するセクションを参照してください。If you don't want to restore the entire VM, but want to restore or recover a few files from an Azure VM backup, refer to the file recovery section.

ヒント

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

次の図には、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 Restore-AzureRmRecoveryServicesBackupItem to restore data from the vault to your account.

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.

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.

$namedContainer = Get-AzureRmRecoveryServicesBackupContainer  -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM"
$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.

$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzureRmRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime()
$rp[0]

出力は次の例のようになります。The output is similar to the following example:

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 identify a recovery point, use it as the value for the -RecoveryPoint parameter. 上のサンプルでは、使用する復旧ポイントとして $rp[0] が選択されていました。In the above sample, $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:

$restorejob = Restore-AzureRmRecoveryServicesBackupItem -RecoveryPoint $rp[0] -StorageAccountName "DestAccount" -StorageAccountResourceGroupName "DestRG"
$restorejob

出力は次の例のようになります。The output is similar to the following example:

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.

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.

$restorejob = Get-AzureRmRecoveryServicesBackupJob -Job $restorejob
$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 restore the disks, use the following 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.

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

    Set-AzureRmCurrentStorageAccount -Name $storageaccountname -ResourceGroupName "testvault"
    $destination_path = "C:\vmconfig.json"
    Get-AzureStorageBlobContent -Container $containerName -Blob $configBlobName -Destination $destination_path
    $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.

    $vm = New-AzureRmVMConfig -VMSize $obj.'properties.hardwareProfile'.vmSize -VMName "testrestore"
    
  4. OS ディスクとデータ ディスクを接続します。Attach the OS disk and data disks. この手順では、さまざまな管理対象/暗号化 VM 構成の例を提示します。This step provides examples for various managed and encrypted VM configurations. 自分の VM 構成に最適なサンプルを利用してください。Use the example that suits your VM configuration.

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

      Set-AzureRmVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.StorageProfile'.osDisk.vhd.Uri -CreateOption "Attach"
      $vm.StorageProfile.OsDisk.OsType = $obj.'properties.StorageProfile'.OsDisk.OsType
      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 のみ) - 管理対象外の暗号化された VM (BEK のみを使用して暗号化) では、ディスクをアタッチする前に、キー コンテナーにシークレットを復元する必要があります。Non-managed and encrypted VMs (BEK only) - 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, 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. OS ディスクの設定時には、関連する OS の種類が示されていることを確認してください。When setting the OS disk, make sure to mention the relevant OS type.

      $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
      $dekUrl = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
      Set-AzureRmVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows/Linux
      $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType
      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"
      }
      

      データ ディスクの暗号化を手動で有効にするには、次のコマンドを使用します。Use the following command to manually enable encryption for the data disks.

      Set-AzureRmVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $dekUrl -VolumeType Data
      
    • 管理対象外の暗号化された VM (BEK と KEK) - 管理対象外の暗号化された VM (BEK と KEK を使用して暗号化) では、ディスクをアタッチする前に、キー コンテナーにキーとシークレットを復元します。Non-managed and encrypted VMs (BEK and KEK) - For non-managed, encrypted VMs (encrypted using BEK and KEK), restore the key and secret to the key vault before attaching the disks. 詳細については、記事「Azure Backup 復旧ポイントから暗号化された仮想マシンを復元する」を参照してください。For more information, 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.

      $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
      $kekUrl = "https://ContosoKeyVault.vault.azure.net:443/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
      $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
      Set-AzureRmVMOSDisk -VM $vm -Name "osdisk" -VhdUri $obj.'properties.storageProfile'.osDisk.vhd.uri -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows
      $vm.StorageProfile.OsDisk.OsType = $obj.'properties.storageProfile'.osDisk.osType
      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"
       }
      

      データ ディスクの暗号化を手動で有効にするには、次のコマンドを使用します。Use the following command to manually enable encryption for the data disks.

      Set-AzureRmVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $dekUrl -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -VolumeType Data
      
    • 管理対象の暗号化された VM - 管理対象の暗号化されていない VM の場合は、BLOB ストレージからマネージド ディスクを作成し、ディスクをアタッチする必要があります。Managed and non-encrypted VMs - 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.

      $storageType = "StandardLRS"
      $osDiskName = $vm.Name + "_osdisk"
      $osVhdUri = $obj.'properties.storageProfile'.osDisk.vhd.uri
      $diskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location "West US" -CreateOption Import -SourceUri $osVhdUri
      $osDisk = New-AzureRmDisk -DiskName $osDiskName -Disk $diskConfig -ResourceGroupName "test"
      Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $osDisk.Id -CreateOption "Attach" -Windows
      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 のみ) - 管理対象の暗号化された VM (BEK のみを使用して暗号化) では、BLOB ストレージからマネージド ディスクを作成し、ディスクをアタッチする必要があります。Managed and encrypted VMs (BEK only) - 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.

      $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
      $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
      $storageType = "StandardLRS"
      $osDiskName = $vm.Name + "_osdisk"
      $osVhdUri = $obj.'properties.storageProfile'.osDisk.vhd.uri
      $diskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location "West US" -CreateOption Import -SourceUri $osVhdUri
      $osDisk = New-AzureRmDisk -DiskName $osDiskName -Disk $diskConfig -ResourceGroupName "test"
      Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $osDisk.Id -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows
      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"
       }
      

      データ ディスクの暗号化を手動で有効にするには、次のコマンドを使用します。Use the following command to manually enable encryption for the data disks.

      Set-AzureRmVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -VolumeType Data
      
    • 管理対象の暗号化された VM (BEK と KEK) - 管理対象の暗号化された VM (BEK と KEK を使用して暗号化) では、BLOB ストレージからマネージド ディスクを作成し、ディスクをアタッチする必要があります。Managed and encrypted VMs (BEK and KEK) - 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.

      $dekUrl = "https://ContosoKeyVault.vault.azure.net:443/secrets/ContosoSecret007/xx000000xx0849999f3xx30000003163"
      $kekUrl = "https://ContosoKeyVault.vault.azure.net:443/keys/ContosoKey007/x9xxx00000x0000x9b9949999xx0x006"
      $keyVaultId = "/subscriptions/abcdedf007-4xyz-1a2b-0000-12a2b345675c/resourceGroups/ContosoRG108/providers/Microsoft.KeyVault/vaults/ContosoKeyVault"
      $storageType = "StandardLRS"
      $osDiskName = $vm.Name + "_osdisk"
      $osVhdUri = $obj.'properties.storageProfile'.osDisk.vhd.uri
      $diskConfig = New-AzureRmDiskConfig -AccountType $storageType -Location "West US" -CreateOption Import -SourceUri $osVhdUri
      $osDisk = New-AzureRmDisk -DiskName $osDiskName -Disk $diskConfig -ResourceGroupName "test"
      Set-AzureRmVMOSDisk -VM $vm -ManagedDiskId $osDisk.Id -DiskEncryptionKeyUrl $dekUrl -DiskEncryptionKeyVaultId $keyVaultId -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -CreateOption "Attach" -Windows
      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"
       }
      

      データ ディスクの暗号化を手動で有効にするには、次のコマンドを使用します。Use the following command to manually enable encryption for the data disks.

      Set-AzureRmVMDiskEncryptionExtension -ResourceGroupName $RG -VMName $vm -AadClientID $aadClientID -AadClientSecret $aadClientSecret -DiskEncryptionKeyVaultUrl $dekUrl -DiskEncryptionKeyVaultId $dekUrl -KeyEncryptionKeyUrl $kekUrl -KeyEncryptionKeyVaultId $keyVaultId -VolumeType Data
      
  5. ネットワーク設定を設定します。Set the Network settings.

    $nicName="p1234"
    $pip = New-AzureRmPublicIpAddress -Name $nicName -ResourceGroupName "test" -Location "WestUS" -AllocationMethod Dynamic
    $virtualNetwork = New-AzureRmVirtualNetwork -ResourceGroupName "test" -Location "WestUS" -Name "testvNET" -AddressPrefix 10.0.0.0/16
    $virtualNetwork | Set-AzureRmVirtualNetwork
    $vnet = Get-AzureRmVirtualNetwork -Name "testvNET" -ResourceGroupName "test"
    $subnetindex=0
    $nic = New-AzureRmNetworkInterface -Name $nicName -ResourceGroupName "test" -Location "WestUS" -SubnetId $vnet.Subnets[$subnetindex].Id -PublicIpAddressId $pip.Id
    $vm=Add-AzureRmVMNetworkInterface -VM $vm -Id $nic.Id
    
  6. 仮想マシンを作成します。Create the virtual machine.

    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 provides access to all files in a recovery point. 通常のファイルの場合と同様に、ファイル エクスプローラーを使用してファイルを管理します。Manage the files via File Explorer as you would for normal files.

Azure VM バックアップからファイルを復元する基本的な手順は次のとおりです。The basic steps to restore a file from an 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.

$namedContainer = Get-AzureRmRecoveryServicesBackupContainer  -ContainerType "AzureVM" -Status "Registered" -FriendlyName "V2VM"
$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.

$startDate = (Get-Date).AddDays(-7)
$endDate = Get-Date
$rp = Get-AzureRmRecoveryServicesBackupRecoveryPoint -Item $backupitem -StartDate $startdate.ToUniversalTime() -EndDate $enddate.ToUniversalTime()
$rp[0]

出力は次の例のようになります。The output is similar to the following example:

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. マウントはすぐに行われます。課金は発生しません。Mounting occurs immediately, and you don't incur any charges.

Get-AzureRmRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0]

出力は次の例のようになります。The output is similar to the following example:

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

ファイルの回復先となるマシンでこのスクリプトを実行します。Run the script on the machine where you want to recover the files. スクリプトを実行するには、与えられたパスワードを入力する必要があります。To execute the script, you must enter the password provided. ディスクが接続されたら、エクスプローラーを使用し、新しいボリュームとファイルを参照します。After the disks are attached, use Windows File Explorer to browse the new volumes and files. 詳細については、「Azure 仮想マシンのバックアップからファイルを回復する」というバックアップに関する記事を参照してください。For more information, refer to the Backup article, Recover files from Azure virtual machine backup.

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

必要なファイルがコピーされたら、Disable-AzureRmRecoveryServicesBackupRPMountScript を使用してディスクのマウントを解除します。After the required files are copied, use Disable-AzureRmRecoveryServicesBackupRPMountScript to unmount the disks. 復旧ポイントのファイルへのアクセスが削除されるように、必ずディスクのマウントを解除してください。Be sure to unmount the disks so access to the files of the recovery point is removed.

Disable-AzureRmRecoveryServicesBackupRPMountScript -RecoveryPoint $rp[0]

次の手順Next steps

PowerShell で Azure リソースを使用する場合、Windows Server へのバックアップのデプロイおよび管理に関する PowerShell 記事を参照してください。If you prefer to use PowerShell to engage wi th 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.