Azure PowerShell を使用した Azure の仮想マシンのバックアップ

Azure PowerShell AZ モジュールは、コマンド ラインやスクリプトから Azure リソースを作成および管理するために使用します。

Azure Backup では、オンプレミスのマシンとアプリ、および Azure VM をバックアップします。 この記事では、AZ モジュールを使用して Azure VM をバックアップする方法を説明します。 代わりに Azure CLI または Azure portal を使用して VM をバックアップすることもできます。

このクイック スタートでは、既存の Azure VM のバックアップを実行できます。 VM を作成する必要がある場合は、Azure PowerShell を使用して VM を作成できます。

このクイック スタートには、Azure PowerShell AZ モジュール バージョン 1.0.0 以降が必要です。 バージョンを確認するには、Get-Module -ListAvailable Az を実行します。 インストールまたはアップグレードする必要がある場合は、Azure PowerShell モジュールのインストールに関するページを参照してください。

注意

この記事では、Azure と対話するために推奨される PowerShell モジュールである Azure Az PowerShell モジュールを使用します。 Az PowerShell モジュールの使用を開始するには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

サインインして登録する

  1. Connect-AzAccount コマンドを使用して Azure サブスクリプションにサインインし、画面上の指示に従います。

    Connect-AzAccount
    
  2. Azure Backup を最初に使用するときは、次のように、Register-AzResourceProvider を使ってサブスクリプション内で Azure Recovery Service プロバイダーを登録する必要があります。

    Register-AzResourceProvider -ProviderNamespace "Microsoft.RecoveryServices"
    

Recovery Services コンテナーを作成する

Recovery Services コンテナーは、Azure VM などの保護されたリソースのバックアップ データを格納する論理コンテナーです。 バックアップ ジョブを実行すると、Recovery Services コンテナー内に復旧ポイントが作成されます。 この復元ポイントのいずれかを使用して、データを特定の時点に復元できます。

コンテナーを作成する場合:

  • リソース グループと場所については、バックアップする VM のリソース グループと場所を指定します。
  • この サンプル スクリプトを使用して VM を作成した場合、リソース グループは myResourceGroup、VM は *myVM になり、リソースは WestEurope リージョンに格納されます。
  • Azure Backup では、バックアップされるデータのストレージを自動的に処理します。 既定では、コンテナーには geo 冗長ストレージ (GRS) が使用されます。 geo 冗長ストレージでは、プライマリ リージョンから数百マイル離れたセカンダリ Azure リージョンに、バックアップされたデータが確実にレプリケートされます。

それでは、コンテナーを作成します。

  1. New-AzRecoveryServicesVault を使用して、コンテナーを作成します。

    New-AzRecoveryServicesVault `
        -ResourceGroupName "myResourceGroup" `
        -Name "myRecoveryServicesVault" `
    -Location "WestEurope"
    
  2. 次のように、Set-AzRecoveryServicesVaultContext を使用して、コンテナーのコンテキストを設定します。

    Get-AzRecoveryServicesVault `
        -Name "myRecoveryServicesVault" | Set-AzRecoveryServicesVaultContext
    
  3. Set-AzRecoveryServicesBackupPropertyを使用して、コンテナーの記憶域冗長構成 (LRS/GRS) を次のように変更します。

    Get-AzRecoveryServicesVault `
        -Name "myRecoveryServicesVault" | Set-AzRecoveryServicesBackupProperty -BackupStorageRedundancy LocallyRedundant/GeoRedundant
    

    注意

    記憶域冗長は、コンテナーに保護されているバックアップ項目がない場合にのみ変更できます。

Azure VM のバックアップを有効にする

Azure VM のバックアップを有効にし、バックアップ ポリシーを指定します。

  • ポリシーでは、バックアップを実行するタイミングと、バックアップによって作成された復旧ポイントを保持する期間を定義します。
  • 既定の保護ポリシーでは、1 日 1 回 VM のバックアップが実行され、作成された復旧ポイントは 30 日間保持されます。 この既定のポリシーを使用して、VM をすぐに保護できます。

次のようにバックアップを有効にします。

  1. まず、Get-AzRecoveryServicesBackupProtectionPolicy を使用して、既定のポリシーを設定します。

    $policy = Get-AzRecoveryServicesBackupProtectionPolicy     -Name "DefaultPolicy"
    
  2. Enable-AzRecoveryServicesBackupProtection を使用して、VM のバックアップを有効にします。 ポリシー、リソース グループ、および VM の名前を指定します。

    Enable-AzRecoveryServicesBackupProtection `
        -ResourceGroupName "myResourceGroup" `
        -Name "myVM" `
        -Policy $policy
    

