この記事では、VM サイズの変更や割り当て戦略など、スケール セットのインスタンス ミックス設定を更新する方法について説明します。
既存のスケール セット上のインスタンス ミックス設定を更新する
インスタンス ミックス設定は、CLI、PowerShell、REST API を使用してスケール セット上で更新できます。 1 回の呼び出しの中で、仮想マシン (VM) のサイズまたは割り当て戦略のいずれか、もしくはその両方を変更できます。
注
割り当て戦略を変更すると、スケール セットがスケールインまたはスケールアウトされた後にのみ、新しい戦略が有効になります。既存の VM は、スケーリング アクションが発生するまで影響を受けません。
Prioritized (preview)
から別の割り当て戦略に変更する場合、まずその VM サイズに関連付けられている優先順位を無効にする必要があります。 これについてはサポートのコード スニペットの中で詳しく説明します。
Azure CLI バージョン 2.66.0
以降を使用していることを確認します。
割り当て戦略を変更する
たとえば、割り当て戦略を更新して CapacityOptimized
するには、次のようにします。
az vmss update \
--resource-group {resourceGroupName} \
--name {scaleSetName} \
--set skuProfile.allocationStrategy=CapacityOptimized
VM のサイズを変更する
skuProfile
の VM サイズを更新するには (たとえば、Standard_D2as_v4、Standard_D2as_v5、Standard_D2s_v5)。
az vmss update \
--resource-group {resourceGroupName} \
--name {scaleSetName} \
--skuprofile-vmsizes Standard_D2as_v4 Standard_D2as_v5 Standard_D2s_v5
割り当て戦略を変更する
割り当て戦略を更新するには:
# Set variable values
$resourceGroupName = "resourceGroupName"
$vmssName = "scaleSetName"
$allocationStrategy = "CapacityOptimized"
# Get the scale set
$vmss = Get-AzVmss -ResourceGroupName $resourceGroupName -VMScaleSetName $vmssName
# Update the allocation strategy
$vmss.SkuProfile.AllocationStrategy = $allocationStrategy
# Apply the update
Update-AzVmss -ResourceGroupName $resourceGroupName -VMScaleSetName $vmssName -VirtualMachineScaleSet $vmss
VM のサイズを変更する
VM のサイズを更新するには:
# Set variable values
$resourceGroupName = "resourceGroupName"
$vmssName = "scaleSetName"
# Create a list of new VM sizes
$vmSizeList = [System.Collections.Generic.List[Microsoft.Azure.Management.Compute.Models.SkuProfileVMSize]]::new()
$vmSizeList.Add("Standard_D2as_v4")
$vmSizeList.Add("Standard_D2as_v5")
$vmSizeList.Add("Standard_D2s_v5")
# Get the scale set
$vmss = Get-AzVmss -ResourceGroupName $resourceGroupName -VMScaleSetName $vmssName
# Update the VM sizes
$vmss.SkuProfile.vmSizes = $vmSizeList
# Apply the update
Update-AzVmss -ResourceGroupName $resourceGroupName -VMScaleSetName $vmssName -VirtualMachineScaleSet $vmss
REST API を使用してインスタンス ミックス設定を更新するには、スケール セット リソースに PATCH
要求を送信します。 API バージョン 2023-09-01
以降を使用します。
PATCH https://management.azure.com/subscriptions/{YourSubscriptionId}/resourceGroups/{YourResourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{yourScaleSetName}?api-version=2023-09-01
割り当て戦略を変更する
VM のサイズと割り当て方法の両方を指定します。 たとえば、割り当て方法を capacityOptimized
に設定するには、次のようにします。
{
"properties": {
"skuProfile": {
"vmSizes": [
{ "name": "Standard_D2as_v4" },
{ "name": "Standard_D2as_v5" },
{ "name": "Standard_D2s_v4" },
{ "name": "Standard_D2s_v3" },
{ "name": "Standard_D2s_v5" }
],
"allocationStrategy": "capacityOptimized"
}
}
}
VM のサイズを変更する
VM サイズのみを更新するには:
{
"properties": {
"skuProfile": {
"vmSizes": [
{ "name": "Standard_D2as_v4" },
{ "name": "Standard_D2as_v5" },
{ "name": "Standard_D2s_v4" },
{ "name": "Standard_D2s_v3" },
{ "name": "Standard_D2s_v5" }
]
}
}
}
既存のスケール セットでインスタンス ミックスを有効にする
まだ使用していないスケール セットでインスタンス ミックスを有効にするには、 skuProfile
プロパティを指定します。 次の設定を行う必要があります。
sku.name
から "Mix"
へ
sku.tier
から null
へ
vmSizes
の skuProfile
内の少なくとも 1 つの値
allocationStrategy
(指定しない場合、Azure の既定値は lowestPrice
)
次の例は、既存のスケール セットでインスタンス ミックスを有効にする方法を示しています。
この例では、フレキシブル オーケストレーション モードの既存のスケール セットを更新して、VM サイズが Standard_D2as_v4、Standard_D2s_v5、Standard_D2as_v5、および capacityOptimized
割り当て戦略でインスタンス ミックスを使用するようにします。
az vmss update \
--name {scaleSetName} \
--resource-group {resourceGroupName} \
--set sku.name=Mix sku.tier=null \
--skuprofile-vmsizes Standard_D2as_v4 Standard_D2s_v5 Standard_D2as_v5 \
--sku-allocat-strat capacityOptimized
REST API を使用してインスタンス ミックスを有効にするには、スケール セット リソースに PATCH
要求を送信します。 API バージョン 2023-09-01
以降を使用します。
PATCH https://management.azure.com/subscriptions/{YourSubscriptionId}/resourceGroups/{YourResourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{yourScaleSetName}?api-version=2023-09-01
要求本文で、sku.name
を"Mix"
に設定し、目的のskuProfile
とvmSizes
にallocationStrategy
を含めます。
{
"sku": {
"name": "Mix"
},
"properties": {
"skuProfile": {
"vmSizes": [
{ "name": "Standard_D2as_v4" },
{ "name": "Standard_D2as_v5" },
{ "name": "Standard_D2s_v4" },
{ "name": "Standard_D2s_v5" }
],
"allocationStrategy": "lowestPrice"
}
}
}
次のステップ
インスタンス ミックス対応スケール セットの トラブルシューティング を行う方法について説明します。