チュートリアル:Azure 内の Linux 仮想マシンのファイルをバックアップおよび復元するTutorial: Back up and restore files for Linux virtual machines in Azure

データは、定期的にバックアップすることで保護することができます。You can protect your data by taking backups at regular intervals. Azure Backup では、geo 冗長 Recovery コンテナーに保存される復旧ポイントが作成されます。Azure Backup creates recovery points that are stored in geo-redundant recovery vaults. 復旧ポイントから復元するときは、VM 全体を復元するか、特定のファイルを復元することができます。When you restore from a recovery point, you can restore the whole VM or specific files. この記事では、nginx を実行する Linux VM に単一のファイルを復元する方法について説明します。This article explains how to restore a single file to a Linux VM running nginx. まだ使用する VM がない場合は、Linux のクイック スタートを使用して作成してください。If you don't already have a VM to use, you can create one using the Linux quickstart. このチュートリアルで学習する内容は次のとおりです。In this tutorial you learn how to:

  • VM のバックアップを作成するCreate a backup of a VM
  • 毎日のバックアップをスケジュールするSchedule a daily backup
  • バックアップからファイルを復元するRestore a file from a backup

Backup の概要Backup overview

Azure Backup サービスによってバックアップが開始されると、バックアップ拡張機能がトリガーされて特定時点のスナップショットが作成されます。When the Azure Backup service initiates a backup, it triggers the backup extension to take a point-in-time snapshot. Azure Backup サービスには Linux の VMSnapshotLinux 拡張機能が使用されます。The Azure Backup service uses the VMSnapshotLinux extension in Linux. この拡張機能は、VM の初回バックアップ中、VM が実行されている場合にインストールされます。The extension is installed during the first VM backup if the VM is running. VM が実行されていない場合、Backup サービスは基盤となるストレージのスナップショットを取ります (VM が停止している間はアプリケーション書き込みが行われないため)。If the VM is not running, the Backup service takes a snapshot of the underlying storage (since no application writes occur while the VM is stopped).

既定では、Azure Backup は、Linux VM のファイル システム整合性バックアップを作成しますが、事前スクリプトと事後スクリプト フレームワークを使用するアプリケーション整合性バックアップを作成するように構成することができます。By default, Azure Backup takes a file system consistent backup for Linux VM but it can be configured to take application consistent backup using pre-script and post-script framework. Azure Backup サービスがスナップショットを取ると、データはバックアップコンテナーに転送されます。Once the Azure Backup service takes the snapshot, the data is transferred to the vault. 効率を最大に高めるために、前回のバックアップ以降に変更されたデータ ブロックが特定され、そのデータのみが転送されます。To maximize efficiency, the service identifies and transfers only the blocks of data that have changed since the previous backup.

データ転送が完了すると、スナップショットが削除され、回復ポイントが作成されます。When the data transfer is complete, the snapshot is removed and a recovery point is created.

バックアップの作成Create a backup

Recovery Services コンテナーに対するバックアップを 1 日 1 回のスケジュールで作成します。Create a scheduled daily backup to a Recovery Services Vault:

  1. Azure portal にサインインするSign in to the Azure portal.

  2. 左側のメニューから [仮想マシン] を選択します。In the menu on the left, select Virtual machines.

  3. バックアップする VM を一覧から選択します。From the list, select a VM to back up.

  4. その VM のブレードの [設定] セクションで [バックアップ] をクリックします。On the VM blade, in the Settings section, click Backup. [バックアップの有効化] ブレードが開きます。The Enable backup blade opens.

  5. [Recovery Services コンテナー][新規作成] をクリックして、新しいコンテナーの名前を入力します。In Recovery Services vault, click Create new and provide the name for the new vault. 仮想マシンと同じリソース グループで、仮想マシンと同じ場所に新しいコンテナーが作成されます。A new vault is created in the same Resource Group and location as the virtual machine.

  6. [バックアップ ポリシー] をクリックします。Click Backup policy. この例では、既定値のまま [OK] をクリックします。For this example, keep the defaults and click OK.

  7. [バックアップの有効化] ブレードの [バックアップの有効化] をクリックします。On the Enable backup blade, click Enable Backup. これで、既定のスケジュールで毎日のバックアップが作成されます。This creates a daily backup based on the default schedule.

  8. 最初の復旧ポイントを作成するには、 [バックアップ] ブレードの [今すぐバックアップ] をクリックします。To create an initial recovery point, on the Backup blade click Backup now.

  9. [今すぐバックアップ] ブレードでカレンダー アイコンをクリックし、カレンダー コントロールを使ってこの復旧ポイントを保持する最終日を選び、 [バックアップ] をクリックします。On the Backup Now blade, click the calendar icon, use the calendar control to select the last day this recovery point is retained, and click Backup.

  10. 対象の VM の [バックアップ] ブレードに、作成されている復旧ポイントの数が表示されます。In the Backup blade for your VM, you see the number of recovery points that are complete.

    [回復ポイント]

