従来の Linux 仮想マシンをイメージとしてキャプチャする方法

重要

クラシック VM は 2023 年 3 月 1 日に廃止される予定です。

ASM の IaaS リソースを使用する場合は、すぐに移行の計画を開始し、2023 年 3 月 1 日までに完了してください。ASM の IaaS リソースを使用する場合は、すぐに移行の計画を開始し、2023 年 3 月 1 日までに完了してください。 Azure Resource Manager の多数の機能強化を活用するために、早急に切り替えを行うことをお勧めします。

詳細については、「2023 年 3 月 1 日までに IaaS リソースを Azure Resource Manager に移行する」を参照してください。

注意

Azure には、リソースの作成と操作に関して、2 種類のデプロイ モデルがあります。Resource Manager とクラシックです。 この記事では、クラシック デプロイ モデルの使用方法について説明します。 最新のデプロイメントでは、リソース マネージャー モデルを使用することをお勧めします。 Resource Manager モデルを使用してこれらの手順を実行する方法について説明します。

2017 年 11 月 15 日から、仮想マシンは Azure portal でのみ使用できます。

ここでは、Linux を実行する従来の Azure 仮想マシン (VM) をキャプチャして、他の仮想マシンを作成する際にイメージとして使用する方法を示します。 このイメージには、VM に接続された OS ディスクやデータ ディスクが含まれます。 ネットワーク構成は含まれないため、イメージから他の VM を作成するときは、ネットワーク構成を行う必要があります。

Azure では、イメージは [イメージ] に格納されます。アップロードしたすべてのイメージがこの場所に格納されます。 イメージの詳細については、「Azure の仮想マシン イメージについて」を参照してください。

開始する前に

これらの手順は、既にクラシック デプロイ モデルを使用して Azure VM を作成し、データ ディスクの接続を含め、オペレーティング システムの構成が完了していることを前提としています。 VM を作成する必要がある場合は、Linux 仮想マシンを作成する方法に関する記事をお読みください。

仮想マシンをキャプチャする

  1. 任意の SSH クライアントを使用して、VM に接続します。

  2. SSH のウィンドウで、次のコマンドを入力します。 waagent からの出力は、このユーティリティのバージョンによって若干異なる場合があります。

    sudo waagent -deprovision+user
    

    前のコマンドは、システムをクリーンアップし、再プロビジョニングに適した状態にします。 この操作では次のタスクが実行されます。

    • すべての SSH ホスト キーの削除 (構成ファイルで Provisioning.RegenerateSshHostKeyPair が 'y' の場合)

    • /etc/resolv.conf 内のネームサーバー構成の消去

    • /etc/shadow の root ユーザーのパスワードの削除 (構成ファイルで Provisioning.DeleteRootPassword が "y" の場合)

    • キャッシュされた DHCP クライアントのリースの削除

    • ホスト名を localhost.localdomain にリセット

    • (/var/lib/waagent から取得した) 前回プロビジョニングされたユーザー アカウント および関連データの削除

      注意

      プロビジョニング解除では、イメージを "汎用化" するためにファイルとデータが削除されます。 このコマンドは、必ず新しいイメージ テンプレートとしてキャプチャする VM 上で実行してください。 プロビジョニング解除により、イメージからすべての機密情報が削除されることや、イメージが第三者への再配布に適した状態になることが保証されるわけではありません。

  3. y 」と入力して続行します。 -force パラメーターを追加すると、この確認手順を省略できます。

  4. Exit 」と入力して、SSH クライアントを閉じます。

    注意

    残りの手順は、クライアント コンピューターに既に Azure CLI がインストールされている ことを前提としています。 次の手順はすべて、Azure Portal でも実行できます。

  5. クライアント コンピューターから Azure CLI を開き、Azure サブスクリプションにログインします。 詳細については、「 Connect to an Azure subscription from the Azure CLI (Azure CLI から Azure サブスクリプションへの接続)」を参照してください。

    注意

    Azure Portal で、ポータルにログインします。

  6. サービス管理モードであることを確認します。

    azure config mode asm
    
  7. 既にプロビジョニングが解除された VM をシャットダウンします。 次の例では、myVM という名前の VM をシャットダウンします。

    azure vm shutdown myVM
    

    必要に応じて、azure vm list を使用してサブスクリプションで作成されたすべての VM の一覧を表示できます。

    注意

    Azure Portal を使用している場合は、VM を選択し、[停止] をクリックしてその VM をシャットダウンします。

  8. VM が停止しているときにイメージをキャプチャします。 次の例では、myVM という名前の VM をキャプチャし、myNewVM という名前の一般化されたイメージを作成します。

    azure vm capture -t myVM myNewVM
    

    -t サブコマンドによって、元の仮想マシンが削除されます。

    注意

    Azure Portal で、ハブ メニューから [イメージ] を選択してイメージをキャプチャできます。 イメージについて、名前、リソース グループ、位置情報、オペレーティング システムの種類、およびストレージ BLOB パスを指定する必要があります。

  9. 新しいイメージが、新しい VM の構成に使用できるイメージの一覧に表示されるようになりました。 次のコマンドを実行すると、新しいイメージを表示できます。

    azure vm image list
    

    Azure Portal で、[コンピューティング] サービスに属する [VM イメージ (クラシック)] に新しいイメージが表示されます。 [VM イメージ (クラシック)] にアクセスするには、Azure サービス一覧の上部にある [すべてのサービス] をクリックし、[Compute] サービスを参照します。

    Image capture successful

次の手順

イメージを使用して VM を作成する準備ができました。 Azure CLI コマンド azure vm create を使用し、作成したイメージの名前を指定することができます。 詳細については、クラシック デプロイ モデルでの Azure CLI の使用に関する記事をご覧ください。

また、Azure Portal を使用して、[イメージ] メソッドを使用し、作成したイメージを選択することで、カスタム VM を作成することもできます。 詳細については、カスタム VM を作成する方法に関する記事をご覧ください。

関連項目:Azure Linux エージェント ユーザー ガイド