バックアップ ジョブを開始する

バックアップ ポリシーに指定されているスケジュールに従って、バックアップが実行されます。 また、次のようにしてオンデマンド バックアップを実行することもできます。

  • 最初の初回バックアップ ジョブによって、完全な復旧ポイントが作成されます。
  • 初回バックアップ後の各バックアップ ジョブでは、増分復旧ポイントが作成されます。
  • 増分復元ポイントでは、前回のバックアップ以降に行われた変更のみを転送対象とすることで、高い保存効率と時間効率を実現します。

オンデマンド バックアップを実行するには、Backup-AzRecoveryServicesBackupItem を使用します。

  • Get-AzRecoveryServicesBackupContainer を使用して、バックアップ データを保持するコンテナー内のコンテナーを指定します。
  • バックアップする各 VM は、項目として扱われます。 バックアップ ジョブを開始するには、Get-AzRecoveryServicesBackupItem を使用して、VM に関する情報を取得します。

次のようにして、オンデマンド バックアップ ジョブを実行します。

  1. コンテナーを指定し、VM 情報を取得して、バックアップを実行します。

    $backupcontainer = Get-AzRecoveryServicesBackupContainer `
        -ContainerType "AzureVM" `
        -FriendlyName "myVM"
    
    $item = Get-AzRecoveryServicesBackupItem `
        -Container $backupcontainer `
        -WorkloadType "AzureVM"
    
    Backup-AzRecoveryServicesBackupItem -Item $item
    
  2. 最初のバックアップ ジョブでは完全な復旧ポイントが作成されるため、最大 20 分かかる場合があります。 次の手順の説明に従って、ジョブを監視します。

バックアップ ジョブを監視する

  1. Get-AzRecoveryservicesBackupJob を実行して、ジョブの状態を監視します。

    Get-AzRecoveryservicesBackupJob
    

    出力は次の例のようになります。ジョブが InProgress であることが示されています。

    WorkloadName   Operation         Status       StartTime              EndTime                JobID
    ------------   ---------         ------       ---------              -------                -----
    myvm           Backup            InProgress   9/18/2017 9:38:02 PM                          9f9e8f14
    myvm           ConfigureBackup   Completed    9/18/2017 9:33:18 PM   9/18/2017 9:33:51 PM   fe79c739
    
  2. ジョブの状態が Completed の場合、VM が保護されていて、完全な復旧ポイントが格納されています。

VM バックアップの管理

ポリシーの変更、ポリシーの編集など、その他のアクションを実行する場合は、 VM のバックアップの管理に関するセクションを参照してください。

デプロイをクリーンアップする

VM をバックアップする必要がなくなった場合は、クリーンアップできます。

  • VM の復元を試す場合は、クリーンアップをスキップします。
  • 既存の VM を使用した場合は、最後の Remove-AzResourceGroup コマンドレットを省略すると、リソース グループと VM をそのままの状態にしておくことができます。

保護を無効にし、復元ポイントとコンテナーを削除します。 その後、リソース グループおよび関連付けられているVM リソースを次のように削除します。

Disable-AzRecoveryServicesBackupProtection -Item $item -RemoveRecoveryPoints
$vault = Get-AzRecoveryServicesVault -Name "myRecoveryServicesVault"
Remove-AzRecoveryServicesVault -Vault $vault
Remove-AzResourceGroup -Name "myResourceGroup"

次のステップ

このクイック スタートでは、Recovery Services コンテナーを作成し、VM の保護を有効にし、最初の復元ポイントを作成しました。