Azure の FreeBSD の概要
適用対象: ✔️ Linux VM ✔️ フレキシブルなスケール セット
この記事では、Azure での FreeBSD 仮想マシン (VM) の実行の概要を説明します。
概要
Azure の FreeBSD は、最新のサーバー、デスクトップ、組み込みプラットフォームを強化するために使用される先進のコンピューター オペレーティング システムです。
Microsoft では、事前構成された Azure VM ゲスト エージェントを提供し、Azure で 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
と答えて /etc/rc.conf
に a path to an rc file to update
と入力すると、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 のプロビジョニング時に指定された公開ホスト キーをリセットする。
- SSH ポート (22) を開き、
reset_ssh
がtrue
に設定されている場合は、sshd_config
を復元します。 - 既存のユーザーを削除する。
- ディスクをチェックする。
- 追加されたディスクを修復する。
CustomScript
CustomScript 拡張機能では次のことが可能です。
- 指定した場合、Azure Storage または外部パブリック ストレージ (GitHub など) からカスタマイズされたスクリプトをダウンロードする。
- エントリ ポイント スクリプトを実行する。
- インライン コマンドをサポートする。
- シェル スクリプトと Python スクリプトで Windows 形式の改行を自動的に変換する。
- シェル スクリプトと Python スクリプトで BOM を自動的に削除する。
CommandToExecute
の機密データを保護します。
Note
FreeBSD VM は、現在のところ CustomScript バージョン 1.x のみをサポートしています。
認証: ユーザー名、パスワード、SSH キー
Azure portal を使用して FreeBSD 仮想マシンを作成するときに、ユーザー名、パスワード、または SSH 公開キーを入力する必要があります。
Azure に FreeBSD VM をデプロイするためのユーザー名に、VM に既に存在するシステム アカウント (UID <100) の名前 ("root" など) と一致するものは使用できません。
現在サポートされているのは、RSA SSH キーだけです。 複数行の SSH キーは、---- BEGIN SSH2 PUBLIC KEY ----
で始まり、---- END SSH2 PUBLIC KEY ----
で終わる必要があります。
スーパーユーザー特権を取得する
Azure での VM インスタンスのデプロイ時に指定されたユーザー アカウントは、特権アカウントです。 公開済みの 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 を作成します。