cloud-init を使用して Azure の Linux VM のホスト名を設定する
適用対象: ✔️ Linux VM ✔️ フレキシブルなスケール セット
この記事では、Azure でのプロビジョニング時に cloud-init を使用して、仮想マシン (VM) または仮想マシン スケール セット (VMSS) で特定のホスト名を構成する方法を示します。 これらの cloud-init スクリプトは、Azure によってリソースがプロビジョニングされた後の最初の起動時に実行されます。 cloud-init が Azure およびサポートされている Linux ディストリビューションでネイティブに動作する方法の詳細については、cloud-init の概要に関するページをご覧ください
cloud-init でホスト名を設定する
既定では、Azure で新しい仮想マシンを作成するときに、ホスト名は VM 名と同じです。 Azure で az vm create を使用して VM を作成するときに cloud-init スクリプトを実行してこの既定のホスト名を変更するには、--custom-data
スイッチで cloud-init ファイルを指定します。
実行中のアップグレード プロセスを表示するには、現在のシェルで cloud_init_hostname.txt というファイルを作成し、次の構成を貼り付けます。 この例では、ローカル コンピューター上にない Cloud Shell でファイルを作成します。 任意のエディターを使用することができます。 cloud-init ファイル全体 (特に最初の行) が正しくコピーされたことを確認してください。
#cloud-config
fqdn: myhostname
このイメージをデプロイする前に、az group create コマンドを使用してリソース グループを作成する必要があります。 Azure リソース グループとは、Azure リソースのデプロイと管理に使用する論理コンテナーです。 次の例では、myResourceGroup という名前のリソース グループを eastus に作成します。
az group create --name myResourceGroup --location eastus
ここで、az vm create で VM を作成し、次のように --custom-data cloud_init_hostname.txt
で cloud-init ファイルを指定します。
az vm create \
--resource-group myResourceGroup \
--name vmName \
--image imageCIURN \
--custom-data cloud_init_hostname.txt \
--generate-ssh-keys
注意
myResourceGroup、vmName、imageCIURN の値を適宜置き換えます。 Cloud-init を含むイメージが選択されていることを確認します。
作成されると、Azure CLI は VM に関する情報を表示します。 publicIpAddress
を使用して VM に SSH 接続します。 実際のアドレスを次のように入力します。
ssh <user>@<publicIpAddress>
VM 名を表示するには、hostname
コマンドを次のように使用します。
sudo hostname
VM は、次の出力の例で示すように、cloud-init ファイルで設定された値としてホスト名をレポートします。
myhostname
次のステップ
構成変更の cloud-init の他の例については、以下をご覧ください。