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 にインストールされている必要があります。 .vhd ファイルを作成するツールはいくつかあります。 たとえば Hyper-V などの仮想化ソリューションを使用して .vhd ファイルを作成し、オペレーティング システムをインストールすることができます。 Hyper-V をインストールして使用する手順については、Hyper-V のインストールと VM の作成に関するページを参照してください。
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 上の VM で無効になっています。 ユーザーは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
Note
特定の VM を移行する際に、汎用化イメージを作成しない場合は、プロビジョニング解除手順をスキップします。
これで 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」を参照してください。