初回バックアップには約 20 分かかります。The first backup takes about 20 minutes. バックアップが完了したら、このチュートリアルの次のパートに進んでください。Proceed to the next part of this tutorial after your backup is finished.

ファイルの復元Restore a file

ファイルを誤って削除または変更した場合は、ファイルの回復機能を使ってバックアップ コンテナーからファイルを復元することができます。If you accidentally delete or make changes to a file, you can use File Recovery to recover the file from your backup vault. ファイルの回復には、VM 上で動作するスクリプトが使用され、復旧ポイントがローカル ドライブとしてマウントされます。File Recovery uses a script that runs on the VM, to mount the recovery point as a local drive. これらのドライブは、12 時間マウントされた状態になります。その間に復旧ポイントからファイルをコピーし、VM に復元することができます。These drives remain mounted for 12 hours so that you can copy files from the recovery point and restore them to the VM.

この例は、nginx の既定の Web ページ (/var/www/html/index.nginx-debian.html) を復元する方法を示しています。In this example, we show how to recover the default nginx web page /var/www/html/index.nginx-debian.html. この例に使用している VM の パブリック IP アドレスは 13.69.75.209 です。The public IP address of our VM in this example is 13.69.75.209. VM の IP アドレスは次のようにして調べることができます。You can find the IP address of your vm using:

