New-AzVmss

仮想マシン スケール セットを作成します。

構文

New-AzVmss
   [-ResourceGroupName] <String>
   [-VMScaleSetName] <String>
   [-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
   [-AsJob]
   [-EdgeZone <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzVmss
   [[-ResourceGroupName] <String>]
   [-VMScaleSetName] <String>
   [-AsJob]
   [-UserData <String>]
   [-EnableAutomaticOSUpgrade]
   [-ImageName <String>]
   -Credential <PSCredential>
   [-InstanceCount <Int32>]
   [-VirtualNetworkName <String>]
   [-SubnetName <String>]
   [-PublicIpAddressName <String>]
   [-DomainNameLabel <String>]
   [-SecurityGroupName <String>]
   [-LoadBalancerName <String>]
   [-BackendPort <Int32[]>]
   [-Location <String>]
   [-EdgeZone <String>]
   [-VmSize <String>]
   [-UpgradePolicyMode <UpgradeMode>]
   [-AllocationMethod <String>]
   [-VnetAddressPrefix <String>]
   [-SubnetAddressPrefix <String>]
   [-FrontendPoolName <String>]
   [-BackendPoolName <String>]
   [-SystemAssignedIdentity]
   [-UserAssignedIdentity <String>]
   [-EnableUltraSSD]
   [-Zone <System.Collections.Generic.List`1[System.String]>]
   [-NatBackendPort <Int32[]>]
   [-DataDiskSizeInGb <Int32[]>]
   [-ProximityPlacementGroupId <String>]
   [-HostGroupId <String>]
   [-Priority <String>]
   [-EvictionPolicy <String>]
   [-MaxPrice <Double>]
   [-ScaleInPolicy <String[]>]
   [-SkipExtensionsOnOverprovisionedVMs]
   [-EncryptionAtHost]
   [-PlatformFaultDomainCount <Int32>]
   [-OrchestrationMode <String>]
   [-CapacityReservationGroupId <String>]
   [-ImageReferenceId <String>]
   [-DiskControllerType <String>]
   [-SharedGalleryImageId <String>]
   [-SecurityType <String>]
   [-EnableVtpm <Boolean>]
   [-EnableSecureBoot <Boolean>]
   [-DefaultProfile <IAzureContextContainer>]
   [-SinglePlacementGroup]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

説明

New-AzVmss コマンドレットは Azure に仮想マシン スケール セット (VMSS) を作成します。 単純なパラメーター セット (SimpleParameterSet) を使用して、事前設定された VMSS と関連リソースをすばやく作成します。

作成前に VMSS の各コンポーネントと関連リソースを正確に構成する必要がある場合は、より高度なシナリオで既定のパラメーター セット (DefaultParameter) を使用します。 既定のパラメーター セットの場合は、まず New-AzVmssConfig コマンドレットを使用して仮想マシン スケール セット オブジェクトを作成します。

次に、次のコマンドレットを使用して、仮想マシン スケール セット オブジェクトのさまざまなプロパティを設定します。

仮想マシン スケール セット のその他のコマンドレットについては、こちらをご覧ください

チュートリアルについては、「クイック スタート: Azure PowerShell を使用して仮想マシン スケール セットを作成する」を参照してください

例 1: SimpleParameterSet を使用して VMSS を作成する

$vmssName = 'VMSSNAME'
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString "PASSWORD" -AsPlainText -Force
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword)
$securityTypeStnd = "Standard"

#Create a VMSS using the default settings
New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName -SecurityType $securityTypeStnd

上記のコマンドでは、次の名前 $vmssName が作成されます。

  • リソース グループ
  • 仮想ネットワーク
  • ロード バランサー
  • パブリック IP
  • 2 つのインスタンスを持つ VMSS

VMSS 内の VM に対して選択された既定のイメージは、 2016-Datacenter Windows Server SKU が Standard_DS1_v2

例 2: DefaultParameterSet を使用して VMSS を作成する

# Common
$LOC = "WestUs";
$RGName = "rgkyvms";

New-AzResourceGroup -Name $RGName -Location $LOC -Force;

# SRP
$STOName = "sto" + $RGName;
$STOType = "Standard_GRS";
New-AzStorageAccount -ResourceGroupName $RGName -Name $STOName -Location $LOC -Type $STOType;
$STOAccount = Get-AzStorageAccount -ResourceGroupName $RGName -Name $STOName;

# NRP
$SubNet = New-AzVirtualNetworkSubnetConfig -Name ("subnet" + $RGName) -AddressPrefix "10.0.0.0/24";
$VNet = New-AzVirtualNetwork -Force -Name ("vnet" + $RGName) -ResourceGroupName $RGName -Location $LOC -AddressPrefix "10.0.0.0/16" -DnsServer "10.1.1.1" -Subnet $SubNet;
$VNet = Get-AzVirtualNetwork -Name ('vnet' + $RGName) -ResourceGroupName $RGName;
$SubNetId = $VNet.Subnets[0].Id;

$PubIP = New-AzPublicIpAddress -Force -Name ("pubip" + $RGName) -ResourceGroupName $RGName -Location $LOC -AllocationMethod Dynamic -DomainNameLabel ("pubip" + $RGName);
$PubIP = Get-AzPublicIpAddress -Name ("pubip"  + $RGName) -ResourceGroupName $RGName;

# Create LoadBalancer
$FrontendName = "fe" + $RGName
$BackendAddressPoolName = "bepool" + $RGName
$ProbeName = "vmssprobe" + $RGName
$InboundNatPoolName  = "innatpool" + $RGName
$LBRuleName = "lbrule" + $RGName
$LBName = "vmsslb" + $RGName

$Frontend = New-AzLoadBalancerFrontendIpConfig -Name $FrontendName -PublicIpAddress $PubIP
$BackendAddressPool = New-AzLoadBalancerBackendAddressPoolConfig -Name $BackendAddressPoolName
$Probe = New-AzLoadBalancerProbeConfig -Name $ProbeName -RequestPath healthcheck.aspx -Protocol http -Port 80 -IntervalInSeconds 15 -ProbeCount 2
$InboundNatPool = New-AzLoadBalancerInboundNatPoolConfig -Name $InboundNatPoolName  -FrontendIPConfigurationId `
    $Frontend.Id -Protocol Tcp -FrontendPortRangeStart 3360 -FrontendPortRangeEnd 3367 -BackendPort 3370;
$LBRule = New-AzLoadBalancerRuleConfig -Name $LBRuleName `
    -FrontendIPConfiguration $Frontend -BackendAddressPool $BackendAddressPool `
    -Probe $Probe -Protocol Tcp -FrontendPort 80 -BackendPort 80 `
    -IdleTimeoutInMinutes 15 -EnableFloatingIP -LoadDistribution SourceIP;
$ActualLb = New-AzLoadBalancer -Name $LBName -ResourceGroupName $RGName -Location $LOC `
    -FrontendIpConfiguration $Frontend -BackendAddressPool $BackendAddressPool `
    -Probe $Probe -LoadBalancingRule $LBRule -InboundNatPool $InboundNatPool;
$ExpectedLb = Get-AzLoadBalancer -Name $LBName -ResourceGroupName $RGName

# New VMSS Parameters
$VMSSName = "vmss" + $RGName;

$AdminUsername = "Admin01";
$AdminPassword = "p4ssw0rd@123" + $RGName;

$PublisherName = "MicrosoftWindowsServer"
$Offer         = "WindowsServer"
$Sku           = "2012-R2-Datacenter"
$Version       = "latest"

$VHDContainer = "https://" + $STOName + ".blob.core.windows.net/" + $VMSSName;

$ExtName = "CSETest";
$Publisher = "Microsoft.Compute";
$ExtType = "BGInfo";
$ExtVer = "2.1";

#IP Config for the NIC
$IPCfg = New-AzVmssIpConfig -Name "Test" `
    -LoadBalancerInboundNatPoolsId $ExpectedLb.InboundNatPools[0].Id `
    -LoadBalancerBackendAddressPoolsId $ExpectedLb.BackendAddressPools[0].Id `
    -SubnetId $SubNetId;

#VMSS Config
$securityTypeStnd = "Standard";
$VMSS = New-AzVmssConfig -Location $LOC -SkuCapacity 2 -SkuName "Standard_E4-2ds_v4" -UpgradePolicyMode "Automatic" -SecurityType $securityTypeStnd `
    | Add-AzVmssNetworkInterfaceConfiguration -Name "Test" -Primary $True -IPConfiguration $IPCfg `
    | Add-AzVmssNetworkInterfaceConfiguration -Name "Test2"  -IPConfiguration $IPCfg `
    | Set-AzVmssOsProfile -ComputerNamePrefix "Test"  -AdminUsername $AdminUsername -AdminPassword $AdminPassword `
    | Set-AzVmssStorageProfile -Name "Test"  -OsDiskCreateOption 'FromImage' -OsDiskCaching "None" `
    -ImageReferenceOffer $Offer -ImageReferenceSku $Sku -ImageReferenceVersion $Version `
    -ImageReferencePublisher $PublisherName -VhdContainer $VHDContainer `
    | Add-AzVmssExtension -Name $ExtName -Publisher $Publisher -Type $ExtType -TypeHandlerVersion $ExtVer -AutoUpgradeMinorVersion $True

#Create the VMSS
New-AzVmss -ResourceGroupName $RGName -Name $VMSSName -VirtualMachineScaleSet $VMSS;

上記の複雑な例では VMSS が作成されます。次に、何が起こっているかについて説明します。

  • 最初のコマンドは、指定した名前と場所を持つリソース グループを作成します。
  • 2 番目のコマンドでは、 New-AzStorageAccount コマンドレットを使用してストレージ アカウントを作成します。
  • 3 番目の コマンドでは、Get-AzStorageAccount コマンドレットを使用して、2 番目のコマンドで作成されたストレージ アカウントを取得し、結果を $STOAccount 変数に格納します。
  • 5 番目のコマンドでは、 New-AzVirtualNetworkSubnetConfig コマンドレットを使用してサブネットを作成し、結果を $SubNet という名前の変数に格納します。
  • 6 番目のコマンドでは、 New-AzVirtualNetwork コマンドレットを使用して仮想ネットワークを作成し、結果を $VNet という名前の変数に格納します。
  • 7 番目の コマンドでは、Get-AzVirtualNetwork を使用して、6 番目のコマンドで作成された仮想ネットワークに関する情報を取得し、$VNetという名前の変数に情報を格納します。
  • 8 番目と 9 番目のコマンドでは、New-AzPublicIpAddressGet- AzureRmPublicIpAddress を使用して、そのパブリック IP アドレスから情報を作成して取得します。
  • コマンドは、$PubIPという名前の変数に情報を格納します。
  • 10 番目のコマンドでは、 New- AzureRmLoadBalancerFrontendIpConfig コマンドレットを使用してフロントエンド ロード バランサーを作成し、結果を $Frontend という名前の変数に格納します。
  • 11 番目の コマンドでは、New-AzLoadBalancerBackendAddressPoolConfig を使用してバックエンド アドレス プール構成を作成し、結果を $BackendAddressPool という名前の変数に格納します。
  • 12 番目のコマンドでは、New-AzLoadBalancerProbeConfig を使用してプローブを作成し、$Probeという名前の変数にプローブ情報を格納します。
  • 13 番目の コマンドでは、New-AzLoadBalancerInboundNatPoolConfig コマンドレットを使用して、ロード バランサーの受信ネットワーク アドレス変換 (NAT) プール構成を作成します。
  • 14 番目の コマンドでは、New-AzLoadBalancerRuleConfig を使用してロード バランサー規則の構成を作成し、結果を $LBRule という名前の変数に格納します。
  • 15 番目のコマンドでは、 New-AzLoadBalancer コマンドレットを使用してロード バランサーを作成し、結果を $ActualLb という名前の変数に格納します。
  • 16 番目のコマンドでは、Get-AzLoadBalancer を使用して、15 番目のコマンドで作成されたロード バランサーに関する情報を取得し、$ExpectedLbという名前の変数に情報を格納します。
  • 17 番目の コマンドでは、New-AzVmssIpConfig コマンドレットを使用して VMSS IP 構成を作成し、$IPCfgという名前の変数に情報を格納します。
  • 18 番目の コマンドでは、New-AzVmssConfig コマンドレットを使用して VMSS 構成オブジェクトを作成し、結果を $VMSS という名前の変数に格納します。
  • 19 番目のコマンドでは、 New-AzVmss コマンドレットを使用して VMSS を作成します。

例 3: UserData 値を使用して VMSS を作成する

$ResourceGroupName = 'RESOURCE GROUP NAME';
$vmssName = 'VMSSNAME';
$domainNameLabel = "dnl" + $ResourceGroupName;
# Create credentials, I am using one way to create credentials, there are others as well.
# Pick one that makes the most sense according to your use case.
$vmPassword = ConvertTo-SecureString 'PASSWORD' -AsPlainText -Force;
$vmCred = New-Object System.Management.Automation.PSCredential('USERNAME', $vmPassword);

$text = "UserData value to encode";
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text);
$userData = [Convert]::ToBase64String($bytes);
$securityTypeStnd = "Standard";

#Create a VMSS
New-AzVmss -ResourceGroupName $ResourceGroupName -Name $vmssName -Credential $vmCred -DomainNameLabel $domainNameLabel -Userdata $userData -SecurityType $securityTypeStnd;
$vmss = Get-AzVmss -ResourceGroupName $ResourceGroupName -VMScaleSetName $vmssName -InstanceView:$false -Userdata;

UserData 値を使用して VMSS を作成する

例 4: セキュリティの種類が TrustedLaunch の Vmss を作成する

$rgname = "rgname";
$loc = "eastus";

# VMSS Profile & Hardware requirements for the TrustedLaunch default behavior.
$vmssSize = 'Standard_D4s_v3';
$vmssName1 = 'vmss1' + $rgname;
$imageName = "Win2022AzureEdition";
$adminUsername = "<Username>";
$adminPassword = "<Password>" | ConvertTo-SecureString -AsPlainText -Force;
$vmCred = New-Object System.Management.Automation.PSCredential ($adminUsername, $adminPassword);

# VMSS Creation 
$result = New-AzVmss -Credential $vmCred -VMScaleSetName $vmssName1 -ImageName $imageName -SecurityType "TrustedLaunch";
# Validate that for -SecurityType "TrustedLaunch", "-Vtpm" and -"SecureBoot" are "Enabled/true"
# $result.VirtualMachineProfile.SecurityProfile.UefiSettings.VTpmEnabled;
# $result.VirtualMachineProfile.SecurityProfile.UefiSettings.SecureBootEnabled;

この例では、新しいセキュリティの種類 'TrustedLaunch' を使用して新しい VMSS を作成し、必要な UEFI設定 値 VTpmEnabled と SecureBootEnalbed が true になります。 詳細については、「信頼できる起動機能」ページをチェックしてください。

例 5: オーケストレーション モードで Vmss を作成する: 既定ではフレキシブル

# Create configration object
$vmssConfig = New-AzVmssConfig -Location EastUs2 -UpgradePolicyMode Manual -SinglePlacementGroup $true

# VMSS Creation 
New-AzVmss -ResourceGroupName TestRg -VMScaleSetName myVMSS -VirtualMachineScaleSet $vmssConfig

この例では、新しい VMSS を作成し、既定で OrchestrationMode フレキシブルに設定します。

例 6: TrustedLaunch が既定で有効になっている新しい VMSS を作成する。

$rgname = "<Resource Group>";
$loc = "<Azure Region>";
New-AzResourceGroup -Name $rgname -Location $loc -Force;

$vmssName = 'vmss' + $rgname;
$vmssSize = 'Standard_D4s_v3';
$imageName = "Win2022AzureEdition";
$publisherName = "MicrosoftWindowsServer";
$offer = "WindowsServer";
$sku = "2022-Datacenter-Azure-Edition";
$adminUsername = "<Username>";
$password = "<Password>";

# NRP
$vnetworkName = 'vnet' + $rgname;
$subnetName = 'subnet' + $rgname;
$subnet = New-AzVirtualNetworkSubnetConfig -Name $subnetName -AddressPrefix "10.0.0.0/24";
$vnet = New-AzVirtualNetwork -Name $vnetworkName -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -Subnet $subnet;
$vnet = Get-AzVirtualNetwork -Name $vnetworkName -ResourceGroupName $rgname;
$subnetId = $vnet.Subnets[0].Id;

$ipCfg = New-AzVmssIpConfig -Name 'test' -SubnetId $subnetId;

$vmss = New-AzVmssConfig -Location $loc -SkuCapacity 2 -SkuName $vmssSize -UpgradePolicyMode 'Manual' `
    | Add-AzVmssNetworkInterfaceConfiguration -Name 'test' -Primary $true -IPConfiguration $ipCfg `
    | Set-AzVmssOsProfile -ComputerNamePrefix 'test' -AdminUsername $adminUsername -AdminPassword $password;
    
# Create TL Vmss
$result = New-AzVmss -ResourceGroupName $rgname -VMScaleSetName $vmssName -VirtualMachineScaleSet $vmss;
$vmssGet = Get-AzVmss -ResourceGroupName $rgname -VMScaleSetName $vmssName;

# Verify $vmssGet.VirtualMachineProfile.SecurityProfile.SecurityType is TrustedLaunch.
# Verify $vmssGet.VirtualMachineProfile.SecurityProfile.UefiSettings.VTpmEnabled is True.
# Verify $vmssGet.VirtualMachineProfile.SecurityProfile.UefiSettings.SecureBootEnabled is True.
# Verify $vmssGet.VirtualMachineProfile.StorageProfile.ImageReference.Sku is 2022-Datacenter-Azure-Edition.

上記の仮想マシン スケール セットでは、トラステッド起動が既定で有効になっています。 詳細については、「信頼できる起動機能」ページをチェックしてください。

パラメーター

-AllocationMethod

スケール セットのパブリック IP アドレスの割り当て方法 (静的または動的)。 値が指定されていない場合、割り当ては静的になります。

Type:String
Accepted values:Static, Dynamic
Position:Named
Default value:Static
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

バックグラウンドでコマンドレットを実行し、進行状況を追跡するジョブを返します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackendPoolName

このスケール セットのロード バランサーで使用するバックエンド アドレス プールの名前。 値が指定されていない場合は、スケール セットと同じ名前の新しいバックエンド プールが作成されます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BackendPort

スケール セット内の VM と通信するためにスケール セット ロード バランサーによって使用されるバックエンド ポート番号。 値を指定しない場合、Windows VM にはポート 3389 と 5985 が使用され、ポート 22 は Linux VM に使用されます。

Type:Int32[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CapacityReservationGroupId

割り当てに使用される容量予約グループの ID。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

このスケール セット内の VM の管理者資格情報 (ユーザー名とパスワード)。

ユーザー名
制限:
Windows: 特殊文字 /""[]:|<>+=;,?*@> または末尾が "."
Linux: ユーザー名には文字、数字、ハイフン、アンダースコアのみを含める必要があり、ハイフンまたは数字で始めてはなりません。
許可されていない値: "administrator"、"admin"、"user"、"user1"、"test"、"user2"、"test1"、"user3"、"admin1"、 "1"、"123"、"a"、"actuser"、"adm"、"admin2"、"aspnet"、"backup"、"console"、"david"、"guest"、"john"、"owner"、"root"、"server"、"sql"、"support"、"support_388945a0"、"sys"、"test2"、"test3"、"user4"、"user5"。
最小長: 1 文字
最大長: Windows の場合は 20 文字、Linux の場合は 64 文字
パスワード
小文字 1 文字、大文字 1 文字、数字 1 文字、特殊文字 1 文字のうち 3 文字を指定する必要があります。
値の長さは 12 ~ 123 文字にする必要があります。

Type:PSCredential
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DataDiskSizeInGb

データ ディスクのサイズを GB 単位で指定します。

Type:Int32[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Azure との通信に使用される資格情報、アカウント、テナント、サブスクリプション。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DiskControllerType

VM と VirtualMachineScaleSet 用に構成されたディスク コントローラーの種類を指定します。 このプロパティは、オペレーティング システム ディスクと VM SKU が第 2 世代 (https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2) をサポートする仮想マシンでのみサポートされます。リージョンの Microsoft.Compute SKU API の応答で VM SKU 機能の一部として返される HyperVGenerations 機能に V2 (https://learn.microsoft.com/rest/api/compute/resourceskus/list) が含まれているチェックしてください。
サポートされているディスク コントローラーの種類の詳細については、以下を https://aka.ms/azure-diskcontrollertypes参照してください。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DomainNameLabel

このスケール セットのパブリック完全修飾 doメイン 名前 (FQDN) の doメイン 名ラベル。 これは、スケール セットに自動的に割り当てられる doメイン 名の最初のコンポーネントです。 自動的に割り当てられた Doメイン 名は、フォーム (<DomainNameLabel>.<Location>.cloudapp.azure.com) を使用します。 値が指定されていない場合、既定の doメイン 名前ラベルは<ScaleSetName>連結と <ResourceGroupName>.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EdgeZone

エッジ ゾーン名を設定します。 設定すると、クエリは、メインリージョンではなく、指定したエッジゾーンにルーティングされます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableAutomaticOSUpgrade

新しいバージョンのイメージが使用可能になったときに、OS のアップグレードをスケール セット インスタンスに自動的に適用するかどうかを指定します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableSecureBoot

仮想マシンでセキュア ブートを有効にするかどうかを指定します。

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableUltraSSD

スケール セット内の VM には UltraSSD ディスクを使用します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableVtpm

仮想マシンで vTPM を有効にするかどうかを指定します。

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EncryptionAtHost

このパラメーターにより、ホスト自体のリソース/一時ディスクを含むすべてのディスクの暗号化が有効になります。 既定値: リソースに対してこのプロパティが true に設定されていない限り、ホストでの暗号化は無効になります。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EvictionPolicy

優先順位の低い仮想マシン スケール セットの削除ポリシー。 サポートされている値は、'割り当て解除' と 'Delete' のみです。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FrontendPoolName

スケール セット ロード バランサーで使用するフロントエンド アドレス プールの名前。 値が指定されていない場合は、スケール セットと同じ名前の新しいフロントエンド アドレス プールが作成されます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HostGroupId

仮想マシン スケール セットが存在する専用ホスト グループを指定します。

Type:String
Aliases:HostGroup
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ImageName

このスケール セット内の VM のイメージのエイリアス。 値が指定されていない場合は、"Windows Server 2016 DataCenter" イメージが使用されます。 使用可能なエイリアスは次のとおりです。Win2022AzureEdition、 Win2022AzureEditionCore、Win2019Datacenter、Win2016Datacenter、Win2012R2Datacenter、Win2012Datacenter、UbuntuLTS、Ubuntu2204、CentOS85Gen2、Debian11、OpenSuseLeap154Gen2、RHELRaw8LVMGen2、SuseSles15SP3、FlatcarLinuxFreeGen2。

Type:String
Aliases:Image
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ImageReferenceId

vmss デプロイの共有ギャラリー イメージの一意の ID を指定しました。 これは、共有ギャラリー イメージの GET 呼び出しからフェッチできます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InstanceCount

スケール セット内の VM イメージの数。 値が指定されていない場合は、2 つのインスタンスが作成されます。

Type:Int32
Position:Named
Default value:2
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LoadBalancerName

このスケール セットで使用するロード バランサーの名前。 値が指定されていない場合は、スケール セットと同じ名前を使用する新しいロード バランサーが作成されます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Location

このスケール セットが作成される Azure の場所。 値が指定されていない場合、パラメーターで参照されている他のリソースの場所から場所が推論されます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxPrice

優先順位の低い仮想マシン スケール セットの課金の最大価格。

Type:Double
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NatBackendPort

受信ネットワーク アドレス変換のバックエンド ポート。

Type:Int32[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OrchestrationMode

仮想マシン スケール セットのオーケストレーション モードを指定します。 指定できる値: Uniform、Flexible

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PlatformFaultDomainCount

Fault Doメイン は、各配置グループの数です。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Priority

スケール セット内の仮想マシンの優先順位。 サポートされている値は、'Regular'、'Spot'、'Low' のみです。 "Regular" は通常の仮想マシン用です。 "スポット" はスポット仮想マシン用です。 'Low' はスポット仮想マシン用でもありますが、'Spot' に置き換えられます。 'Low' の代わりに 'Spot' を使用してください。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProximityPlacementGroupId

このスケール セットで使用する近接配置グループのリソース ID。

Type:String
Aliases:ProximityPlacementGroup
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PublicIpAddressName

このスケール セットで使用するパブリック IP アドレスの名前。 値が指定されていない場合は、スケール セットと同じ名前の新しいパブリック IPAddress が作成されます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

VMSS のリソース グループの名前を指定します。 値が指定されていない場合は、スケール セットと同じ名前を使用して新しい ResourceGroup が作成されます。

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ScaleInPolicy

仮想マシン スケール セットのスケールイン時に従う規則。 使用可能な値は、'Default'、'OldestVM'、'NewestVM' です。 仮想マシン スケール セットがスケールインされると、スケール セットがゾーン スケール セットの場合、最初にゾーン間でバランスが取られます。 その後、可能な限り障害 Doメイン 間でバランスが取られます。 各障害実行メイン内では、削除対象として選択された仮想マシンが、スケール インから保護されていない最新の仮想マシンになります。 仮想マシン スケール セットがスケールインされている場合、スケールインから保護されていない最も古い仮想マシンが削除対象として選択されます。 ゾーン仮想マシン スケール セットの場合、スケール セットは最初にゾーン間で分散されます。 各ゾーン内では、保護されていない最も古い仮想マシンが削除対象として選択されます。 仮想マシン スケール セットがスケールインされている場合は、スケールインから保護されていない最新の仮想マシンが削除対象として選択されます。 ゾーン仮想マシン スケール セットの場合、スケール セットは最初にゾーン間で分散されます。 各ゾーン内では、保護されていない最新の仮想マシンが削除対象として選択されます。

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecurityGroupName

このスケール セットに適用するネットワーク セキュリティ グループの名前。 値が指定されていない場合は、スケール セットと同じ名前の既定のネットワーク セキュリティ グループが作成され、スケール セットに適用されます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecurityType

仮想マシンの SecurityType を指定します。 Uefi設定 を有効にするには、指定した値に設定する必要があります。 このプロパティが設定されていない限り、Uefi設定 は有効になりません。

Type:String
Accepted values:TrustedLaunch, ConfidentialVM, Standard
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SharedGalleryImageId

VM デプロイの共有ギャラリー イメージの一意の ID を指定しました。 これは、共有ギャラリー イメージの GET 呼び出しからフェッチできます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SinglePlacementGroup

これを使用して、1 つの配置グループにスケール セットを作成します。既定値は複数のグループです

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipExtensionsOnOverprovisionedVMs

追加のオーバープロビジョニングされた VM で拡張機能が実行されないように指定します。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubnetAddressPrefix

この ScaleSet が使用するサブネットのアドレス プレフィックス。 値が指定されていない場合、既定のサブネット設定 (192.168.1.0/24) が適用されます。

Type:String
Position:Named
Default value:192.168.1.0/24
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubnetName

このスケール セットで使用するサブネットの名前。 値が指定されていない場合は、スケール セットと同じ名前で新しいサブネットが作成されます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SystemAssignedIdentity

パラメーターが存在する場合、スケール セット内の VM には、自動生成されるマネージド システム ID が割り当てられます。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UpgradePolicyMode

このスケール セット内の VM インスタンスのアップグレード ポリシー モード。 アップグレード ポリシーでは、自動アップグレード、手動アップグレード、またはローリング アップグレードを指定できます。

Type:UpgradeMode
Accepted values:Automatic, Manual, Rolling
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserAssignedIdentity

スケール セット内の VM に割り当てる必要があるマネージド サービス ID の名前。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserData

Vmss の UserData。base-64 でエンコードされます。 顧客はここでシークレットを渡すべきではありません。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VirtualMachineScaleSet

このコマンドレットで作成する VMSS のプロパティを含む VirtualMachineScaleSet オブジェクトを指定します。

Type:PSVirtualMachineScaleSet
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VirtualNetworkName

このスケール セットで使用する仮想ネットワークの名前。 値が指定されていない場合は、スケール セットと同じ名前の新しい仮想ネットワークが作成されます。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMScaleSetName

このコマンドレットによって作成される VMSS の名前を指定します。

Type:String
Aliases:Name
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VmSize

このスケール セット内の VM インスタンスのサイズ。 Get-AzComputeResourceSku を使用して、サブスクリプションとリージョンで使用可能なサイズを確認できます。 Size が指定されていない場合は、既定のサイズ (Standard_DS1_v2) が使用されます。

Type:String
Position:Named
Default value:Standard_DS1_v2
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VnetAddressPrefix

このスケール セットで使用される仮想ネットワークのアドレス プレフィックス。 値が指定されていない場合は、既定の仮想ネットワーク アドレス プレフィックス設定 (192.168.0.0/16) が使用されます。

Type:String
Position:Named
Default value:192.168.0.0/16
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Zone

リソースに割り当てられた IP を示す可用性ゾーンの一覧が必要です。

Type:List<T>[String]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

入力

String

PSVirtualMachineScaleSet

List<T>[[System.String, System.Private.CoreLib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]

出力

PSVirtualMachineScaleSet