Azure の FreeBSD の概要
適用対象: ✔️ Linux VM ✔️ フレキシブルなスケール セット
この記事では、Azure での FreeBSD 仮想マシンの実行の概要を説明します。
概要
Microsoft Azure の FreeBSD は、最新のサーバー、デスクトップ、組み込みプラットフォームを強化するために使用される先進のコンピューター オペレーティング システムです。
Microsoft Corporation では、Azure で利用可能な、Azure VM Guest Agent を事前構成した FreeBSD を用意しています。 現時点では、次のバージョンの FreeBSD がイメージとしてマイクロソフトから提供されています。
- Azure Marketplace の FreeBSD 10.4
- Azure Marketplace の FreeBSD 11.2
- Azure Marketplace の FreeBSD 11.3
- Azure Marketplace の FreeBSD 12.0
次の FreeBSD バージョンには、AZURE VM ゲスト エージェントも含まれていますが、FreeBSD Foundation によってイメージとして提供されます。
- Azure Marketplace の FreeBSD 11.4
- Azure Marketplace の FreeBSD 12.2
- Azure Marketplace の FreeBSD 13.0
エージェントは、初回使用時の VM のプロビジョニング (ユーザー名、パスワード、SSH キー、ホスト名など) や、選択的な VM 拡張機能の有効化などの操作で、FreeBSD VM と Azure ファブリック間の通信を担います。
FreeBSD の今後のバージョンについては、最新の機能に対応し、FreeBSD リリース エンジニアリング チームが最新版を公開したらすぐに提供することを目指しています。
FreeBSD で Azure CLI を使用して FreeBSD VM を作成する
まず、FreeBSD コンピューターで次のコマンドを実行して、Azure CLI をインストールする必要があります。
curl -L https://aka.ms/InstallAzureCli | bash
Bash が FreeBSD コンピューターにインストールされていない場合は、インストールの前に次のコマンドを実行します。
sudo pkg install bash
Python が FreeBSD コンピューターにインストールされていない場合は、インストールの前に次のコマンドを実行します。
sudo pkg install python38
cd /usr/local/bin
sudo rm /usr/local/bin/python
sudo ln -s /usr/local/bin/python3.8 /usr/local/bin/python
インストール中に、Modify profile to update your $PATH and enable shell/tab completion now? (Y/n)
が表示されます。 y
と回答し、a path to an rc file to update
として /etc/rc.conf
を入力した場合、ERROR: [Errno 13] Permission denied
が発生することがあります。 この問題を解決するには、etc/rc.conf
ファイルに対する書き込み権限を現在のユーザーに与える必要があります。
これで、Azure にサインインし、FreeBSD VM を作成できます。 FreeBSD 11.0 VM を作成する例を以下に示します。 --public-ip-address-dns-name
パラメーターを追加して、新しく作成されるパブリック IP に対するグローバルに一意な DNS 名を指定することもできます。
az login
az group create --name myResourceGroup --location eastus
az vm create --name myFreeBSD11 \
--resource-group myResourceGroup \
--image MicrosoftOSTC:FreeBSD:11.0:latest \
--admin-username azureuser \
--generate-ssh-keys
その後、上のデプロイで出力された IP アドレスを使用して、FreeBSD VM にサインインできます。
ssh azureuser@xx.xx.xx.xx -i /etc/ssh/ssh_host_rsa_key
FreeBSD の VM 拡張機能
FreeBSD でサポートされている VM 拡張機能を以下に示します。
VMAccess
VMAccess 拡張機能では次のことが可能です。
- 元の sudo ユーザーのパスワードをリセットする。
- パスワードを指定して新しい sudo ユーザーを作成する。
- 指定したキーで公開ホスト キーを設定する。
- ホスト キーが指定されていない場合、VM のプロビジョニング時に指定された公開ホスト キーをリセットする。
- reset_ssh が true に設定されている場合に、SSH ポート (22) を開き、sshd_config を復元する。
- 既存のユーザーを削除する。
- ディスクをチェックする。
- 追加されたディスクを修復する。
CustomScript
CustomScript 拡張機能では次のことが可能です。
- 指定した場合、Azure Storage または外部パブリック ストレージ (GitHub など) からカスタマイズされたスクリプトをダウンロードする。
- エントリ ポイント スクリプトを実行する。
- インライン コマンドをサポートする。
- シェル スクリプトと Python スクリプトで Windows 形式の改行を自動的に変換する。
- シェル スクリプトと Python スクリプトで BOM を自動的に削除する。
- CommandToExecute で機密データを保護する。
注意
FreeBSD VM は、現在のところ CustomScript バージョン 1.x のみをサポートしています。
認証: ユーザー名、パスワード、SSH キー
Azure Portal を使用して FreeBSD 仮想マシンを作成するときに、ユーザー名、パスワード、または SSH 公開キーを入力する必要があります。
Azure に FreeBSD 仮想マシンをデプロイするためのユーザー名は、仮想マシン ("root" など) に既に存在するシステム アカウント (UID は 100 未満) の名前とは同じにしないでください。
現在サポートされているのは、RSA SSH キーだけです。 複数行の SSH キーは、---- BEGIN SSH2 PUBLIC KEY ----
で始まり、---- END SSH2 PUBLIC KEY ----
で終わる必要があります。
スーパーユーザー権限の取得
Azure での仮想マシン インスタンスをデプロイする際に指定したユーザー アカウントは、特権を持つアカウントです。 公開済みの FreeBSD イメージには、sudo のパッケージがインストールされています。 このユーザー アカウントを使用してログインすると、コマンド構文を使用して、root としてコマンドを実行できます。
$ sudo <COMMAND>
sudo -s
を使用して root シェルを取得することもできます。
既知の問題
Azure VM Guest Agent バージョン 2.2.2 については、Azure 上の FreeBSD VM に対してプロビジョニング エラーが発生するという既知の問題が確認されています。 修正プログラムは、Azure VM Guest Agent バージョン 2.2.3 以降のリリースによってキャプチャされました。
次のステップ
- Azure Marketplace に移動して、FreeBSD VM を作成します。