OpenBSD ディスクイメージの作成と Azure へのアップロード
適用対象: ✔️ Linux VM ✔️ フレキシブルなスケール セット
この記事では、OpenBSD オペレーティング システムを格納した仮想ハード ディスク (VHD) を作成してアップロードする方法について説明します。 アップロードした VHD を独自のイメージとして使用し、Azure CLI で Azure の仮想マシン (VM) を作成することができます。
前提条件
この記事では、次の項目があることを前提としています。
- Azure サブスクリプション- アカウントをお持ちでない場合でも、数分でアカウントを作成できます。 MSDN サブスクリプションをお持ちの場合は、「Visual Studio サブスクライバー向けの月単位の Azure クレジット」をご覧ください。 それ以外の場合は、 無料試用版のアカウントの作成方法に関するページをご覧ください。
- Azure CLI - Azure CLI の最新版がインストールされ、az login を使用して Azure アカウントにログインしていることを確認します。
- .vhd ファイルにインストールされている OpenBSD オペレーティング システム - サポートされている OpenBSD オペレーティング システム (6.6 バージョン AMD64) を仮想ハード ディスクにインストールしておきます。 .vhd ファイルを作成するツールはいくつかあります。 たとえば Hyper-V などの仮想化ソリューションを使用して .vhd ファイルを作成し、オペレーティング システムをインストールすることができます。 Hyper-V をインストールして使用する手順については、「 Hyper-V をインストールして仮想マシンを作成する」を参照してください。
Azure の OpenBSD イメージを準備する
Hyper-V のサポートが追加された OpenBSD オペレーティング システム 6.1 をインストールしたVMで、次の手順を実施します。
インストール中に DHCP が有効でない場合は、次のようにサービスを有効にします。
doas echo dhcp > /etc/hostname.hvn0
シリアル コンソールを次のようにセットアップします。
doas echo "stty com0 115200" >> /etc/boot.conf doas echo "set tty com0" >> /etc/boot.conf
パッケージのインストールを次のように構成します。
doas echo "https://ftp.openbsd.org/pub/OpenBSD" > /etc/installurl
既定では、
root
ユーザーは Azure 上の仮想マシンで無効になっています。 ユーザーはOpenBSD VM でdoas
コマンドを使用して、昇格された特権でコマンドを実行できます。 doas は、既定では有効になっています。次のように Azure エージェントの前提条件をインストールし、構成します。
doas pkg_add py-setuptools openssl git doas ln -sf /usr/local/bin/python2.7 /usr/local/bin/python doas ln -sf /usr/local/bin/python2.7-2to3 /usr/local/bin/2to3 doas ln -sf /usr/local/bin/python2.7-config /usr/local/bin/python-config doas ln -sf /usr/local/bin/pydoc2.7 /usr/local/bin/pydoc
Azure エージェントの最新版は常に GitHub にあります。 次のように、エージェントをインストールします。
doas git clone https://github.com/Azure/WALinuxAgent doas cd WALinuxAgent doas python setup.py install doas waagent -register-service
重要
Azure エージェントをインストール後、次のように実行されていることを確認するようお勧めします。
doas ps auxw | grep waagent root 79309 0.0 1.5 9184 15356 p1 S 4:11PM 0:00.46 python /usr/local/sbin/waagent -daemon (python2.7) doas cat /var/log/waagent.log
システムのプロビジョニングを解除してクリーンアップし、プロビジョニング解除に適した状態にします。 以下のコマンドは前回プロビジョニングされたユーザー アカウントおよび関連付けられたデータも削除します。
doas waagent -deprovision+user -force
注意
特定の仮想マシンを移行する際に、一般化されたイメージを作成しない場合は、プロビジョニング解除手順はスキップしてください。
これで VM をシャットダウンできます。
VHD の準備
VHDX 形式は Azure ではサポートされていません。サポートされるのは 固定 VHD のみです。 Hyper-V マネージャーまたは PowerShell の convert-vhd コマンドレットを使用して、ディスクを固定 VHD 形式に変換できます。 次が例となります。
Convert-VHD OpenBSD61.vhdx OpenBSD61.vhd -VHDType Fixed
ストレージ リソースの作成とアップロード
最初に、az group create を使用して、リソース グループを作成します。 次の例では、myResourceGroup という名前のリソース グループを eastus に作成します。
az group create --name myResourceGroup --location eastus
VHS をアップロードするには、ストレージ アカウントを、az storage account create を使用して作成します。 ストレージ アカウント名は一意である必要があるため、独自の名前を入力してください。 次の例では、mystorageaccount という名前のストレージ アカウントを作成します。
az storage account create --resource-group myResourceGroup \
--name mystorageaccount \
--location eastus \
--sku Premium_LRS
ストレージ アカウントへのアクセスを制御するには、次のように az storage account keys list を使用してストレージ キーを取得します。
STORAGE_KEY=$(az storage account keys list \
--resource-group myResourceGroup \
--account-name mystorageaccount \
--query "[?keyName=='key1'] | [0].value" -o tsv)
アップロードする VHD を論理的に分離するには、az storage container create を使用してストレージ アカウント内のコンテナーを作成します。
az storage container create \
--name vhds \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
最後に、次のように az storage blob upload を使用して VHD をアップロードします。
az storage blob upload \
--container-name vhds \
--file ./OpenBSD61.vhd \
--name OpenBSD61.vhd \
--account-name mystorageaccount \
--account-key ${STORAGE_KEY}
VHD から VM を作成
サンプル スクリプトを使用して、または直接 az vm create を使用して、VM を作成できます。 アップロードした OpenBSD VHD を指定するには、次のように --image
パラメーターを使用します。
az vm create \
--resource-group myResourceGroup \
--name myOpenBSD61 \
--image "https://mystorageaccount.blob.core.windows.net/vhds/OpenBSD61.vhd" \
--os-type linux \
--admin-username azureuser \
--ssh-key-value ~/.ssh/id_rsa.pub
次のように az vm list-ip-addresses を使用して OpenBSD VM の IP アドレスを取得します。
az vm list-ip-addresses --resource-group myResourceGroup --name myOpenBSD61
これで正常に OpenBSD VM に SSH できます。
ssh azureuser@<ip address>
次のステップ
OpenBSD 6.1 での Hyper-V サポートの詳細を知りたい場合は、「OpenBSD 6.1」を参照してください。
マネージド ディスクから VM を作成する場合は、az disk をお読みください。