Azure CLI を使用してカスタム ディスクから Linux VM を作成する
適用対象: ✔️ Linux VM
この記事では、Azure でカスタマイズされた仮想ハード ディスク (VHD) をアップロードする方法、および既存の VHD をコピーする方法について説明します。 その後、新しく作成された VHD を使用して新しい Linux 仮想マシン (VM) を作成します。 Linux ディストリビューションを要件に応じてインストールして構成した後、その VHD を使用して新しい Azure 仮想マシンを作成できます。
カスタマイズされたディスクから複数の VM を作成するには、まず VM または VHD からイメージを作成します。 詳細については、「CLI を使用した Azure VM のカスタム イメージの作成」を参照してください。
カスタム ディスクを作成するには、次の 2 つのオプションがあります。
- VHD のアップロード
- 既存の Azure VM をコピーする
必要条件
次の手順を完了するには、次のものが必要です。
- Azure で使用するために準備された Linux 仮想マシン。 この記事の「VM を準備する」のセクションでは、SSH で VM に接続するために必要な Azure Linux エージェント (waagent) のインストールに関するディストリビューション固有の情報を見つける方法について説明します。
- 既存の Azure で動作保証済みの Linux ディストリビューション (または「動作保証外のディストリビューションに関する情報」をご覧ください) から入手し VHD 形式の仮想ディスクにした VHD ファイル。 VM と VHD を作成するツールはいくつかあります。
- QEMU または KVM をインストールして構成します。その際、イメージ形式として VHD を使用します。 必要に応じて、
qemu-img convert
を使用してイメージを変換できます。 - Windows 10 上または Windows Server 2012/2012 R2 上の Hyper-V を使用することもできます。
- QEMU または KVM をインストールして構成します。その際、イメージ形式として VHD を使用します。 必要に応じて、
注意
新しい VHDX 形式は、Azure ではサポートされていません。 VM を作成するときに、形式として VHD を指定します。 必要に応じて、qemu-img convert または Convert-VHD PowerShell コマンドレットを使用して VHDX ディスクを VHD に変換できます。 Azure は動的 VHD のアップロードをサポートしていないため、このようなディスクは、アップロードの前に静的 VHD に変換する必要があります。 Azure VHD Utilities for GO (GO 用の Azure VHD Utilities) などのツールを使用すると、ダイナミック ディスクを Azure へのアップロード中に変換できます。
以下の例では、パラメーター名を myResourceGroup
、mystorageaccount
、mydisks
などの独自の値に置き換えてください。
VM を準備する
Azure は、さまざまな Linux ディストリビューションをサポートしています (「 Azure での動作保証済み Linux ディストリビューション」を参照してください)。 次の記事では、Azure でサポートされているさまざまな Linux ディストリビューションを準備する方法について説明しています。
- CentOS ベースのディストリビューション
- Debian Linux
- Oracle Linux
- Red Hat Enterprise Linux
- SLES & openSUSE
- Ubuntu
- その他:動作保証外のディストリビューション
Azure で Linux イメージを準備する際のその他の一般的なヒントについては、Linux のインストールに関する注記に関するページをご覧ください。
Note
Azure プラットフォームの SLA は、いずれかの動作保証済みディストリビューションが、「Azure での動作保証済み Linux ディストリビューション」の "サポートされているバージョン" で指定されている構成の詳細で使用されている場合にのみ、Linux を実行している VM に適用されます。
オプション 1: VHD のアップロード
VHD をマネージド ディスクに直接アップロードできるようになりました。 手順については、「Azure CLI を使用して Azure に VHD をアップロードする」を参照してください。
オプション 2:既存の VM をコピーする
Azure でカスタマイズされた VM を作成してから OS ディスクをコピーし、それを新しい VM にアタッチして別のコピーを作成することもできます。 これはテストとしては有効ですが、複数の新しい VM のモデルとして既存の Azure VM を使用する場合は、代わりにイメージを作成します。 既存の Azure VM からのイメージの作成の詳細については、「CLI を使用した Azure VM のカスタム イメージの作成」を参照してください。
既存の VM を別のリージョンにコピーする場合は、azcopy を使用して、ディスクのコピーを別のリージョンに作成することができます。
それ以外の場合は、VM のスナップショットを取得し、スナップショットから新しい OS VHD を作成する必要があります。
スナップショットの作成
この例では、リソース グループ myResourceGroup に myVM という VM のスナップショットを作成し、osDiskSnapshot というスナップショットを作成します。
osDiskId=$(az vm show -g myResourceGroup -n myVM --query "storageProfile.osDisk.managedDisk.id" -o tsv)
az snapshot create \
-g myResourceGroup \
--source "$osDiskId" \
--name osDiskSnapshot
マネージド ディスクを作成する
スナップショットから新しいマネージド ディスクを作成します。
スナップショットの ID を取得します。 この例では、スナップショットの名前は osDiskSnapshot であり、myResourceGroup リソース グループに含まれています。
snapshotId=$(az snapshot show --name osDiskSnapshot --resource-group myResourceGroup --query [id] -o tsv)
マネージド ディスクを作成します。 この例では、スナップショットから、標準ストレージでサイズが 128 GB の myManagedDisk という名前のマネージド ディスクを作成します。
az disk create \
--resource-group myResourceGroup \
--name myManagedDisk \
--sku Standard_LRS \
--size-gb 128 \
--source $snapshotId
VM の作成
az vm create を使用して VM を作成し、マネージド ディスクを OS ディスクとしてアタッチ (--attach-os-disk) します。 次の例では、アップロードされた VHD から作成したマネージド ディスクを使用して myNewVM という名前の VM を作成します。
az vm create \
--resource-group myResourceGroup \
--location eastus \
--name myNewVM \
--os-type linux \
--attach-os-disk myManagedDisk
ソース VM の資格情報を使用して、SSH でその VM に接続できる必要があります。
次のステップ
カスタム仮想ディスクを準備してアップロードしたら、 Resource Manager とテンプレートの使用について学習しましょう。 必要であれば、新しい VM に データ ディスクを追加 することもできます。 VM 上で実行するアプリケーションがあり、これにアクセスする必要がある場合は、必ず ポートとエンドポイントを開放してください。