Azure 仮想マシン スケール セット VM の名前とインスタンス ID を理解する

スケール セットの各 VM には、それを一意に識別する名前とインスタンス ID が割り当てられます。 これらは、スケール セット内の特定の VM に対する操作を実行するために、スケール セット API で使用されます。 この記事では、スケール セットのインスタンス ID と、さまざまな使用方法について説明します。

スケール セット VM の名前

Virtual Machine Scale Sets では、スケール セット内の各 VM に対して一意の名前が生成されます。 名前付け規則は、オーケストレーション モードによって異なります。

  • フレキシブル オーケストレーション モード: {scale-set-name}_{8-char-guid}
  • 均一オーケストレーション モード: {scale-set-name}_{instance-id}

フレキシブル オーケストレーション モードのスケール セット インスタンス ID

フレキシブル オーケストレーション モードの Virtual Machine Scale Sets の場合、インスタンス ID は単に仮想マシンの名前です。

均一オーケストレーション モードのスケール セット インスタンス ID

均一オーケストレーション モードのスケール セットの場合、インスタンス ID は 10 進数です。 インスタンス ID は、古いインスタンスが削除されると、新しいインスタンス用に再利用されることがあります。

Note

インスタンス ID がスケール セット内の VM にどのように割り当てられるかは一定ではありません。 番号が順次増分しているように見える場合もありますが、常にそうとは限りません。 インスタンス ID が VM に特定の方法で割り当てられると推測しないでください。

インスタンス ID の一覧を取得するには、スケール セット内のすべてのインスタンスを一覧表示します。

REST API

詳細については、REST API のドキュメントをご覧ください。

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines?api-version={apiVersion} 

再イメージ化 API を使用する場合は、再イメージ化する特定のインスタンス ID を指定することもできます。 詳細については、REST API のドキュメントをご覧ください

POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage?api-version={apiVersion}

PowerShell

詳細については、PowerShell のドキュメントをご覧ください。

Get-AzVmssVM -ResourceGroupName {resourceGroupName} -VMScaleSetName {vmScaleSetName}

再イメージ化 API を使用する場合は、再イメージ化する特定のインスタンス ID を指定することもできます。 詳細については、PowerShell のドキュメントをご覧ください

Set-AzVmssVM -ResourceGroupName {resourceGroupName} -VMScaleSetName {vmScaleSetName} -InstanceId {instanceId} -Reimage

CLI

詳しくは、CLI のドキュメントをご覧ください。

az vmss list-instances -g {resourceGroupName} -n {vmScaleSetName}

再イメージ化 API を使用する場合は、再イメージ化する特定のインスタンス ID を指定することもできます。 詳しくは、CLI のドキュメントをご覧ください。

az vmss reimage -g {resourceGroupName} -n {vmScaleSetName} --instance-id {instanceId}

Instance Metadata VM の名前

スケール セット VM 内からインスタンス メタデータを問い合わせると、出力に "name" が含まれます。

{
  "compute": {
    "location": "westus",
    "name": "nsgvmss_85",

スケール セット VM のコンピューター名

スケール セット内の各 VM にもコンピューター名が割り当てられます。 このコンピューター名は、仮想ネットワーク内の Azure によって提供された DNS 名前解決による VM のホスト名です。 コンピューター名の名前付け規則は、オーケストレーション モードによって異なります。

  • フレキシブル オーケストレーション モード: {computer-name-prefix}{6-char-guid}
  • 均一オーケストレーション モード: {computer-name-prefix}{base-36-instance-id}

コンピューター名のプレフィックスは、スケール セット モデルのプロパティで、スケール セット名自体と異なるよう設定できます。 スケール セット VM のコンピューター名は、VM の作成後にゲスト OS 内から変更することもできます。