az vm show --resource-group myResourceGroup --name myVM -d --query [publicIps] --o tsv
  1. ローカル コンピューターでブラウザーを開き、VM のパブリック IP アドレスを入力して nginx の既定の Web ページを表示します。On your local computer, open a browser and type in the public IP address of your VM to see the default nginx web page.

    nginx の既定の Web ページ

  2. VM に SSH で接続します。SSH into your VM.

    ssh 13.69.75.209
    
  3. /var/www/html/index.nginx-debian.html を削除します。Delete /var/www/html/index.nginx-debian.html.

    sudo rm /var/www/html/index.nginx-debian.html
    
  4. ローカル コンピューターで、Ctrl キーを押しながら F5 キーを押してブラウザーを最新の情報に更新すると、nginx の既定のページが消えます。On your local computer, refresh the browser by hitting CTRL + F5 to see that default nginx page is gone.

    nginx の既定の Web ページ

  5. ローカル コンピューターから Azure Portal にサインインします。On your local computer, sign in to the Azure portal.

  6. 左側のメニューから [仮想マシン] を選択します。In the menu on the left, select Virtual machines.

  7. 一覧から VM を選択します。From the list, select the VM.

  8. その VM のブレードの [設定] セクションで [バックアップ] をクリックします。On the VM blade, in the Settings section, click Backup. [バックアップ] ブレードが開きます。The Backup blade opens.

  9. ブレード上部のメニューで [ファイルの回復] を選択します。In the menu at the top of the blade, select File Recovery. [ファイルの回復] ブレードが開きます。The File Recovery blade opens.

  10. [ステップ 1:回復ポイントを選択する] で、ドロップダウンから復旧ポイントを選択します。In Step 1: Select recovery point, select a recovery point from the drop-down.

  11. [ステップ 2:ファイルを参照および回復するためのスクリプトをダウンロードする][実行可能ファイルのダウンロード] をクリックします。In Step 2: Download script to browse and recover files, click the Download Executable button. ダウンロードしたファイルをローカル コンピューターに保存します。Save the downloaded file to your local computer.

  12. [スクリプトのダウンロード] をクリックして、スクリプト ファイルをローカルにダウンロードします。Click Download script to download the script file locally.

  13. Bash プロンプトを開いて以下のように入力します。Linux_myVM_05-05-2017.sh は実際にダウンロードしたスクリプトのパスとファイル名に、azureuser は VM のユーザー名に、13.69.75.209 は VM のパブリック IP アドレスに置き換えてください。Open a Bash prompt and type the following, replacing Linux_myVM_05-05-2017.sh with the correct path and filename for the script that you downloaded, azureuser with the username for the VM and 13.69.75.209 with the public IP address for your VM.

    scp Linux_myVM_05-05-2017.sh azureuser@13.69.75.209:
    
  14. ローカル コンピューターから VM への SSH 接続を開きます。On your local computer, open an SSH connection to the VM.

    ssh 13.69.75.209
    
  15. VM で、スクリプト ファイルに実行権限を追加します。On your VM, add execute permissions to the script file.

    chmod +x Linux_myVM_05-05-2017.sh
    
  16. 復旧ポイントをファイル システムとしてマウントするスクリプトを VM で実行します。On your VM, run the script to mount the recovery point as a filesystem.

    ./Linux_myVM_05-05-2017.sh
    
  17. スクリプトからの出力によって、マウント ポイントのパスが得られます。The output from the script gives you the path for the mount point. 出力の例を次に示します。The output looks similar to this:

    Microsoft Azure VM Backup - File Recovery
    ______________________________________________
    
    Connecting to recovery point using ISCSI service...
    
    Connection succeeded!
    
    Please wait while we attach volumes of the recovery point to this machine...
    
    ************ Volumes of the recovery point and their mount paths on this machine ************
    
    Sr.No.  |  Disk  |  Volume  |  MountPath 
    
    1)  | /dev/sdc  |  /dev/sdc1  |  /home/azureuser/myVM-20170505191055/Volume1
    
    ************ Open File Explorer to browse for files. ************
    
    After recovery, to remove the disks and close the connection to the recovery point, please click 'Unmount Disks' in step 3 of the portal.
    
    Please enter 'q/Q' to exit...
    
  18. VM 上の先ほどファイルを削除した場所に、マウント ポイントから nginx の既定の Web ページをコピーします。On your VM, copy the nginx default web page from the mount point back to where you deleted the file.

    sudo cp ~/myVM-20170505191055/Volume1/var/www/html/index.nginx-debian.html /var/www/html/
    
  19. ローカル コンピューターで、先ほど VM の IP アドレスに接続して nginx の既定のページを表示したブラウザー タブを開きます。On your local computer, open the browser tab where you are connected to the IP address of the VM showing the nginx default page. Ctrl キーを押しながら F5 キーを押して、ブラウザー ページを最新の情報に更新します。Press CTRL + F5 to refresh the browser page. 今度は、既定のページが再び正常に表示されます。You should now see that the default page is working again.

    nginx の既定の Web ページ

  20. ローカル コンピューターで Azure portal のブラウザー タブに戻り、 [ステップ 3:回復後にディスクのマウントを解除する][ディスクのマウント解除] をクリックします。On your local computer, go back to the browser tab for the Azure portal and in Step 3: Unmount the disks after recovery click the Unmount Disks button. この手順を実行するのを忘れた場合、12 時間後にマウント ポイントへの接続が自動的に解除されます。If you forget to do this step, the connection to the mountpoint is automatically closed after 12 hours. 12 時間が経過した後、新しいマウント ポイントを作成するには、新しいスクリプトをダウンロードする必要があります。After those 12 hours, you need to download a new script to create a new mountpoint.

次のステップNext steps

このチュートリアルでは、以下の内容を学習しました。In this tutorial, you learned how to:

  • VM のバックアップを作成するCreate a backup of a VM
  • 毎日のバックアップをスケジュールするSchedule a daily backup
  • バックアップからファイルを復元するRestore a file from a backup

次のチュートリアルに進み、仮想マシンの監視について学習してください。Advance to the next tutorial to learn about monitoring virtual machines.