Azure 仮想マシン スケール セット VM の名前とインスタンス ID を理解する
スケール セットの各 VM には、それを一意に識別する名前とインスタンス ID が割り当てられます。 これらは、スケール セット内の特定の VM に対する操作を実行するために、スケール セット API で使用されます。 この記事では、スケール セットのインスタンス ID と、さまざまな使用方法について説明します。
スケール セット VM の名前
Virtual Machine Scale Sets では、スケール セット内の各 VM に対して一意の名前が生成されます。 この名前は、Azure ARM リソースの一意のリソース識別子の一部として使用されます。 インスタンス リソース名の最大長は 64 文字です。 名前付け規則は、オーケストレーション モードによって異なります。
- フレキシブル オーケストレーション モードのインスタンス名:
{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 内から変更することもできます。 コンピューター名の最大長はオペレーティング システムによって異なります。 詳細については、「名前付け規則と制約事項」を参照してください。