Microsoft.Compute virtualMachineScaleSets

Bicep 資源定義

virtualMachineScaleSets 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。

資源格式

若要建立 Microsoft.Compute/virtualMachineScaleSets 資源,請將下列 Bicep 新增至您的範本。

resource symbolicname 'Microsoft.Compute/virtualMachineScaleSets@2023-09-01' = {
  name: 'string'
  location: 'string'
  tags: {
    tagName1: 'tagValue1'
    tagName2: 'tagValue2'
  }
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
  extendedLocation: {
    name: 'string'
    type: 'EdgeZone'
  }
  identity: {
    type: 'string'
    userAssignedIdentities: {
      {customized property}: {}
      {customized property}: {}
    }
  }
  plan: {
    name: 'string'
    product: 'string'
    promotionCode: 'string'
    publisher: 'string'
  }
  properties: {
    additionalCapabilities: {
      hibernationEnabled: bool
      ultraSSDEnabled: bool
    }
    automaticRepairsPolicy: {
      enabled: bool
      gracePeriod: 'string'
      repairAction: 'string'
    }
    constrainedMaximumCapacity: bool
    doNotRunExtensionsOnOverprovisionedVMs: bool
    hostGroup: {
      id: 'string'
    }
    orchestrationMode: 'string'
    overprovision: bool
    platformFaultDomainCount: int
    priorityMixPolicy: {
      baseRegularPriorityCount: int
      regularPriorityPercentageAboveBase: int
    }
    proximityPlacementGroup: {
      id: 'string'
    }
    resiliencyPolicy: {
      resilientVMCreationPolicy: {
        enabled: bool
      }
      resilientVMDeletionPolicy: {
        enabled: bool
      }
    }
    scaleInPolicy: {
      forceDeletion: bool
      rules: [
        'string'
      ]
    }
    singlePlacementGroup: bool
    spotRestorePolicy: {
      enabled: bool
      restoreTimeout: 'string'
    }
    upgradePolicy: {
      automaticOSUpgradePolicy: {
        disableAutomaticRollback: bool
        enableAutomaticOSUpgrade: bool
        osRollingUpgradeDeferral: bool
        useRollingUpgradePolicy: bool
      }
      mode: 'string'
      rollingUpgradePolicy: {
        enableCrossZoneUpgrade: bool
        maxBatchInstancePercent: int
        maxSurge: bool
        maxUnhealthyInstancePercent: int
        maxUnhealthyUpgradedInstancePercent: int
        pauseTimeBetweenBatches: 'string'
        prioritizeUnhealthyInstances: bool
        rollbackFailedInstancesOnPolicyBreach: bool
      }
    }
    virtualMachineProfile: {
      applicationProfile: {
        galleryApplications: [
          {
            configurationReference: 'string'
            enableAutomaticUpgrade: bool
            order: int
            packageReferenceId: 'string'
            tags: 'string'
            treatFailureAsDeploymentFailure: bool
          }
        ]
      }
      billingProfile: {
        maxPrice: json('decimal-as-string')
      }
      capacityReservation: {
        capacityReservationGroup: {
          id: 'string'
        }
      }
      diagnosticsProfile: {
        bootDiagnostics: {
          enabled: bool
          storageUri: 'string'
        }
      }
      evictionPolicy: 'string'
      extensionProfile: {
        extensions: [
          {
            name: 'string'
            properties: {
              autoUpgradeMinorVersion: bool
              enableAutomaticUpgrade: bool
              forceUpdateTag: 'string'
              protectedSettings: any()
              protectedSettingsFromKeyVault: {
                secretUrl: 'string'
                sourceVault: {
                  id: 'string'
                }
              }
              provisionAfterExtensions: [
                'string'
              ]
              publisher: 'string'
              settings: any()
              suppressFailures: bool
              type: 'string'
              typeHandlerVersion: 'string'
            }
          }
        ]
        extensionsTimeBudget: 'string'
      }
      hardwareProfile: {
        vmSizeProperties: {
          vCPUsAvailable: int
          vCPUsPerCore: int
        }
      }
      licenseType: 'string'
      networkProfile: {
        healthProbe: {
          id: 'string'
        }
        networkApiVersion: '2020-11-01'
        networkInterfaceConfigurations: [
          {
            name: 'string'
            properties: {
              auxiliaryMode: 'string'
              auxiliarySku: 'string'
              deleteOption: 'string'
              disableTcpStateTracking: bool
              dnsSettings: {
                dnsServers: [
                  'string'
                ]
              }
              enableAcceleratedNetworking: bool
              enableFpga: bool
              enableIPForwarding: bool
              ipConfigurations: [
                {
                  name: 'string'
                  properties: {
                    applicationGatewayBackendAddressPools: [
                      {
                        id: 'string'
                      }
                    ]
                    applicationSecurityGroups: [
                      {
                        id: 'string'
                      }
                    ]
                    loadBalancerBackendAddressPools: [
                      {
                        id: 'string'
                      }
                    ]
                    loadBalancerInboundNatPools: [
                      {
                        id: 'string'
                      }
                    ]
                    primary: bool
                    privateIPAddressVersion: 'string'
                    publicIPAddressConfiguration: {
                      name: 'string'
                      properties: {
                        deleteOption: 'string'
                        dnsSettings: {
                          domainNameLabel: 'string'
                          domainNameLabelScope: 'string'
                        }
                        idleTimeoutInMinutes: int
                        ipTags: [
                          {
                            ipTagType: 'string'
                            tag: 'string'
                          }
                        ]
                        publicIPAddressVersion: 'string'
                        publicIPPrefix: {
                          id: 'string'
                        }
                      }
                      sku: {
                        name: 'string'
                        tier: 'string'
                      }
                    }
                    subnet: {
                      id: 'string'
                    }
                  }
                }
              ]
              networkSecurityGroup: {
                id: 'string'
              }
              primary: bool
            }
          }
        ]
      }
      osProfile: {
        adminPassword: 'string'
        adminUsername: 'string'
        allowExtensionOperations: bool
        computerNamePrefix: 'string'
        customData: 'string'
        linuxConfiguration: {
          disablePasswordAuthentication: bool
          enableVMAgentPlatformUpdates: bool
          patchSettings: {
            assessmentMode: 'string'
            automaticByPlatformSettings: {
              bypassPlatformSafetyChecksOnUserSchedule: bool
              rebootSetting: 'string'
            }
            patchMode: 'string'
          }
          provisionVMAgent: bool
          ssh: {
            publicKeys: [
              {
                keyData: 'string'
                path: 'string'
              }
            ]
          }
        }
        requireGuestProvisionSignal: bool
        secrets: [
          {
            sourceVault: {
              id: 'string'
            }
            vaultCertificates: [
              {
                certificateStore: 'string'
                certificateUrl: 'string'
              }
            ]
          }
        ]
        windowsConfiguration: {
          additionalUnattendContent: [
            {
              componentName: 'Microsoft-Windows-Shell-Setup'
              content: 'string'
              passName: 'OobeSystem'
              settingName: 'string'
            }
          ]
          enableAutomaticUpdates: bool
          enableVMAgentPlatformUpdates: bool
          patchSettings: {
            assessmentMode: 'string'
            automaticByPlatformSettings: {
              bypassPlatformSafetyChecksOnUserSchedule: bool
              rebootSetting: 'string'
            }
            enableHotpatching: bool
            patchMode: 'string'
          }
          provisionVMAgent: bool
          timeZone: 'string'
          winRM: {
            listeners: [
              {
                certificateUrl: 'string'
                protocol: 'string'
              }
            ]
          }
        }
      }
      priority: 'string'
      scheduledEventsProfile: {
        osImageNotificationProfile: {
          enable: bool
          notBeforeTimeout: 'string'
        }
        terminateNotificationProfile: {
          enable: bool
          notBeforeTimeout: 'string'
        }
      }
      securityPostureReference: {
        excludeExtensions: [
          {
            location: 'string'
            properties: {
              autoUpgradeMinorVersion: bool
              enableAutomaticUpgrade: bool
              forceUpdateTag: 'string'
              instanceView: {
                name: 'string'
                statuses: [
                  {
                    code: 'string'
                    displayStatus: 'string'
                    level: 'string'
                    message: 'string'
                    time: 'string'
                  }
                ]
                substatuses: [
                  {
                    code: 'string'
                    displayStatus: 'string'
                    level: 'string'
                    message: 'string'
                    time: 'string'
                  }
                ]
                type: 'string'
                typeHandlerVersion: 'string'
              }
              protectedSettings: any()
              protectedSettingsFromKeyVault: {
                secretUrl: 'string'
                sourceVault: {
                  id: 'string'
                }
              }
              provisionAfterExtensions: [
                'string'
              ]
              publisher: 'string'
              settings: any()
              suppressFailures: bool
              type: 'string'
              typeHandlerVersion: 'string'
            }
            tags: {}
          }
        ]
        id: 'string'
      }
      securityProfile: {
        encryptionAtHost: bool
        encryptionIdentity: {
          userAssignedIdentityResourceId: 'string'
        }
        proxyAgentSettings: {
          enabled: bool
          keyIncarnationId: int
          mode: 'string'
        }
        securityType: 'string'
        uefiSettings: {
          secureBootEnabled: bool
          vTpmEnabled: bool
        }
      }
      serviceArtifactReference: {
        id: 'string'
      }
      storageProfile: {
        dataDisks: [
          {
            caching: 'string'
            createOption: 'string'
            deleteOption: 'string'
            diskIOPSReadWrite: int
            diskMBpsReadWrite: int
            diskSizeGB: int
            lun: int
            managedDisk: {
              diskEncryptionSet: {
                id: 'string'
              }
              securityProfile: {
                diskEncryptionSet: {
                  id: 'string'
                }
                securityEncryptionType: 'string'
              }
              storageAccountType: 'string'
            }
            name: 'string'
            writeAcceleratorEnabled: bool
          }
        ]
        diskControllerType: 'string'
        imageReference: {
          communityGalleryImageId: 'string'
          id: 'string'
          offer: 'string'
          publisher: 'string'
          sharedGalleryImageId: 'string'
          sku: 'string'
          version: 'string'
        }
        osDisk: {
          caching: 'string'
          createOption: 'string'
          deleteOption: 'string'
          diffDiskSettings: {
            option: 'Local'
            placement: 'string'
          }
          diskSizeGB: int
          image: {
            uri: 'string'
          }
          managedDisk: {
            diskEncryptionSet: {
              id: 'string'
            }
            securityProfile: {
              diskEncryptionSet: {
                id: 'string'
              }
              securityEncryptionType: 'string'
            }
            storageAccountType: 'string'
          }
          name: 'string'
          osType: 'string'
          vhdContainers: [
            'string'
          ]
          writeAcceleratorEnabled: bool
        }
      }
      userData: 'string'
    }
    zoneBalance: bool
  }
  zones: [
    'string'
  ]
}

屬性值

virtualMachineScaleSets

名稱 描述
NAME 資源名稱 需要字串 ()

字元限制:1-15 (Windows)
1-64 (Linux)



合法字元:
不能使用空格、控制字元或下列字元:
~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

不能以底線開頭。 不能以句號或連字號結尾。
location 資源位置 需要字串 ()
tags 資源標籤 標記名稱和值的字典。 請參閱 範本中的標籤
sku 虛擬機擴展集 SKU。 Sku
extendedLocation 虛擬機擴展集的擴充位置。 ExtendedLocation
身分識別 如果已設定,則為虛擬機擴展集的身分識別。 VirtualMachineScaleSetIdentity
方案 指定用來建立虛擬機之 Marketplace 映像的相關信息。 此元素僅用於市集映像。 您必須先啟用映像以供程序設計使用,才能從 API 使用市集映射。 在 Azure 入口網站 中,尋找您想要使用的市集映射,然後按兩下 [想要以程序設計方式部署] [開始使用] -> 。 輸入任何必要資訊,然後按兩下 [ 儲存]。 方案
properties 描述虛擬機擴展集的屬性。 VirtualMachineScaleSetProperties
zones (區域) 虛擬機擴展集區域。 注意:只有在建立擴展集時,才能設定可用性區域 string[]

ExtendedLocation

名稱 描述
NAME 擴充位置的名稱。 字串
type 擴充位置的類型。 'EdgeZone'

VirtualMachineScaleSetIdentity

名稱 描述
類型 用於虛擬機擴展集的身分識別類型。 「SystemAssigned、UserAssigned」類型同時包含隱含建立的身分識別,和一組使用者指派的身分識別。 類型 『None』 將會從虛擬機擴展集移除任何身分識別。 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities 與虛擬機擴展集相關聯的使用者身分識別清單。 使用者身分識別字典索引鍵參考的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 UserAssignedIdentities

UserAssignedIdentities

名稱 描述
{自定義屬性} UserAssignedIdentitiesValue
{自定義屬性} UserAssignedIdentitiesValue

UserAssignedIdentitiesValue

此物件不包含部署期間要設定的任何屬性。 所有屬性都是 ReadOnly。

計畫

名稱 描述
NAME 方案標識碼。 字串
產品 指定市集中映像的產品。 這與 imageReference 元素下的 Offer 值相同。 字串
promotionCode 促銷碼。 字串
publisher 發行者標識碼。 字串

VirtualMachineScaleSetProperties

名稱 描述
additionalCapabilities 指定虛擬機擴展集中 虛擬機器 上啟用或停用的其他功能。 例如:虛擬機器 是否能夠支援使用UltraSSD_LRS記憶體帳戶類型鏈接受控數據磁碟。 AdditionalCapabilities
automaticRepairsPolicy 自動修復的原則。 AutomaticRepairsPolicy
constrainedMaximumCapacity 必須設定為 True 或省略的選擇性屬性。 bool
doNotRunExtensionsOnOverprovisionedVM 啟用 Overprovision 時,擴充功能只會在最後保留的要求 VM 數目上啟動。 因此,此屬性可確保擴充功能不會在額外的過度布建 VM 上執行。 bool
hostGroup 指定虛擬機擴展集所在專用主機群組的相關信息。 API 版本下限:2020-06-01。 SubResource
orchestrationMode 指定虛擬機擴展集的協調流程模式。 「彈性」
'Uniform'
overprovision 指定是否應過度布建虛擬機擴展集。 bool
platformFaultDomainCount 每個放置群組的容錯網域計數。 int
priorityMixPolicy 指定在相同 VMSS Flex 實例內混合現成和一般優先順序 VM 所需的目標。 PriorityMixPolicy
proximityPlacementGroup 指定虛擬機擴展集應指派給之鄰近放置群組的相關信息。 API 版本下限:2018-04-01。 SubResource
resiliencyPolicy 復原原則 ResiliencyPolicy
scaleInPolicy 指定在虛擬機擴展集中調整 虛擬機器 時套用的原則。 ScaleInPolicy
singlePlacementGroup 若為 true,則會將擴展集限制為單一放置群組,大小上限為 100 部虛擬機。 注意:如果 singlePlacementGroup 為 true,可能會將其修改為 false。 不過,如果 singlePlacementGroup 為 false,則無法修改成 true。 bool
spotRestorePolicy 指定虛擬機擴展集的現成還原屬性。 SpotRestorePolicy
upgradePolicy 升級原則。 UpgradePolicy
virtualMachineProfile 虛擬機器配置檔。 VirtualMachineScaleSetVMProfile
zoneBalance 如果發生區域中斷,是否強制嚴格地跨 x 區域散發虛擬機。 只有在擴展集的區域屬性包含多個區域時,才能設定 zoneBalance 屬性。 如果沒有指定區域或只指定一個區域,不應設定 zoneBalance 屬性。 bool

AdditionalCapabilities

名稱 描述
hibernationEnabled 啟用或停用 VM 上休眠功能的旗標。 bool
ultraSSDEnabled 旗標,可讓或停用在 VM 或 VMSS 上具有一或多個具有 UltraSSD_LRS記憶體帳戶類型的受控數據磁碟。 只有在啟用此屬性時,才能將具有記憶體帳戶類型的受控磁碟UltraSSD_LRS新增至虛擬機或虛擬機擴展集。 bool

AutomaticRepairsPolicy

名稱 描述
已啟用 指定是否應在虛擬機擴展集上啟用自動修復。 預設值為 false。 bool
gracePeriod 因為 VM 上的狀態變更而暫停自動修復的時間量。 寬限時間會在狀態變更完成之後開始。 這有助於避免提前或意外修復。 時間持續時間應以 ISO 8601 格式指定。 允許的寬限期下限為 10 分鐘 (PT10M) ,這也是預設值。 允許的寬限期上限為 90 分鐘, (PT90M) 。 字串
repairAction 修復動作的類型 (取代、重新啟動、重新映像) ,用於修復擴展集中狀況不良的虛擬機。 預設值為 replace。 'Reimage'
'Replace'
'Restart'

SubResource

名稱 描述
id 資源標識碼 字串

PriorityMixPolicy

名稱 描述
baseRegularPriorityCount 在相應放大時,將會在此擴展集中建立的一般優先順序 VM 基底數目。 int

約束:
最小值 = 0
regularPriorityPercentageAboveBase 達到基底一般優先順序計數之後的 VM 實例百分比,預期會使用一般優先順序。 int

約束:
最小值 = 0
最大值 = 100

ResiliencyPolicy

名稱 描述
resilientVMCreationPolicy 執行復原 VM 建立時所使用的組態參數。 ResilientVMCreationPolicy
resilientVMDeletionPolicy 執行復原 VM 刪除時所使用的組態參數。 ResilientVMDeletionPolicy

ResilientVMCreationPolicy

名稱 描述
已啟用 指定是否應在虛擬機擴展集上啟用復原性 VM 建立。 預設值為 false。 bool

ResilientVMDeletionPolicy

名稱 描述
已啟用 指定是否應在虛擬機擴展集上啟用復原性 VM 刪除。 預設值為 false。 bool

ScaleInPolicy

名稱 描述
forceDeletion 此屬性可讓您指定在預覽版中調整虛擬機擴展集時,是否必須強制刪除移除的虛擬機。 (Preview 中的功能) bool
規則 調整虛擬機擴展集時所要遵循的規則。

可能的值包括:

預設 當虛擬機擴展集相應縮小時,如果擴展集是區域性擴展集,則擴展集會先跨區域平衡。 然後,它會盡可能跨容錯網域進行平衡。 在每個容錯網域內,選擇移除的虛擬機將是未受到相應縮小保護的最新虛擬機。

OldestVM 當虛擬機擴展集正在相應縮小時,將會選擇未受相應縮小保護的最舊虛擬機進行移除。 針對區域性虛擬機擴展集,擴展集會先跨區域進行平衡。 在每個區域中,將會選擇未受保護的最舊虛擬機來移除。

NewestVM 當虛擬機擴展集正在相應縮小時,將會選擇未受相應縮小保護的最新虛擬機進行移除。 針對區域性虛擬機擴展集,擴展集會先跨區域進行平衡。 在每個區域中,將會選擇未受保護的最新虛擬機來移除。

包含任何項目的字串數組:
'Default'
'NewestVM'
'OldestVM'

SpotRestorePolicy

名稱 描述
已啟用 啟用 Spot-Try-Restore 功能,其中收回的 VMSS SPOT 實例會嘗試根據容量可用性和定價條件約束,以機率方式還原 bool
restoreTimeout 以 ISO 8601 時間持續時間表示的逾時值,之後平臺將不會嘗試還原 VMSS SPOT 實例 字串

UpgradePolicy

名稱 描述
automaticOSUpgradePolicy 用於執行自動作業系統升級的組態參數。 AutomaticOSUpgradePolicy
mode 指定升級至擴展集中虛擬機的模式。

可能的值包括:

手動 - 您可以控制擴充集中虛擬機更新的應用程式。 您可以使用 manualUpgrade 宏指令來執行此動作。

自動 -擴展集中的所有虛擬機都會同時自動更新。
'Automatic'
'Manual'
'Rolling'
rollingUpgradePolicy 執行滾動升級時所使用的組態參數。 RollingUpgradePolicy

AutomaticOSUpgradePolicy

名稱 描述
disableAutomaticRollback 是否應該停用OS映像復原功能。 預設值為 False。 bool
enableAutomaticOSUpgrade 指出當較新版本的OS映像可供使用時,是否應該以滾動方式將操作系統升級自動套用至擴展集實例。 預設值為 False。 如果 Windows 擴展集將此設定為 true,enableAutomaticUpdates 會自動設定為 false,而且無法設定為 true。 bool
osRollingUpgradeDeferral 指出自動作業系統升級是否應該延遲。 延後操作系統升級會根據每部 VM 傳送進階通知,讓 OS 升級從滾動升級傳入,方法是透過 IMDS 標籤 'Platform.PendingOSUpgrade'。 接著,升級會延遲,直到透過ApprovRollingUpgrade呼叫核准升級為止。 bool
useRollingUpgradePolicy 指出是否應在自動作業系統升級期間使用滾動升級原則。 預設值為 False。 如果未在 VMSS 上定義任何原則,自動 OS 升級將會回復為默認原則。 bool

RollingUpgradePolicy

名稱 描述
enableCrossZoneUpgrade 允許 VMSS 在建構升級批次時忽略 AZ 界限。 將 Update 網域和 maxBatchInstancePercent 納入考慮,以判斷批次大小。 bool
maxBatchInstancePercent 一個批次中的滾動升級會同時升級的虛擬機實例總數百分比上限。 由於這是最大值,先前或未來批次中狀況不良的實例可能會導致批次中的實例百分比降低,以確保更高的可靠性。 此參數的預設值為 20%。 int

約束:
最小值 = 5
最大值 = 100
maxSurge 建立新的虛擬機以升級擴展集,而不是更新現有的虛擬機。 一旦為每個批次建立新的虛擬機,就會刪除現有的虛擬機。 bool
maxUnhealthyInstancePercent 擴展集中可同時狀況不良之虛擬機實例總數的百分比上限,可能是因為升級而發生,或是在滾動升級中止之前,虛擬機健康情況檢查處於狀況不良狀態。 啟動任何批次之前,將會先檢查此條件約束。 此參數的預設值為 20%。 int

約束:
最小值 = 5
最大值 = 100
maxUnhealthyUpgradedInstancePercent 已升級的虛擬機實例百分比上限,這些實例可能處於狀況不良狀態。 升級每個批次之後,就會進行這項檢查。 如果超過此百分比,滾動更新就會中止。 此參數的預設值為 20%。 int

約束:
最小值 = 0
最大值 = 100
pauseTimeBetweenBatches 在一個批次中完成所有虛擬機的更新,以及啟動下一個批次之間的等候時間。 時間持續時間應以 ISO 8601 格式指定。 默認值為 0 秒, (PT0S) 。 字串
prioritizeUnhealthyInstances 在任何狀況良好的實例之前,升級擴展集中所有狀況不良的實例。 bool
rollbackFailedInstancesOnPolicyBreach 如果違反滾動升級原則,則復原失敗實例至先前的模型。 bool

VirtualMachineScaleSetVMProfile

名稱 描述
applicationProfile 指定應該提供給 VM/VMSS 使用的資源庫應用程式 ApplicationProfile
billingProfile 指定 Azure Spot VMSS 的計費相關詳細數據。 API 版本下限:2019-03-01。 BillingProfile
capacityReservation 指定擴展集的容量保留相關詳細數據。 API 版本下限:2021-04-01。 CapacityReservationProfile
diagnosticsProfile 指定開機診斷設定狀態。 API 版本下限:2015-06-15。 DiagnosticsProfile
收回原則 指定 Azure Spot 虛擬機和 Azure Spot 擴展集的收回原則。 針對 Azure Spot 虛擬機,同時支援「解除分配」和「刪除」,且最低 API 版本為 2019-03-01。 針對 Azure Spot 擴展集,同時支援 'Deallocate' 和 'Delete',且最低 api 版本為 2017-10-30-preview。 'Deallocate'
'Delete'
extensionProfile 指定擴展集中虛擬機上安裝之延伸模組的設定集合。 VirtualMachineScaleSetExtensionProfile
hardwareProfile 指定擴展集的硬體配置檔相關詳細數據。 API 版本下限:2021-11-01。 VirtualMachineScaleSetHardwareProfile
licenseType 指定正在使用的映像或磁碟是內部部署授權的。

Windows Server 操作系統的可能值為:

Windows_Client

Windows_Server

Linux Server 操作系統的可能值為:

RHEL) 的 RHEL_BYOS (

SUSE) 的 SLES_BYOS (

如需詳細資訊,請參閱 適用於 Windows Server 的 Azure Hybrid Use Benefit

適用於 Linux Server 的 Azure 混合式使用權益

API 版本下限:2015-06-15
字串
networkProfile 指定擴展集中虛擬機網路介面的屬性。 VirtualMachineScaleSetNetworkProfile
osProfile 指定擴展集中虛擬機的作業系統設定。 VirtualMachineScaleSetOSProfile
priority 指定擴展集中虛擬機的優先順序。 API 版本下限:2017-10-30-preview。 'Low'
'Regular'
'Spot'
scheduledEventsProfile 指定排程的事件相關組態。 ScheduledEventsProfile
securityPostureReference 指定要用於擴展集中所有虛擬機的安全性狀態。 最低 API 版本:2023-03-01 SecurityPostureReference
securityProfile 指定擴展集中虛擬機的安全性相關配置檔設定。 SecurityProfile
serviceArtifactReference 指定使用 'latest' 映射版本時,用來為擴展集中的所有虛擬機設定相同映像版本的服務成品參考標識符。 API 版本下限:2022-11-01 ServiceArtifactReference
storageProfile 指定虛擬機器磁碟的儲存體設定。 VirtualMachineScaleSetStorageProfile
userData 擴展集中虛擬機的UserData,必須經過base-64編碼。 客戶不應在此傳遞任何秘密。 API 版本下限:2021-03-01。 字串

ApplicationProfile

名稱 描述
galleryApplications 指定應該提供給 VM/VMSS 的資源庫應用程式 VMGalleryApplication[]

VMGalleryApplication

名稱 描述
configurationReference 選擇性,指定 Azure Blob 的 URI,以在提供時取代封裝的預設組態 字串
enableAutomaticUpgrade 如果設定為 true,當 PIR/SIG 中提供新的資源庫應用程式版本時,VM/VMSS 會自動更新它 bool
順序 選擇性,指定必須安裝套件的順序 int
packageReferenceId 指定 /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/applications/{application}/versions/{version} 形式的 GalleryApplicationVersion 資源標識符 字串 (必要)
tags 選擇性,指定更多泛型內容的傳遞值。 字串
treatFailureAsDeploymentFailure 選擇性,如果為 true,VmApplication 中任何作業的任何失敗都會失敗部署 bool

BillingProfile

名稱 描述
maxPrice 指定您願意支付 Azure Spot VM/VMSS 的最大價格。 此價格以美元為單位。

此價格將會與 VM 大小的目前 Azure Spot 價格進行比較。 此外,價格會在建立/更新 Azure Spot VM/VMSS 時進行比較,而且只有在 maxPrice 大於目前的 Azure Spot 價格時,作業才會成功。

如果目前的 Azure Spot 價格超出建立 VM/VMSS 之後的 maxPrice,maxPrice 也會用於收回 Azure Spot VM/VMSS。

可能的值包括:

- 任何大於零的十進位值。 範例:0.01538

-1 – 表示預設價格為隨選。

您可以將 maxPrice 設定為 -1,以指出基於價格考慮,不應收回 Azure Spot VM/VMSS。 此外,如果默認價格不是由您提供,則為 -1。

API 版本下限:2019-03-01。 若要指定十進位值,請使用 json () 函式。
int 或 json decimal

CapacityReservationProfile

名稱 描述
capacityReservationGroup 指定容量保留群組資源標識符,此標識元應該用於配置虛擬機或擴展集 VM 實例,前提是已保留足夠的容量。 如需詳細資訊, https://aka.ms/CapacityReservation 請參閱 。 SubResource

DiagnosticsProfile

名稱 描述
bootDiagnostics 開機診斷是一項偵錯功能,可讓您檢視控制台輸出和螢幕快照來診斷 VM 狀態。 注意:如果指定 storageUri,請確定記憶體帳戶位於與 VM 相同的區域和訂用帳戶中。 您可以輕鬆地檢視主控台記錄的輸出。 Azure 也可讓您從 Hypervisor 查看 VM 的螢幕快照。 BootDiagnostics

BootDiagnostics

名稱 描述
已啟用 虛擬機上是否應該啟用開機診斷。 bool
storageUri 用來放置主控台輸出和螢幕快照的記憶體帳戶 URI。 如果在啟用開機診斷時未指定 storageUri,則會使用受控記憶體。 字串

VirtualMachineScaleSetExtensionProfile

名稱 描述
擴充功能 虛擬機擴展集子擴充功能資源。 VirtualMachineScaleSetExtension[]
extensionsTimeBudget 指定要啟動之所有延伸模組的加註時間。 持續時間應介於 15 分鐘到 120 分鐘之間, (內含) ,且應以 ISO 8601 格式指定。 預設值為90分鐘 (PT1H30M) 。 API 版本下限:2020-06-01。 字串

VirtualMachineScaleSetExtension

名稱 描述
NAME 延伸模組的名稱。 字串
properties 描述虛擬機擴展集擴充功能的屬性。 VirtualMachineScaleSetExtensionProperties

VirtualMachineScaleSetExtensionProperties

名稱 描述
autoUpgradeMinorVersion 指出擴充功能是否應該在部署時間使用較新的次要版本。 不過,部署之後,除非重新部署延伸模組,否則延伸模組將不會升級次要版本,即使此屬性設定為 true 亦然。 bool
enableAutomaticUpgrade 指出如果有較新版本的擴充功能可用,平臺是否應該自動升級延伸模組。 bool
forceUpdateTag 如果提供值且與先前的值不同,即使延伸模組組態尚未變更,延伸模塊處理程式仍會強制更新。 字串
protectedSettings 此延伸模組可以包含 protectedSettings 或 protectedSettingsFromKeyVault 或完全沒有受保護的設定。 針對 Bicep,您可以使用 任何 () 函式。
protectedSettingsFromKeyVault 以傳址方式傳遞的延伸模組受保護設定,並從金鑰保存庫取用的擴充功能 KeyVaultSecretReference
provisionAfterExtensions 延伸模組名稱的集合,之後必須布建此延伸模組。 string[]
publisher 擴充處理程序發行者的名稱。 字串
設定 擴充功能的 Json 格式化公用設定。 針對 Bicep,您可以使用 任何 () 函式。
suppressFailures 指出延伸模組的失敗是否會隱藏 (作業失敗,例如不會連線到 VM,而不論此值) 為何。 預設值為 false。 bool
類型 指定延伸模組的類型;範例為 「CustomScriptExtension」。。 字串
typeHandlerVersion 指定文稿處理程式的版本。 字串

KeyVaultSecretReference

名稱 描述
secretUrl 參考 金鑰保存庫 秘密的 URL。 字串 (必要)
sourceVault 包含秘密之 金鑰保存庫的相對 URL。 必要子資源 ()

VirtualMachineScaleSetHardwareProfile

名稱 描述
vmSizeProperties 指定自定義虛擬機大小的屬性。 API 版本下限:2021-11-01。 如需詳細資訊,請遵循 VM 自定義 中的指示。 VMSizeProperties

VMSizeProperties

名稱 描述
vCPUAvailable 指定 VM 可用的 vCPU 數目。 在要求本文中未指定這個屬性時,預設行為是將它設定為 API 回應中公開該 VM 大小的 vCPU 值, 以列出區域中所有可用的虛擬機大小 int
vCPUPerCore 指定 vCPU 與實體核心比率。 在要求本文中未指定這個屬性時,預設行為會針對在 API 回應中公開的 VM 大小設定為 vCPUPerCore 的值,以 列出區域中所有可用的虛擬機大小將此屬性設定為 1 也表示超線程已停用。 int

VirtualMachineScaleSetNetworkProfile

名稱 描述
healthProbe 負載平衡器探查的參考,用來判斷虛擬機擴展集中實例的健康情況。 參考的格式為:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'。 ApiEntityReference
networkApiVersion 指定在具有協調流程模式 「彈性」的虛擬機擴展集網路介面設定中建立網路資源時所使用的 Microsoft.Network API 版本 '2020-11-01'
networkInterfaceConfigurations 網路組態的清單。 VirtualMachineScaleSetNetworkConfiguration[]

ApiEntityReference

名稱 描述
id /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 格式的 ARM 資源標識符 字串

VirtualMachineScaleSetNetworkConfiguration

名稱 描述
NAME 網路組態名稱。 字串 (必要)
properties 描述虛擬機擴展集網路配置檔的IP組態。 VirtualMachineScaleSetNetworkConfigurationProperties

VirtualMachineScaleSetNetworkConfigurationProperties

名稱 描述
auxiliaryMode 指定是否為網路介面資源啟用輔助模式。 'AcceleratedConnections'
'Floating'
'None'
auxiliarySku 指定是否為網路介面資源啟用輔助 SKU。 'A1'
'A2'
'A4'
'A8'
'None'
deleteOption 指定刪除 VM 時網路介面會發生什麼事 'Delete'
'Detach'
disableTcpStateTracking 指定是否停用 tcp 狀態追蹤的網路介面。 bool
dnsSettings 要套用在網路介面上的 DNS 設定。 VirtualMachineScaleSetNetworkConfigurationDnsSetting...
enableAcceleratedNetworking 指定網路介面是否已啟用加速網路功能。 bool
enableFpga 指定網路介面是否已啟用 FPGA 網路功能。 bool
enableIPForwarding 是否在此 NIC 上啟用 IP 轉送。 bool
ipConfigurations 指定網路介面的IP組態。 VirtualMachineScaleSetIPConfiguration[] (必要)
networkSecurityGroup 網路安全組。 SubResource
primary 指定虛擬機有1個以上的網路介面時的主要網路介面。 bool

VirtualMachineScaleSetNetworkConfigurationDnsSetting...

名稱 描述
dnsServers DNS 伺服器 IP 位址清單 string[]

VirtualMachineScaleSetIPConfiguration

名稱 描述
NAME IP 組態名稱。 需要字串 ()
properties 描述虛擬機擴展集網路配置檔的IP組態屬性。 VirtualMachineScaleSetIPConfigurationProperties

VirtualMachineScaleSetIPConfigurationProperties

名稱 描述
applicationGatewayBackendAddressPools 指定應用程式閘道後端位址池的參考數位。 擴展集可以參考多個應用程式閘道的後端位址池。 多個擴展集無法使用相同的應用程式閘道。 SubResource[]
applicationSecurityGroups 指定應用程式安全組的參考陣列。 SubResource[]
loadBalancerBackendAddressPools 指定負載平衡器後端位址池的參考陣列。 擴展集可以參考一個公用和一個內部負載平衡器的後端位址池。 多個擴展集無法使用相同的基本 SKU 負載平衡器。 SubResource[]
loadBalancerInboundNatPools 指定負載平衡器輸入 Nat 集區的參考陣列。 擴展集可以參考一個公用和一個內部負載平衡器的輸入 nat 集區。 多個擴展集無法使用相同的基本 SKU 負載平衡器。 SubResource[]
primary 指定虛擬機有1個以上的網路介面時的主要網路介面。 bool
privateIPAddressVersion 從 Api-Version 2017-03-30 起提供,它代表特定 ipconfiguration 是 IPv4 或 IPv6。 預設值會採用為 IPv4。 可能的值為:'IPv4' 和 'IPv6'。 'IPv4'
'IPv6'
publicIPAddressConfiguration publicIPAddressConfiguration。 VirtualMachineScaleSetPublicIPAddressConfiguration
子網路 指定子網的識別碼。 ApiEntityReference

VirtualMachineScaleSetPublicIPAddressConfiguration

名稱 描述
NAME publicIP 位址組態名稱。 需要字串 ()
properties 描述虛擬機擴展集IP組態的PublicIPAddress設定 VirtualMachineScaleSetPublicIPAddressConfigurationPr...
sku 描述公用IP Sku。 它只能以 OrchestrationMode 設定為彈性。 PublicIPAddressSku

VirtualMachineScaleSetPublicIPAddressConfigurationPr...

名稱 描述
deleteOption 指定刪除 VM 時公用 IP 會發生什麼事 'Delete'
'Detach'
dnsSettings 要套用在 publicIP 位址 上的 DNS 設定。 VirtualMachineScaleSetPublicIPAddressConfigurationDn...
idleTimeoutInMinutes 公用IP位址的閒置逾時。 int
ipTags 與公用IP位址相關聯的IP標籤清單。 VirtualMachineScaleSetIpTag[]
publicIPAddressVersion 從 Api-Version 2019-07-01 開始提供,它代表特定 ipconfiguration 是 IPv4 或 IPv6。 預設值會採用為 IPv4。 可能的值為:'IPv4' 和 'IPv6'。 'IPv4'
'IPv6'
publicIPPrefix 要從中配置 publicIP 位址的 PublicIPPrefix。 SubResource

VirtualMachineScaleSetPublicIPAddressConfigurationDn...

名稱 描述
domainNameLabel 功能變數名稱標籤。功能變數名稱標籤和 VM 索引的串連將會是將建立之 PublicIPAddress 資源的功能變數名稱標籤 需要字串 ()
domainNameLabelScope 功能變數名稱標籤範圍。根據功能變數名稱卷標範圍的原則所產生的哈希功能變數名稱卷標串連,vm 索引將會是將建立之 PublicIPAddress 資源的功能變數名稱卷標 'NoReuse'
'ResourceGroupReuse'
'SubscriptionReuse'
'TenantReuse'

VirtualMachineScaleSetIpTag

名稱 描述
ipTagType IP 標籤類型。 範例:FirstPartyUsage。 字串
標籤 與公用IP相關聯的IP標籤。 範例:SQL、記憶體等。 字串

PublicIPAddressSku

名稱 描述
NAME 指定公用IP SKU 名稱 'Basic'
'Standard'
tier 指定公用IP SKU層 'Global'
'Regional'

VirtualMachineScaleSetOSProfile

名稱 描述
adminPassword 指定系統管理員帳戶的密碼。

Windows) 長度下限 (: 8 個字元

Linux) 長度下限 (: 6 個字元

Windows) 長度上限 (: 123 個字元

Linux) 長度上限 (: 72 個字元

複雜度需求: 下列 4 個條件中需要滿足 3 個條件
字元較低
具有大字元
具有數位
具有特殊字元 (Regex 比對 [\W_])

不允許的值: “abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“P@ssword123”、“pa$$word”、“Password!”、“Password1”、“Password22”、“P@ssword123!”

如需重設密碼,請參閱 如何在 Windows VM 中重設遠端桌面服務或其登入密碼

如需重設根密碼,請參閱 使用 VMAccess 擴充功能管理使用者、SSH 及檢查或修復 Azure Linux VM 上的磁碟
字串

約束:
敏感性值。 以安全參數的形式傳入。
adminUsername 指定系統管理員帳戶的名稱。

僅限 Windows 的限制: 無法結束於 “.”

不允許的值: “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”。

Linux) 長度下限 (: 1 個字元

Linux) 長度上限 (: 64 個字元

Windows) 長度上限 (: 20 個字元
字串
allowExtensionOperations 指定是否應在虛擬機擴展集上允許擴充功能作業。 只有在虛擬機擴展集上沒有擴充功能時,才能將此設定為 False。 bool
computerNamePrefix 指定擴展集中所有虛擬機的計算機名稱前置詞。 計算機名稱前置詞長度必須為1到15個字元。 字串
customData 指定自訂資料的 Base-64 編碼字串。 Base-64 編碼字串會解碼成二進位陣列而儲存為虛擬機器上的檔案。 二進位陣列的長度上限是 65535 個位元組。 如需針對 VM 使用 cloud-init,請參閱在建立期間使用 cloud-init 自定義 Linux VM 字串
linuxConfiguration 指定虛擬機上的Linux作業系統設定。 如需支援的Linux發行版清單,請參閱 Azure-Endorsed 發行版上的Linux LinuxConfiguration
requireGuestProvisionSignal 必須設定為 True 或省略的選擇性屬性。 bool
密碼 指定應該安裝在擴展集中虛擬機上的憑證集。 若要在虛擬機上安裝憑證,建議使用適用於Linux的 Azure 金鑰保存庫 虛擬機擴充功能適用於Windows的 Azure 金鑰保存庫 虛擬機擴充功能 VaultSecretGroup[]
windowsConfiguration 指定虛擬機器上的 Windows 作業系統設定。 WindowsConfiguration

LinuxConfiguration

名稱 描述
disablePasswordAuthentication 指定是否應該停用密碼驗證。 bool
enableVMAgentPlatformUpdates 指出是否已針對Linux虛擬機啟用VMAgent Platform 匯報。 預設值為 False。 bool
patchSettings [預覽功能]指定與Linux上的VM客體修補相關的設定。 LinuxPatchSettings
provisionVMAgent 指出是否應該在虛擬機器上佈建虛擬機器代理程式。 當要求本文中未指定這個屬性時,預設行為是將它設定為 true。 這可確保 VM 代理程式已安裝在 VM 上,以便稍後將擴充功能新增至 VM。 bool
ssh 指定 Linux OS 的 SSH 金鑰組態。 SshConfiguration

LinuxPatchSettings

名稱 描述
assessmentMode 指定 IaaS 虛擬機的 VM 客體修補評估模式。

可能的值包括:

ImageDefault - 您可以在虛擬機上控制修補程式評估的時間。

AutomaticByPlatform - 平臺會觸發定期修補評估。 屬性 provisionVMAgent 必須是 true。
'AutomaticByPlatform'
'ImageDefault'
automaticByPlatformSettings 在 Linux 上的 VM 客體修補中指定 Patch 模式 AutomaticByPlatform 的其他設定。 LinuxVMGuestPatchAutomaticByPlatformSettings
patchMode 指定 VM 客體修補至 IaaS 虛擬機的模式,或與 OrchestraMode 為彈性的虛擬機擴展集相關聯的虛擬機。

可能的值包括:

ImageDefault - 會使用虛擬機的默認修補組態。

AutomaticByPlatform - 虛擬機將會由平台自動更新。 provisionVMAgent 屬性必須是 true
'AutomaticByPlatform'
'ImageDefault'

LinuxVMGuestPatchAutomaticByPlatformSettings

名稱 描述
bypassPlatformSafetyChecksOnUserSchedule 讓客戶排程修補而不意外升級 bool
rebootSetting 指定所有 AutomaticByPlatform 修補程式安裝作業的重新啟動設定。 'Always'
'IfRequired'
'Never'
'Unknown'

SshConfiguration

名稱 描述
publicKeys 用來向Linux型VM進行驗證的SSH公鑰清單。 SshPublicKey[]

SshPublicKey

名稱 描述
keyData 用來透過 ssh 向 VM 進行驗證的 SSH 公鑰憑證。 密鑰至少必須是 2048 位,且以 ssh-rsa 格式表示。 如需建立 ssh 金鑰,請參閱 [在 Azure 中的 Linux 和 Mac 上建立 Linux VM 的 SSH 金鑰]/azure/virtual-machines/linux/create-ssh-keys-detailed) 。 字串
path 指定儲存 ssh 公鑰之已建立 VM 上的完整路徑。 如果檔案已經存在,指定的金鑰就會附加至該檔案。 範例:/home/user/.ssh/authorized_keys 字串

VaultSecretGroup

名稱 描述
sourceVault 金鑰保存庫 的相對 URL,其中包含 VaultCertificates 中的所有憑證。 SubResource
vaultCertificates SourceVault 中包含憑證的金鑰保存庫參考清單。 VaultCertificate[]

VaultCertificate

名稱 描述
certificateStore 針對 Windows VM,指定應該新增憑證之虛擬機上的證書存儲。 指定的證書存儲隱含地位於LocalMachine帳戶中。 針對Linux VM,憑證檔案會放在 /var/lib/waagent 目錄底下,而 X509 憑證檔案的檔名<為 UppercaseThumbprint.crt,而<私鑰則為 UppercaseThumbprint.prv>>。 這兩個檔案都是 .pem 格式。 字串
certificateUrl 這是已上傳至 金鑰保存庫 做為秘密的憑證 URL。 如需將秘密新增至 金鑰保存庫,請參閱將密鑰或秘密新增至密鑰保存庫。 在此情況下,您的憑證必須是下列 JSON 物件的 Base64 編碼,其編碼方式為 UTF-8:

{
“data”:“{Base64-encoded-certificate}”,
“dataType”:“pfx”,
“password”:“{pfx-file-password}”
}
若要在虛擬機上安裝憑證,建議您使用適用於Linux的 Azure 金鑰保存庫 虛擬機擴充功能適用於 Windows 的 Azure 金鑰保存庫 虛擬機擴充功能
字串

WindowsConfiguration

名稱 描述
additionalUnattendContent 指定可併入 Unattend.xml 檔案 (由 Windows 安裝程式使用) 的額外 Base-64 編碼 XML 格式資訊。 AdditionalUnattendContent[]
enableAutomaticUpdates 指出是否為 Windows 虛擬機啟用自動 匯報。 預設值為 true。 對於虛擬機擴展集,此屬性可以更新,且更新會在OS重新佈建上生效。 bool
enableVMAgentPlatformUpdates 指出是否已針對 Windows 虛擬機啟用 VMAgent Platform 匯報。 預設值為 False。 bool
patchSettings [預覽功能]指定與 Windows 上的 VM 客體修補相關的設定。 PatchSettings
provisionVMAgent 指出是否應該在虛擬機器上佈建虛擬機器代理程式。 當要求本文中未指定這個屬性時,預設會設定為 true。 這可確保 VM 代理程式已安裝在 VM 上,以便稍後將擴充功能新增至 VM。 bool
timeZone 指定虛擬機的時區。 例如“Pacific Standard Time”。 可能的值可以從 TimeZoneInfo.GetSystemTimeZones 傳回的時區 TimeZoneInfo.Id 值。 字串
winRM 指定 Windows 遠端管理接聽程式。 藉此將啟用遠端 Windows PowerShell。 WinRMConfiguration

AdditionalUnattendContent

名稱 描述
componentName 元件名稱。 目前唯一允許的值是 Microsoft-Windows-Shell-Setup。 'Microsoft-Windows-Shell-Setup'
內容 針對指定的路徑和元件,指定新增至 unattend.xml 檔案的 XML 格式內容。 XML 必須小於 4KB,而且必須包含要插入之設定或功能的根元素。 字串
passName 傳遞名稱。 目前唯一允許的值是 OobeSystem。 'OobeSystem'
settingName 指定要套用內容之設定的名稱。 可能的值為:FirstLogonCommands 和 AutoLogon。 'AutoLogon'
'FirstLogonCommands'

PatchSettings

名稱 描述
assessmentMode 指定 IaaS 虛擬機的 VM 客體修補評估模式。

可能的值包括:

ImageDefault - 您可以在虛擬機上控制修補程式評估的時間。

AutomaticByPlatform - 平臺會觸發定期修補評估。 屬性 provisionVMAgent 必須是 true。
'AutomaticByPlatform'
'ImageDefault'
automaticByPlatformSettings 指定 Windows 上 VM 客體修補中的 Patch 模式 AutomaticByPlatform 的其他設定。 WindowsVMGuestPatchAutomaticByPlatformSettings
enableHotpatching 可讓客戶修補其 Azure VM,而不需要重新啟動。 針對 enableHotpatching,'provisionVMAgent' 必須設定為 true,而且 'patchMode' 必須設定為 'AutomaticByPlatform'。 bool
patchMode 指定 VM 客體修補至 IaaS 虛擬機的模式,或與 OrchestraMode 為彈性的虛擬機擴展集相關聯的虛擬機。

可能的值包括:

手動 - 您可以控制將修補程式應用程式套用至虛擬機。 您可以在 VM 內手動套用修補程式來執行此動作。 在此模式中,自動更新會停用;屬性 WindowsConfiguration.enableAutomaticUpdates 必須為 false

AutomaticByOS - 作業系統會自動更新虛擬機。 WindowsConfiguration.enableAutomaticUpdates 屬性必須是 true。

AutomaticByPlatform - 虛擬機將會由平台自動更新。 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 屬性必須是 true
'AutomaticByOS'
'AutomaticByPlatform'
'Manual'

WindowsVMGuestPatchAutomaticByPlatformSettings

名稱 描述
bypassPlatformSafetyChecksOnUserSchedule 讓客戶排程修補而不意外升級 bool
rebootSetting 指定所有 AutomaticByPlatform 修補程式安裝作業的重新啟動設定。 'Always'
'IfRequired'
'Never'
'Unknown'

WinRMConfiguration

名稱 描述
接聽程式 Windows 遠端管理接聽程式清單 WinRMListener[]

WinRMListener

名稱 描述
certificateUrl 這是已上傳至 金鑰保存庫 作為秘密之憑證的 URL。 如需將秘密新增至 金鑰保存庫,請參閱將密鑰或秘密新增至密鑰保存庫。 在此情況下,您的憑證必須是以UTF-8編碼的下列 JSON 物件的Base64編碼:

{
“data”:“{Base64-encoded-certificate}”,
“dataType”:“pfx”,
“password”:“{pfx-file-password}”
}
若要在虛擬機上安裝憑證,建議使用適用於Linux的 Azure 金鑰保存庫 虛擬機擴充功能適用於Windows的 Azure 金鑰保存庫 虛擬機擴充功能
字串
protocol 指定 WinRM 接聽程式的通訊協定。 可能的值為: HTTP、https。 'Http'
'Https'

ScheduledEventsProfile

名稱 描述
osImageNotificationProfile 指定OS映像排程事件相關組態。 OSImageNotificationProfile
terminateNotificationProfile 指定終止排程事件相關組態。 TerminateNotificationProfile

OSImageNotificationProfile

名稱 描述
enable 指定是否啟用或停用OS映像排程事件。 bool
notBeforeTimeout 虛擬機重新映像或升級操作系統的時間長度,在事件自動核准之前,必須先核准OS映射排程事件, (逾時) 。 組態是以 ISO 8601 格式指定,值必須是 15 分鐘 (PT15M) 字串

TerminateNotificationProfile

名稱 描述
enable 指定是否啟用或停用 Terminate Scheduled 事件。 bool
notBeforeTimeout 刪除虛擬機的可設定時間長度,在事件自動核准之前,虛擬機必須核准終止排程事件, (逾時) 。 設定必須以 ISO 8601 格式指定,預設值為 5 分鐘, (PT5M) 字串

SecurityPostureReference

名稱 描述
excludeExtensions 套用安全性狀態時要排除的虛擬機擴充功能清單。 VirtualMachineExtension[]
id 安全性狀態參考標識符的格式為 /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch},{major.*},latest 字串

VirtualMachineExtension

名稱 描述
location 資源位置 字串
properties 描述虛擬機擴充功能的屬性。 VirtualMachineExtensionProperties
tags 資源標籤 物件 (object)

VirtualMachineExtensionProperties

名稱 描述
autoUpgradeMinorVersion 指出擴充功能是否應該在部署時間使用較新的次要版本。 不過,部署之後,除非重新部署延伸模組,否則延伸模組將不會升級次要版本,即使此屬性設定為 true 亦然。 bool
enableAutomaticUpgrade 指出如果有較新版本的擴充功能可用,平臺是否應該自動升級延伸模組。 bool
forceUpdateTag 延伸模組處理程式應該如何強制更新,即使延伸模組組態尚未變更也一樣。 字串
instanceView 虛擬機擴充實例檢視。 VirtualMachineExtensionInstanceView
protectedSettings 延伸模組可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或完全不包含受保護的設定。 針對 Bicep,您可以使用 任何 () 函式。
protectedSettingsFromKeyVault 以傳址方式傳遞並從金鑰保存庫取用的延伸模組受保護設定 KeyVaultSecretReference
provisionAfterExtensions 延伸模組名稱的集合,之後必須布建此延伸模組。 string[]
publisher 擴充處理程序發行者的名稱。 字串
設定 延伸模組的 Json 格式化公用設定。 針對 Bicep,您可以使用 任何 () 函式。
suppressFailures 指出從擴充功能產生的失敗是否會隱藏 (作業失敗,例如不會連線到 VM,而不論此值為何) 。 預設值為 false。 bool
類型 指定延伸模組的類型;例如“CustomScriptExtension”。 字串
typeHandlerVersion 指定文稿處理程式的版本。 字串

VirtualMachineExtensionInstanceView

名稱 描述
NAME 虛擬機擴充功能名稱。 字串
狀態 資源狀態資訊。 InstanceViewStatus[]
子狀態 資源狀態資訊。 InstanceViewStatus[]
類型 指定延伸模組的類型;例如“CustomScriptExtension”。 字串
typeHandlerVersion 指定文稿處理程式的版本。 字串

InstanceViewStatus

名稱 描述
code 狀態碼。 字串
displayStatus 狀態的簡短可當地語系化標籤。 字串
等級 層級程序代碼。 'Error'
'Info'
'Warning'
message 詳細的狀態消息,包括警示和錯誤訊息。 字串
time 狀態的時間。 字串

SecurityProfile

名稱 描述
encryptionAtHost 用戶可以在要求中使用此屬性,以啟用或停用虛擬機或虛擬機擴展集的主機加密。 這會啟用所有磁碟的加密,包括主機本身的資源/暫存磁碟。 默認行為為:除非資源將此屬性設定為 true,否則將會停用主機加密。 bool
encryptionIdentity 指定 ADE 用來取得金鑰保存庫作業存取令牌的受控識別。 EncryptionIdentity
proxyAgentSettings 指定建立虛擬機時的 ProxyAgent 設定。 API 版本下限:2023-09-01。 ProxyAgentSettings
securityType 指定虛擬機的 SecurityType。 它必須設定為任何指定的值,才能啟用 UefiSettings。 默認行為為:除非設定此屬性,否則不會啟用 UefiSettings。 'ConfidentialVM'
'TrustedLaunch'
uefiSettings 指定安全性設定,例如建立虛擬機時所使用的安全開機和 vTPM。 API 版本下限:2020-12-01。 UefiSettings

EncryptionIdentity

名稱 描述
userAssignedIdentityResourceId 指定與 VM 相關聯的其中一個使用者身分識別的 ARM 資源識別碼。 字串

ProxyAgentSettings

名稱 描述
已啟用 指定是否應在虛擬機或虛擬機擴展集上啟用 ProxyAgent 功能。 bool
keyIncarnationId 增加此屬性的值可讓使用者重設用來保護客體與主機之間通道的密鑰。 int
mode 指定如果啟用此功能,ProxyAgent 將會在 上執行的模式。 ProxyAgent 會開始稽核或監視,但不會對稽核模式中的主機端點要求強制執行訪問控制,而在 [強制執行] 模式中,則會強制執行訪問控制。 默認值為 [強制] 模式。 'Audit'
'Enforce'

UefiSettings

名稱 描述
secureBootEnabled 指定是否應在虛擬機上啟用安全開機。 API 版本下限:2020-12-01。 bool
vTpmEnabled 指定是否應在虛擬機上啟用 vTPM。 API 版本下限:2020-12-01。 bool

ServiceArtifactReference

名稱 描述
id 服務成品參考標識符的格式為 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} 字串

VirtualMachineScaleSetStorageProfile

名稱 描述
dataDisks 指定參數,用來將數據磁碟新增至擴展集中的虛擬機。 如需磁碟的詳細資訊,請參閱 關於 Azure 虛擬機的磁碟和 VHD VirtualMachineScaleSetDataDisk[]
diskControllerType 字串
imageReference 指定要使用之映像的相關信息。 您可以指定平臺映像、市集映像或虛擬機映像的相關信息。 當您想要使用平臺映像、市集映像或虛擬機映像,但不會用於其他建立作業時,需要此元素。 ImageReference
osDisk 指定擴展集中虛擬機所使用的操作系統磁碟相關信息。 如需磁碟的詳細資訊,請參閱 關於 Azure 虛擬機的磁碟和 VHD VirtualMachineScaleSetOSDisk

VirtualMachineScaleSetDataDisk

名稱 描述
快取 指定快取需求。 可能的值為: None、ReadOnly、ReadWrite。 預設值為: 標準記憶體為 None。進階記憶體的 ReadOnly。 'None'
'ReadOnly'
'ReadWrite'
createOption 建立選項。 'Attach'
'Empty'
'FromImage' (必要)
deleteOption 指定是否應該在 VMSS Flex 刪除時刪除或中斷連結數據磁碟 (此功能僅適用於只有彈性協調流程模式的 VMSS) 。

可能的值:

刪除 如果使用此值,則會在刪除 VMSS Flex VM 時刪除資料磁碟。

分離 如果使用此值,則會在刪除 VMSS Flex VM 之後保留數據磁碟。

預設值設定為 Delete
'Delete'
'Detach'
diskIOPSReadWrite 指定受控磁碟的 Read-Write IOPS。 只有當 StorageAccountType UltraSSD_LRS時,才應該使用。 如果未指定,則會根據diskSizeGB指派預設值。 int
diskMBpsReadWrite 指定受控磁碟每秒 MB 的頻寬。 只有當 StorageAccountType UltraSSD_LRS時,才應該使用。 如果未指定,則會根據diskSizeGB指派預設值。 int
diskSizeGB 指定以 GB 為單位的空白資料磁碟大小。 此元素可用來覆寫虛擬機映像中的磁碟大小。 屬性 diskSizeGB 是磁碟的位元組 x 1024^3 數目,且值不能大於 1023。 int
lun 指定數據磁碟的邏輯單位編號。 此值是用來識別 VM 內的數據磁碟,因此對於連結至 VM 的每個數據磁碟而言,都必須是唯一的。 int (必要)
ManagedDisk 受控磁碟參數。 VirtualMachineScaleSetManagedDiskParameters
NAME 磁碟名稱。 字串
writeAcceleratorEnabled 指定是否應該在磁碟上啟用或停用 writeAccelerator。 bool

VirtualMachineScaleSetManagedDiskParameters

名稱 描述
diskEncryptionSet 指定受控磁碟的客戶受控磁碟加密集資源標識符。 DiskEncryptionSetParameters
securityProfile 指定受控磁碟的安全性配置檔。 VMDiskSecurityProfile
storageAccountType 指定受控磁碟的記憶體帳戶類型。 注意:UltraSSD_LRS只能與數據磁碟搭配使用,因此無法與OS磁碟搭配使用。 'PremiumV2_LRS'
'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'
'UltraSSD_LRS'

DiskEncryptionSetParameters

名稱 描述
id 資源標識碼 字串

VMDiskSecurityProfile

名稱 描述
diskEncryptionSet 針對客戶受控密鑰加密的機密VM OS 磁碟和 VMGuest Blob 所使用的受控磁碟,指定客戶受控磁碟加密集資源識別碼。 DiskEncryptionSetParameters
securityEncryptionType 指定受控磁碟的 EncryptionType。 它設定為 DiskWithVMGuestState 以加密受控磁碟以及 VMGuestState Blob、VMGuestStateOnly 只加密 VMGuestState Blob,以及 NonPersistedTPM 表示未在 VMGuestState Blob 中保存韌體狀態。 注意: 它只能設定為機密 VM。 'DiskWithVMGuestState'
'NonPersistedTPM'
'VMGuestStateOnly'

ImageReference

名稱 描述
communityGalleryImageId 指定 VM 部署的社群資源庫映像唯一標識碼。 這可以從社群資源庫映像 GET 呼叫擷取。 字串
id 資源標識碼 字串
供應項目 指定用來建立虛擬機的平臺映像或市集映像供應專案。 字串
publisher 映像發行者。 字串
sharedGalleryImageId 指定 VM 部署的共享資源庫映像唯一識別碼。 這可以從共用資源庫映像 GET 呼叫擷取。 字串
sku 映像 SKU。 字串
version 指定用來建立虛擬機的平臺映像或 Marketplace 映像版本。 允許的格式為 Major.Minor.Build 或 'latest'。 主要、次要和組建都是十進位數。 指定「最新」以使用部署階段可用的最新映像版本。 即使您使用「最新」,即使有新版本可供使用,VM 映像也不會在部署時間之後自動更新。 請勿針對資源庫映射部署使用字段 'version',資源庫映射應該一律使用 'id' 字段進行部署,若要使用資源庫映射的 'latest' 版本,只要設定 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageName}',就不需要輸入版本。 字串

VirtualMachineScaleSetOSDisk

名稱 描述
快取 指定快取需求。 可能的值為: None、ReadOnly、ReadWrite。 預設值為: 標準記憶體的 None。進階記憶體的 ReadOnly。 'None'
'ReadOnly'
'ReadWrite'
createOption 指定應如何建立擴展集中的虛擬機。 唯一允許的值為: FromImage。 當您使用映像來建立虛擬機時,會使用此值。 如果您使用平臺映像,則也會使用上述的 imageReference 元素。 如果您使用 Marketplace 映射,則也會使用先前所述的 plan 元素。 'Attach'
'Empty'
需要 『FromImage』 ()
deleteOption 指定是否應在 VMSS Flex 刪除時刪除或卸離 OS 磁碟 (此功能僅適用於只有彈性協調流程模式的 VMSS) 。

可能的值:

刪除 如果使用此值,則會在刪除 VMSS Flex VM 時刪除 OS 磁碟。

分離 如果使用此值,則會在刪除 VMSS Flex VM 之後保留 OS 磁碟。

預設值設定為 Delete。 針對暫時OS磁碟,預設值會設定為 Delete。 使用者無法變更暫時 OS 磁碟的刪除選項。
'Delete'
'Detach'
diffDiskSettings 指定虛擬機擴展集所使用作業系統磁碟的暫時磁碟設定。 DiffDiskSettings
diskSizeGB 指定以 GB 為單位的空白資料磁碟大小。 此元素可用來覆寫虛擬機映像中的磁碟大小。 屬性 'diskSizeGB' 是磁碟的位元組 x 1024^3 數目,值不能大於 1023。 int
image 指定要根據擴展集的 Unmanaged 使用者映像相關信息。 VirtualHardDisk
ManagedDisk 受控磁碟參數。 VirtualMachineScaleSetManagedDiskParameters
NAME 磁碟名稱。 字串
osType 此屬性可讓您指定從使用者映像或特製化 VHD 建立 VM 時,磁碟包含的 OS 類型。 可能的值為: Windows、Linux。 'Linux'
'Windows'
vhdContainers 指定用來儲存擴展集作業系統磁碟的容器 URL。 string[]
writeAcceleratorEnabled 指定是否應該在磁碟上啟用或停用 writeAccelerator。 bool

DiffDiskSettings

名稱 描述
選項 指定作業系統磁碟的暫時磁碟設定。 'Local'
放置 指定作業系統磁碟的暫時磁碟位置。 可能的值為: CacheDisk、ResourceDisk。 默認行為為:如果已針對 VM 大小設定 快取Disk ,否則會使用 ResourceDisk 。 請參閱 /azure/virtual-machines/windows/size 和 Linux VM 在 /azure/virtual-machines/linux/size 上 Windows VM 的 VM 大小檔,以檢查哪些 VM 大小會公開快取磁碟。 'CacheDisk'
'ResourceDisk'

VirtualHardDisk

名稱 描述
uri 指定虛擬硬碟的 URI。 字串

SKU

名稱 描述
處理能力 指定擴展集中的虛擬機數目。 int
NAME SKU 名稱。 字串
tier 指定擴展集中的虛擬機層。

可能的值如下:

標準

基本
字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
使用 LB 探查和自動修復部署 VM 擴展集

部署至 Azure
此範本可讓您在已設定健康情況探查的負載平衡器後方部署Linux VM的VM擴展集。 擴展集也啟用自動實例修復原則,寬限期為 30 分鐘。
部署將每個 VM 連線至 Azure 檔案儲存體 共用的 VMSS

部署至 Azure
此範本會部署 Ubuntu 虛擬機擴展集,並使用自定義腳本擴充功能將每個 VM 連線至 Azure 檔案儲存體 共用
使用自定義腳本擴充功能部署 Windows VM 擴展集

部署至 Azure
此範本可讓您使用各種 Windows 版本的最新修補版本來部署 Windows VM 的 VM 擴展集。 這些 VM 具有自定義腳本擴充功能,且位於負載平衡器後方,且具有 rdp 連線的 NAT 規則。
將擴展集部署到現有的 vnet

部署至 Azure
此範本會將 VM 擴展集部署到現有的 vnet。
將多個 VM 新增至虛擬機擴展集

部署至 Azure
此範本會使用受控磁碟、公用IP和網路介面建立 N 個 VM 數目。 它會在彈性協調流程模式的虛擬機擴展集中建立 VM。 它們將會在部署過程中建立的 虛擬網路 中布建
VMSS 彈性協調流程模式快速入門 Linux

部署至 Azure
此範本會在 Azure Load Balancer 後部署具有實例的簡單 VM 擴展集。 VM 擴展集處於彈性協調流程模式。 使用 os 參數選擇 Linux (Ubuntu) 或 Windows (Windows Server Datacenter 2019) 部署。 注意:本快速入門範本可讓您從任何因特網位址存取 VM 管理埠, (SSH、RDP) ,且不應用於生產部署。
使用 ILB 後方的 Linux VM 部署 VM 擴展集

部署至 Azure
此範本可讓您使用最新修補的UbuntuLinux 15.10或14.04.4-4-LTS版本來部署Linux VM的 VM 擴展集。 這些 VM 位於內部負載平衡器後方,具有 SSH 連線的 NAT 規則。
使用Linux自定義映像部署VM擴展集

部署至 Azure
此範本可讓您在擴展集內部署自訂 VM Linux 映像。 根據預設,這些 VM 在埠 80) 上是具有 HTTP 負載平衡 (的負載平衡器後方。 此範例會使用自定義腳本來執行應用程式部署和更新,您可能必須為自己的更新程式提供自定義腳本。 您必須在建立 VMSS 的相同訂用帳戶和區域中,提供 VM 的一般化映像。
使用 Linux VM 部署簡單的 VM 擴展集

部署至 Azure
此範本可讓您使用最新修補的 Ubuntu Linux 14.04.4-LTS 或 16.04-LTS 版本來部署簡單的 Linux VM 擴展集。 這些 VM 位於負載平衡器後方,具有 SSH 連線的 NAT 規則。
在可用性區域中部署具有Linux VM的VM擴展集

部署至 Azure
此範本可讓您使用最新修補的 Ubuntu Linux 14.04.4-LTS 或 16.04-LTS 版本來部署簡單的 Linux VM 擴展集。 這些 VM 位於負載平衡器後方,具有 SSH 連線的 NAT 規則。
部署具有主要/次要架構的Linux VMSS

部署至 Azure
此範本可讓您在主要次要架構中使用自定義腳本擴充功能部署Linux VMSS
具有 Linux VM 和每個 VM 公用 IPv4 的簡單 VM 擴展集

部署至 Azure
此範本示範如何使用負載平衡器、輸入 NAT 規則和每個 VM 的公用 IP 來部署簡單的擴充集。
部署可信賴啟動的 Windows VM 擴展集

部署至 Azure
此範本可讓您使用最新修補版本的 Windows Server 2016、Windows Server 2019 或 Windows Server 2022 Azure Edition,部署可信任啟動的 Windows VM 擴展集。 這些 VM 位於負載平衡器後方,具有 RDP 連線的 NAT 規則。 如果您啟用 Secureboot 和 vTPM,客體證明擴充功能將會安裝在您的 VMSS 上。 此延伸模組將會由雲端執行遠程 證明
使用 Azure 應用程式閘道 部署Ubuntu VM擴展集

部署至 Azure
此範本可讓您部署與 Azure 應用程式閘道整合的簡單Ubuntu VM擴展集,並支援最多1000部 VM
使用Linux VM和自動調整部署 VM 擴展集

部署至 Azure
此範本可讓您使用最新修補的UbuntuLinux 15.04或14.04.4-4-LTS版本來部署簡單的Linux VM擴展集。 這些 VM 位於負載平衡器後方,具有 SSH 連線的 NAT 規則。它們也已整合自動調整
已啟用 SSL 的 VM 擴展集

部署至 Azure
部署 Web 伺服器以安全方式部署的 SSL 憑證來設定 Azure 金鑰保存庫
在 Windows 上將擴展集部署到現有的 vnet

部署至 Azure
此範本會將 Windows 2016 Datacenter VM 擴展集部署到現有的資源群組、vnet 和子網。
使用 Azure 應用程式閘道 部署 Windows VM 擴展集

部署至 Azure
此範本可讓您部署與 Azure 應用程式閘道整合的簡單 Windows VM 擴展集,並支援最多 1000 部 VM
使用 Windows VM 和自動調整來部署 VM 擴展集

部署至 Azure
此範本可讓您使用最新修補版本的 Windows 2008-R2-SP1、2012-Datacenter 或 2012-R2-Datacenter 部署簡單的 Windows VM 擴展集。 這些 VM 位於負載平衡器後方,具有 RDP 連線的 NAT 規則。 它們也已整合自動調整
使用 Windows 自定義映射部署 VM 擴展集

部署至 Azure
此範本可讓您部署簡單的 VM 擴展集,並設定自訂 Windows 映像。 這些 VM 預設會在埠 80) 上使用 HTTP 負載平衡 (的負載平衡器後方
使用 Windows VM 部署簡單的 VM 擴展集

部署至 Azure
此範本可讓您使用各種 Windows 版本的最新修補版本來部署簡單的 Windows VM 擴展集。 這些 VM 位於負載平衡器後方,具有 RDP 連線的 NAT 規則。
在 可用性區域 中使用 Windows VM 部署 VM 擴展集

部署至 Azure
此範本可讓您使用各種 Windows 版本的最新修補版本來部署 Windows VM 的 VM 擴展集。 這些 VM 位於負載平衡器後方,具有 RDP 連線的 NAT 規則。
具有公用IP前綴的VMSS

部署至 Azure
使用公用IP前綴部署VMSS的範本

ARM 範本資源定義

virtualMachineScaleSets 資源類型可以使用目標作業來部署:

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。

資源格式

若要建立 Microsoft.Compute/virtualMachineScaleSets 資源,請將下列 JSON 新增至範本。

{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "apiVersion": "2023-09-01",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  },
  "extendedLocation": {
    "name": "string",
    "type": "EdgeZone"
  },
  "identity": {
    "type": "string",
    "userAssignedIdentities": {
      "{customized property}": {},
      "{customized property}": {}
    }
  },
  "plan": {
    "name": "string",
    "product": "string",
    "promotionCode": "string",
    "publisher": "string"
  },
  "properties": {
    "additionalCapabilities": {
      "hibernationEnabled": "bool",
      "ultraSSDEnabled": "bool"
    },
    "automaticRepairsPolicy": {
      "enabled": "bool",
      "gracePeriod": "string",
      "repairAction": "string"
    },
    "constrainedMaximumCapacity": "bool",
    "doNotRunExtensionsOnOverprovisionedVMs": "bool",
    "hostGroup": {
      "id": "string"
    },
    "orchestrationMode": "string",
    "overprovision": "bool",
    "platformFaultDomainCount": "int",
    "priorityMixPolicy": {
      "baseRegularPriorityCount": "int",
      "regularPriorityPercentageAboveBase": "int"
    },
    "proximityPlacementGroup": {
      "id": "string"
    },
    "resiliencyPolicy": {
      "resilientVMCreationPolicy": {
        "enabled": "bool"
      },
      "resilientVMDeletionPolicy": {
        "enabled": "bool"
      }
    },
    "scaleInPolicy": {
      "forceDeletion": "bool",
      "rules": [ "string" ]
    },
    "singlePlacementGroup": "bool",
    "spotRestorePolicy": {
      "enabled": "bool",
      "restoreTimeout": "string"
    },
    "upgradePolicy": {
      "automaticOSUpgradePolicy": {
        "disableAutomaticRollback": "bool",
        "enableAutomaticOSUpgrade": "bool",
        "osRollingUpgradeDeferral": "bool",
        "useRollingUpgradePolicy": "bool"
      },
      "mode": "string",
      "rollingUpgradePolicy": {
        "enableCrossZoneUpgrade": "bool",
        "maxBatchInstancePercent": "int",
        "maxSurge": "bool",
        "maxUnhealthyInstancePercent": "int",
        "maxUnhealthyUpgradedInstancePercent": "int",
        "pauseTimeBetweenBatches": "string",
        "prioritizeUnhealthyInstances": "bool",
        "rollbackFailedInstancesOnPolicyBreach": "bool"
      }
    },
    "virtualMachineProfile": {
      "applicationProfile": {
        "galleryApplications": [
          {
            "configurationReference": "string",
            "enableAutomaticUpgrade": "bool",
            "order": "int",
            "packageReferenceId": "string",
            "tags": "string",
            "treatFailureAsDeploymentFailure": "bool"
          }
        ]
      },
      "billingProfile": {
        "maxPrice": "[json('decimal-as-string')]"
      },
      "capacityReservation": {
        "capacityReservationGroup": {
          "id": "string"
        }
      },
      "diagnosticsProfile": {
        "bootDiagnostics": {
          "enabled": "bool",
          "storageUri": "string"
        }
      },
      "evictionPolicy": "string",
      "extensionProfile": {
        "extensions": [
          {
            "name": "string",
            "properties": {
              "autoUpgradeMinorVersion": "bool",
              "enableAutomaticUpgrade": "bool",
              "forceUpdateTag": "string",
              "protectedSettings": {},
              "protectedSettingsFromKeyVault": {
                "secretUrl": "string",
                "sourceVault": {
                  "id": "string"
                }
              },
              "provisionAfterExtensions": [ "string" ],
              "publisher": "string",
              "settings": {},
              "suppressFailures": "bool",
              "type": "string",
              "typeHandlerVersion": "string"
            }
          }
        ],
        "extensionsTimeBudget": "string"
      },
      "hardwareProfile": {
        "vmSizeProperties": {
          "vCPUsAvailable": "int",
          "vCPUsPerCore": "int"
        }
      },
      "licenseType": "string",
      "networkProfile": {
        "healthProbe": {
          "id": "string"
        },
        "networkApiVersion": "2020-11-01",
        "networkInterfaceConfigurations": [
          {
            "name": "string",
            "properties": {
              "auxiliaryMode": "string",
              "auxiliarySku": "string",
              "deleteOption": "string",
              "disableTcpStateTracking": "bool",
              "dnsSettings": {
                "dnsServers": [ "string" ]
              },
              "enableAcceleratedNetworking": "bool",
              "enableFpga": "bool",
              "enableIPForwarding": "bool",
              "ipConfigurations": [
                {
                  "name": "string",
                  "properties": {
                    "applicationGatewayBackendAddressPools": [
                      {
                        "id": "string"
                      }
                    ],
                    "applicationSecurityGroups": [
                      {
                        "id": "string"
                      }
                    ],
                    "loadBalancerBackendAddressPools": [
                      {
                        "id": "string"
                      }
                    ],
                    "loadBalancerInboundNatPools": [
                      {
                        "id": "string"
                      }
                    ],
                    "primary": "bool",
                    "privateIPAddressVersion": "string",
                    "publicIPAddressConfiguration": {
                      "name": "string",
                      "properties": {
                        "deleteOption": "string",
                        "dnsSettings": {
                          "domainNameLabel": "string",
                          "domainNameLabelScope": "string"
                        },
                        "idleTimeoutInMinutes": "int",
                        "ipTags": [
                          {
                            "ipTagType": "string",
                            "tag": "string"
                          }
                        ],
                        "publicIPAddressVersion": "string",
                        "publicIPPrefix": {
                          "id": "string"
                        }
                      },
                      "sku": {
                        "name": "string",
                        "tier": "string"
                      }
                    },
                    "subnet": {
                      "id": "string"
                    }
                  }
                }
              ],
              "networkSecurityGroup": {
                "id": "string"
              },
              "primary": "bool"
            }
          }
        ]
      },
      "osProfile": {
        "adminPassword": "string",
        "adminUsername": "string",
        "allowExtensionOperations": "bool",
        "computerNamePrefix": "string",
        "customData": "string",
        "linuxConfiguration": {
          "disablePasswordAuthentication": "bool",
          "enableVMAgentPlatformUpdates": "bool",
          "patchSettings": {
            "assessmentMode": "string",
            "automaticByPlatformSettings": {
              "bypassPlatformSafetyChecksOnUserSchedule": "bool",
              "rebootSetting": "string"
            },
            "patchMode": "string"
          },
          "provisionVMAgent": "bool",
          "ssh": {
            "publicKeys": [
              {
                "keyData": "string",
                "path": "string"
              }
            ]
          }
        },
        "requireGuestProvisionSignal": "bool",
        "secrets": [
          {
            "sourceVault": {
              "id": "string"
            },
            "vaultCertificates": [
              {
                "certificateStore": "string",
                "certificateUrl": "string"
              }
            ]
          }
        ],
        "windowsConfiguration": {
          "additionalUnattendContent": [
            {
              "componentName": "Microsoft-Windows-Shell-Setup",
              "content": "string",
              "passName": "OobeSystem",
              "settingName": "string"
            }
          ],
          "enableAutomaticUpdates": "bool",
          "enableVMAgentPlatformUpdates": "bool",
          "patchSettings": {
            "assessmentMode": "string",
            "automaticByPlatformSettings": {
              "bypassPlatformSafetyChecksOnUserSchedule": "bool",
              "rebootSetting": "string"
            },
            "enableHotpatching": "bool",
            "patchMode": "string"
          },
          "provisionVMAgent": "bool",
          "timeZone": "string",
          "winRM": {
            "listeners": [
              {
                "certificateUrl": "string",
                "protocol": "string"
              }
            ]
          }
        }
      },
      "priority": "string",
      "scheduledEventsProfile": {
        "osImageNotificationProfile": {
          "enable": "bool",
          "notBeforeTimeout": "string"
        },
        "terminateNotificationProfile": {
          "enable": "bool",
          "notBeforeTimeout": "string"
        }
      },
      "securityPostureReference": {
        "excludeExtensions": [
          {
            "location": "string",
            "properties": {
              "autoUpgradeMinorVersion": "bool",
              "enableAutomaticUpgrade": "bool",
              "forceUpdateTag": "string",
              "instanceView": {
                "name": "string",
                "statuses": [
                  {
                    "code": "string",
                    "displayStatus": "string",
                    "level": "string",
                    "message": "string",
                    "time": "string"
                  }
                ],
                "substatuses": [
                  {
                    "code": "string",
                    "displayStatus": "string",
                    "level": "string",
                    "message": "string",
                    "time": "string"
                  }
                ],
                "type": "string",
                "typeHandlerVersion": "string"
              },
              "protectedSettings": {},
              "protectedSettingsFromKeyVault": {
                "secretUrl": "string",
                "sourceVault": {
                  "id": "string"
                }
              },
              "provisionAfterExtensions": [ "string" ],
              "publisher": "string",
              "settings": {},
              "suppressFailures": "bool",
              "type": "string",
              "typeHandlerVersion": "string"
            },
            "tags": {}
          }
        ],
        "id": "string"
      },
      "securityProfile": {
        "encryptionAtHost": "bool",
        "encryptionIdentity": {
          "userAssignedIdentityResourceId": "string"
        },
        "proxyAgentSettings": {
          "enabled": "bool",
          "keyIncarnationId": "int",
          "mode": "string"
        },
        "securityType": "string",
        "uefiSettings": {
          "secureBootEnabled": "bool",
          "vTpmEnabled": "bool"
        }
      },
      "serviceArtifactReference": {
        "id": "string"
      },
      "storageProfile": {
        "dataDisks": [
          {
            "caching": "string",
            "createOption": "string",
            "deleteOption": "string",
            "diskIOPSReadWrite": "int",
            "diskMBpsReadWrite": "int",
            "diskSizeGB": "int",
            "lun": "int",
            "managedDisk": {
              "diskEncryptionSet": {
                "id": "string"
              },
              "securityProfile": {
                "diskEncryptionSet": {
                  "id": "string"
                },
                "securityEncryptionType": "string"
              },
              "storageAccountType": "string"
            },
            "name": "string",
            "writeAcceleratorEnabled": "bool"
          }
        ],
        "diskControllerType": "string",
        "imageReference": {
          "communityGalleryImageId": "string",
          "id": "string",
          "offer": "string",
          "publisher": "string",
          "sharedGalleryImageId": "string",
          "sku": "string",
          "version": "string"
        },
        "osDisk": {
          "caching": "string",
          "createOption": "string",
          "deleteOption": "string",
          "diffDiskSettings": {
            "option": "Local",
            "placement": "string"
          },
          "diskSizeGB": "int",
          "image": {
            "uri": "string"
          },
          "managedDisk": {
            "diskEncryptionSet": {
              "id": "string"
            },
            "securityProfile": {
              "diskEncryptionSet": {
                "id": "string"
              },
              "securityEncryptionType": "string"
            },
            "storageAccountType": "string"
          },
          "name": "string",
          "osType": "string",
          "vhdContainers": [ "string" ],
          "writeAcceleratorEnabled": "bool"
        }
      },
      "userData": "string"
    },
    "zoneBalance": "bool"
  },
  "zones": [ "string" ]
}

屬性值

virtualMachineScaleSets

名稱 描述
類型 資源類型 'Microsoft.Compute/virtualMachineScaleSets'
apiVersion 資源 API 版本 '2023-09-01'
NAME 資源名稱 需要字串 ()

字元限制:1-15 (Windows)
1-64 (Linux)



合法字元:
不能使用空格、控制字元或下列字元:
~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

不能以底線開頭。 不能以句號或連字號結尾。
location 資源位置 需要字串 ()
tags 資源標籤 標記名稱和值的字典。 請參閱 範本中的標籤
sku 虛擬機擴展集 SKU。 Sku
extendedLocation 虛擬機擴展集的擴充位置。 ExtendedLocation
身分識別 如果已設定,則為虛擬機擴展集的身分識別。 VirtualMachineScaleSetIdentity
方案 指定用來建立虛擬機之 Marketplace 映像的相關信息。 此元素僅用於市集映像。 您必須先啟用映像以供程序設計使用,才能從 API 使用市集映射。 在 Azure 入口網站 中,尋找您想要使用的市集映射,然後按兩下 [想要以程序設計方式部署] [開始使用] -> 。 輸入任何必要資訊,然後按兩下 [ 儲存]。 方案
properties 描述虛擬機擴展集的屬性。 VirtualMachineScaleSetProperties
zones (區域) 虛擬機擴展集區域。 注意:只有在建立擴展集時,才能設定可用性區域 string[]

ExtendedLocation

名稱 描述
NAME 擴充位置的名稱。 字串
type 擴充位置的類型。 'EdgeZone'

VirtualMachineScaleSetIdentity

名稱 描述
類型 用於虛擬機擴展集的身分識別類型。 「SystemAssigned、UserAssigned」類型同時包含隱含建立的身分識別,和一組使用者指派的身分識別。 類型 『None』 將會從虛擬機擴展集移除任何身分識別。 'None'
'SystemAssigned'
'SystemAssigned, UserAssigned'
'UserAssigned'
userAssignedIdentities 與虛擬機擴展集相關聯的使用者身分識別清單。 使用者身分識別字典索引鍵參考的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 UserAssignedIdentities

UserAssignedIdentities

名稱 描述
{自定義屬性} UserAssignedIdentitiesValue
{自定義屬性} UserAssignedIdentitiesValue

UserAssignedIdentitiesValue

此物件不包含部署期間要設定的任何屬性。 所有屬性都是 ReadOnly。

計畫

名稱 描述
NAME 方案標識碼。 字串
產品 指定市集中映像的產品。 這與 imageReference 元素下的 Offer 值相同。 字串
promotionCode 促銷碼。 字串
publisher 發行者標識碼。 字串

VirtualMachineScaleSetProperties

名稱 描述
additionalCapabilities 指定虛擬機擴展集中 虛擬機器 上啟用或停用的其他功能。 例如:虛擬機器 是否能夠支援使用UltraSSD_LRS記憶體帳戶類型鏈接受控數據磁碟。 AdditionalCapabilities
automaticRepairsPolicy 自動修復的原則。 AutomaticRepairsPolicy
constrainedMaximumCapacity 必須設定為 True 或省略的選擇性屬性。 bool
doNotRunExtensionsOnOverprovisionedVM 啟用 Overprovision 時,擴充功能只會在最後保留的要求 VM 數目上啟動。 因此,此屬性可確保擴充功能不會在額外的過度布建 VM 上執行。 bool
hostGroup 指定虛擬機擴展集所在專用主機群組的相關信息。 API 版本下限:2020-06-01。 SubResource
orchestrationMode 指定虛擬機擴展集的協調流程模式。 「彈性」
'Uniform'
overprovision 指定是否應過度布建虛擬機擴展集。 bool
platformFaultDomainCount 每個放置群組的容錯網域計數。 int
priorityMixPolicy 指定在相同 VMSS Flex 實例內混合現成和一般優先順序 VM 所需的目標。 PriorityMixPolicy
proximityPlacementGroup 指定虛擬機擴展集應指派給之鄰近放置群組的相關信息。 API 版本下限:2018-04-01。 SubResource
resiliencyPolicy 復原原則 ResiliencyPolicy
scaleInPolicy 指定在虛擬機擴展集中調整 虛擬機器 時套用的原則。 ScaleInPolicy
singlePlacementGroup 若為 true,則會將擴展集限制為單一放置群組,大小上限為 100 部虛擬機。 注意:如果 singlePlacementGroup 為 true,可能會將其修改為 false。 不過,如果 singlePlacementGroup 為 false,則無法修改成 true。 bool
spotRestorePolicy 指定虛擬機擴展集的現成還原屬性。 SpotRestorePolicy
upgradePolicy 升級原則。 UpgradePolicy
virtualMachineProfile 虛擬機器配置檔。 VirtualMachineScaleSetVMProfile
zoneBalance 如果發生區域中斷,是否強制嚴格地跨 x 區域散發虛擬機。 只有在擴展集的區域屬性包含多個區域時,才能設定 zoneBalance 屬性。 如果沒有指定區域或只指定一個區域,不應設定 zoneBalance 屬性。 bool

AdditionalCapabilities

名稱 描述
hibernationEnabled 啟用或停用 VM 上休眠功能的旗標。 bool
ultraSSDEnabled 旗標,可讓或停用在 VM 或 VMSS 上具有一或多個具有 UltraSSD_LRS記憶體帳戶類型的受控數據磁碟。 只有在啟用此屬性時,才能將具有記憶體帳戶類型的受控磁碟UltraSSD_LRS新增至虛擬機或虛擬機擴展集。 bool

AutomaticRepairsPolicy

名稱 描述
已啟用 指定是否應在虛擬機擴展集上啟用自動修復。 預設值為 false。 bool
gracePeriod 因為 VM 上的狀態變更而暫停自動修復的時間量。 寬限時間會在狀態變更完成之後開始。 這有助於避免提前或意外修復。 時間持續時間應以 ISO 8601 格式指定。 允許的寬限期下限為 10 分鐘, (PT10M) ,這也是預設值。 允許的寬限期上限為 90 分鐘, (PT90M) 。 字串
repairAction 修復動作類型 (取代、重新啟動、重新安裝映像) ,用於修復擴展集中狀況不良的虛擬機。 預設值為 replace。 'Reimage'
'Replace'
'Restart'

SubResource

名稱 描述
id 資源標識碼 字串

PriorityMixPolicy

名稱 描述
baseRegularPriorityCount 將在此擴展集中建立的一般優先順序 VM 基底數目,因為它會相應放大。 int

約束:
最小值 = 0
regularPriorityPercentageAboveBase 達到基底一般優先順序計數之後,預期會使用一般優先順序的 VM 實例百分比。 int

約束:
最小值 = 0
最大值 = 100

ResiliencyPolicy

名稱 描述
resilientVMCreationPolicy 執行復原 VM 建立時所使用的組態參數。 ResilientVMCreationPolicy
resilientVMDeletionPolicy 執行復原 VM 刪除時所使用的組態參數。 ResilientVMDeletionPolicy

ResilientVMCreationPolicy

名稱 描述
已啟用 指定是否應在虛擬機擴展集上啟用復原 VM 建立。 預設值為 false。 bool

ResilientVMDeletionPolicy

名稱 描述
已啟用 指定是否應在虛擬機擴展集上啟用復原 VM 刪除。 預設值為 false。 bool

ScaleInPolicy

名稱 描述
forceDeletion 此屬性可讓您指定當虛擬機擴展集正在相應縮小時,是否必須強制刪除選擇移除的虛擬機。 (Preview 中的功能) bool
規則 調整虛擬機擴展集時要遵循的規則。

可能的值包括:

預設 當虛擬機擴展集相應縮小時,如果擴展集是區域性擴展集,則擴展集會先跨區域平衡。 然後,它將會盡可能跨容錯網域進行平衡。 在每個容錯網域內,選擇移除的虛擬機將會是不受相應縮小保護的最新虛擬機。

OldestVM 當虛擬機擴展集進行相應縮小時,將會選擇未受相應縮小保護的最舊虛擬機進行移除。 針對區域性虛擬機擴展集,擴展集會先跨區域平衡。 在每個區域內,將會選擇未受保護的最舊虛擬機來移除。

NewestVM 當虛擬機擴展集正在相應縮小時,系統會選擇未受相應縮小保護的最新虛擬機,以移除。 針對區域性虛擬機擴展集,擴展集會先跨區域平衡。 在每個區域中,將會選擇未受保護的最新虛擬機來移除。

包含任何項目的字串數組:
'Default'
'NewestVM'
'OldestVM'

SpotRestorePolicy

名稱 描述
已啟用 啟用 Spot-Try-Restore 功能,其中收回的 VMSS SPOT 實例將會根據容量可用性和定價條件約束,以機率方式還原 bool
restoreTimeout 以 ISO 8601 時間持續時間表示的逾時值,之後平臺將不會嘗試還原 VMSS SPOT 實例 字串

UpgradePolicy

名稱 描述
automaticOSUpgradePolicy 用於執行自動作業系統升級的組態參數。 AutomaticOSUpgradePolicy
mode 指定升級至擴展集中虛擬機的模式。

可能的值包括:

手動 - 您可以控制擴充集中虛擬機更新的應用程式。 您可以使用 manualUpgrade 宏指令來執行此動作。

自動 -擴展集中的所有虛擬機都會同時自動更新。
'Automatic'
'Manual'
'Rolling'
rollingUpgradePolicy 執行滾動升級時所使用的組態參數。 RollingUpgradePolicy

AutomaticOSUpgradePolicy

名稱 描述
disableAutomaticRollback 是否應該停用OS映像復原功能。 預設值為 False。 bool
enableAutomaticOSUpgrade 指出當較新版本的OS映像可供使用時,是否應該以滾動方式將操作系統升級自動套用至擴展集實例。 預設值為 False。 如果 Windows 擴展集將此設定為 true,enableAutomaticUpdates 會自動設定為 false,而且無法設定為 true。 bool
osRollingUpgradeDeferral 指出自動作業系統升級是否應該延遲。 延後操作系統升級會根據每部 VM 傳送進階通知,讓 OS 升級從滾動升級傳入,方法是透過 IMDS 標籤 'Platform.PendingOSUpgrade'。 接著,升級會延遲,直到透過ApprovRollingUpgrade呼叫核准升級為止。 bool
useRollingUpgradePolicy 指出是否應在自動作業系統升級期間使用滾動升級原則。 預設值為 False。 如果未在 VMSS 上定義任何原則,自動 OS 升級將會回復為默認原則。 bool

RollingUpgradePolicy

名稱 描述
enableCrossZoneUpgrade 允許 VMSS 在建構升級批次時忽略 AZ 界限。 將 Update 網域和 maxBatchInstancePercent 納入考慮,以判斷批次大小。 bool
maxBatchInstancePercent 一個批次中的滾動升級會同時升級的虛擬機實例總數百分比上限。 由於這是最大值,先前或未來批次中狀況不良的實例可能會導致批次中的實例百分比降低,以確保更高的可靠性。 此參數的預設值為 20%。 int

約束:
最小值 = 5
最大值 = 100
maxSurge 建立新的虛擬機以升級擴展集,而不是更新現有的虛擬機。 一旦為每個批次建立新的虛擬機,就會刪除現有的虛擬機。 bool
maxUnhealthyInstancePercent 擴展集中可同時狀況不良之虛擬機實例總數的百分比上限,可能是因為升級而發生,或是在滾動升級中止之前,虛擬機健康情況檢查處於狀況不良狀態。 啟動任何批次之前,將會先檢查此條件約束。 此參數的預設值為 20%。 int

約束:
最小值 = 5
最大值 = 100
maxUnhealthyUpgradedInstancePercent 已升級的虛擬機實例百分比上限,這些實例可能處於狀況不良狀態。 升級每個批次之後,就會進行這項檢查。 如果超過此百分比,滾動更新就會中止。 此參數的預設值為 20%。 int

約束:
最小值 = 0
最大值 = 100
pauseTimeBetweenBatches 在一個批次中完成所有虛擬機的更新,以及啟動下一個批次之間的等候時間。 時間持續時間應以 ISO 8601 格式指定。 默認值為 0 秒, (PT0S) 。 字串
prioritizeUnhealthyInstances 在任何狀況良好的實例之前,升級擴展集中所有狀況不良的實例。 bool
rollbackFailedInstancesOnPolicyBreach 如果違反滾動升級原則,則復原失敗實例至先前的模型。 bool

VirtualMachineScaleSetVMProfile

名稱 描述
applicationProfile 指定應該提供給 VM/VMSS 使用的資源庫應用程式 ApplicationProfile
billingProfile 指定 Azure Spot VMSS 的計費相關詳細數據。 API 版本下限:2019-03-01。 BillingProfile
capacityReservation 指定擴展集的容量保留相關詳細數據。 API 版本下限:2021-04-01。 CapacityReservationProfile
diagnosticsProfile 指定開機診斷設定狀態。 API 版本下限:2015-06-15。 DiagnosticsProfile
evictionPolicy 指定 Azure Spot 虛擬機和 Azure Spot 擴展集的收回原則。 針對 Azure Spot 虛擬機,支援「解除分配」和「刪除」,而最低 API 版本為 2019-03-01。 針對 Azure Spot 擴展集,同時支援 'Deallocate' 和 'Delete',而最低 API 版本為 2017-10-30-preview。 'Deallocate'
'Delete'
extensionProfile 指定擴展集中虛擬機上安裝之延伸模組的設定集合。 VirtualMachineScaleSetExtensionProfile
hardwareProfile 指定擴展集的硬體配置檔相關詳細數據。 最低 api-version:2021-11-01。 VirtualMachineScaleSetHardwareProfile
licenseType 指定正在使用的映像或磁碟是在內部部署授權。

Windows Server 操作系統的可能值為:

Windows_Client

Windows_Server

Linux Server 操作系統的可能值為:

RHEL) 的RHEL_BYOS (

SUSE) 的SLES_BYOS (

如需詳細資訊,請參閱 適用於 Windows Server 的 Azure Hybrid Use Benefit

適用於Linux伺服器的 Azure Hybrid Use Benefit

最低 api-version:2015-06-15
字串
networkProfile 指定擴展集中虛擬機網路介面的屬性。 VirtualMachineScaleSetNetworkProfile
osProfile 指定擴展集中虛擬機的作業系統設定。 VirtualMachineScaleSetOSProfile
priority 指定擴展集中虛擬機的優先順序。 最低 api-version:2017-10-30-preview。 'Low'
'Regular'
'Spot'
scheduledEventsProfile 指定排程的事件相關組態。 ScheduledEventsProfile
securityPostureReference 指定要用於擴展集中所有虛擬機的安全性狀態。 最低 api-version:2023-03-01 SecurityPostureReference
securityProfile 指定擴展集中虛擬機的安全性相關配置檔設定。 SecurityProfile
serviceArtifactReference 指定使用「最新」映像版本時,用來為擴展集中的所有虛擬機設定相同映射版本的服務成品參考標識符。 最低 API 版本:2022-11-01 ServiceArtifactReference
storageProfile 指定虛擬機器磁碟的儲存體設定。 VirtualMachineScaleSetStorageProfile
userData 擴展集中虛擬機的 UserData,必須以 base-64 編碼。 客戶不應在此傳遞任何秘密。 最低 api-version:2021-03-01。 字串

ApplicationProfile

名稱 描述
galleryApplications 指定應該提供給 VM/VMSS 使用的資源庫應用程式 VMGalleryApplication[]

VMGalleryApplication

名稱 描述
configurationReference 選擇性,指定 Azure Blob 的 URI,以在提供時取代套件的預設組態 字串
enableAutomaticUpgrade 如果設定為 true,當 PIR/SIG 中有新的資源庫應用程式版本可用時,VM/VMSS 會自動更新 bool
順序 選擇性,指定必須安裝套件的順序 int
packageReferenceId 指定 /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/applications/{application}/versions/{version} 形式的 GalleryApplicationVersion 資源標識符 需要字串 ()
tags 選擇性,指定更多泛型內容的傳遞值。 字串
treatFailureAsDeploymentFailure 選擇性,如果為 true,VmApplication 中任何作業的任何失敗都會使部署失敗 bool

BillingProfile

名稱 描述
maxPrice 指定您願意支付 Azure Spot VM/VMSS 的最大價格。 此價格以美元為單位。

此價格將會與 VM 大小的目前 Azure Spot 價格進行比較。 此外,價格會在建立/更新 Azure Spot VM/VMSS 時進行比較,而且只有在 maxPrice 大於目前的 Azure Spot 價格時,作業才會成功。

如果目前的 Azure Spot 價格在建立 VM/VMSS 之後超過 maxPrice,則 maxPrice 也會用於收回 Azure Spot VM/VMSS。

可能的值包括:

- 大於零的任何十進位值。 範例:0.01538

-1 – 表示預設價格為隨選。

您可以將 maxPrice 設定為 -1,以指出基於價格考慮,不應收回 Azure Spot VM/VMSS。 此外,如果預設的最大值價格不是由您提供,則為 -1。

API 版本下限:2019-03-01。 若要指定十進位值,請使用 json () 函式。
int 或 json decimal

CapacityReservationProfile

名稱 描述
capacityReservationGroup 指定容量保留群組資源標識符,該標識元應該用於配置已保留足夠容量的虛擬機或擴展集 VM 實例。 如需詳細資訊, https://aka.ms/CapacityReservation 請參閱 。 SubResource

DiagnosticsProfile

名稱 描述
bootDiagnostics 開機診斷是一項偵錯功能,可讓您檢視控制台輸出和螢幕快照以診斷 VM 狀態。 注意:如果要指定 storageUri,請確定記憶體帳戶位於與 VM 相同的區域和訂用帳戶中。 您可以輕鬆地檢視主控台記錄檔的輸出。 Azure 也可讓您從 Hypervisor 查看 VM 的螢幕快照。 BootDiagnostics

BootDiagnostics

名稱 描述
已啟用 是否應在虛擬機上啟用開機診斷。 bool
storageUri 用來放置主控台輸出和螢幕快照的記憶體帳戶 URI。 如果未在啟用開機診斷時指定 storageUri,則會使用受控記憶體。 字串

VirtualMachineScaleSetExtensionProfile

名稱 描述
擴充功能 虛擬機擴展集子擴充功能資源。 VirtualMachineScaleSetExtension[]
extensionsTimeBudget 指定要啟動之所有延伸模組加上批注的時間。 持續時間應介於 15 分鐘到 120 分鐘之間, (包含) ,且應以 ISO 8601 格式指定。 預設值為90分鐘 (PT1H30M) 。 API 版本下限:2020-06-01。 字串

VirtualMachineScaleSetExtension

名稱 描述
NAME 延伸模組的名稱。 字串
properties 描述虛擬機擴展集擴充功能的屬性。 VirtualMachineScaleSetExtensionProperties

VirtualMachineScaleSetExtensionProperties

名稱 描述
autoUpgradeMinorVersion 指出擴充功能是否應該在部署期間使用較新的次要版本。 不過,部署之後,除非重新部署延伸模組,否則延伸模組將不會升級次要版本,即使此屬性設定為 true 亦然。 bool
enableAutomaticUpgrade 指出如果有較新版本的擴充功能可用,平臺是否應該自動升級延伸模組。 bool
forceUpdateTag 如果提供值且與先前的值不同,即使延伸模組組態尚未變更,擴充處理程式仍會強制更新。 字串
protectedSettings 延伸模組可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或完全不包含受保護的設定。
protectedSettingsFromKeyVault 以傳址方式傳遞並從金鑰保存庫取用的延伸模組受保護設定 KeyVaultSecretReference
provisionAfterExtensions 延伸模組名稱的集合,之後必須布建此延伸模組。 string[]
publisher 擴充處理程序發行者的名稱。 字串
設定 延伸模組的 Json 格式化公用設定。
suppressFailures 指出從擴充功能產生的失敗是否會隱藏 (作業失敗,例如不會連線到 VM,而不論此值為何) 。 預設值為 false。 bool
類型 指定延伸模組的類型;例如“CustomScriptExtension”。 字串
typeHandlerVersion 指定文稿處理程式的版本。 字串

KeyVaultSecretReference

名稱 描述
secretUrl 參考 金鑰保存庫 中秘密的URL。 需要字串 ()
sourceVault 包含秘密之 金鑰保存庫的相對 URL。 必要子資源 ()

VirtualMachineScaleSetHardwareProfile

名稱 描述
vmSizeProperties 指定自定義虛擬機大小的屬性。 最低 api-version:2021-11-01。 如需詳細資訊,請遵循 VM 自定義 中的指示。 VMSizeProperties

VMSizeProperties

名稱 描述
vCPUAvailable 指定 VM 可用的 vCPU 數目。 當要求本文中未指定這個屬性時,預設行為是將它設定為該 VM 大小的可用 vCPU 值,而該 VM 大小會在 列出區域中所有可用的虛擬機大小時公開。 int
vCPUPerCore 指定 vCPU 與實體核心比率。 當要求本文中未指定此屬性時,預設行為會針對在 列出區域中所有可用虛擬機大小的 API 回應中公開的 VM 大小設定為 vCPUPerCore 的值。 將此屬性設定為 1 也表示已停用超線程處理。 int

VirtualMachineScaleSetNetworkProfile

名稱 描述
healthProbe 負載平衡器探查的參考,用來判斷虛擬機擴展集中實例的健康情況。 參考的格式為:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'。 ApiEntityReference
networkApiVersion 會指定在具有協調流程模式 「彈性」的虛擬機擴展集網路介面設定中建立網路資源時所使用的 Microsoft.Network API 版本 '2020-11-01'
networkInterfaceConfigurations 網路組態的清單。 VirtualMachineScaleSetNetworkConfiguration[]

ApiEntityReference

名稱 描述
id /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 形式的 ARM 資源標識符 字串

VirtualMachineScaleSetNetworkConfiguration

名稱 描述
NAME 網路組態名稱。 需要字串 ()
properties 描述虛擬機擴展集網路配置檔的IP組態。 VirtualMachineScaleSetNetworkConfigurationProperties

VirtualMachineScaleSetNetworkConfigurationProperties

名稱 描述
auxiliaryMode 指定是否啟用網路介面資源的輔助模式。 'AcceleratedConnections'
'Floating'
'None'
auxiliarySku 指定是否為網路介面資源啟用輔助 SKU。 'A1'
'A2'
'A4'
'A8'
'None'
deleteOption 指定刪除 VM 時網路介面會發生什麼情況 'Delete'
'Detach'
disableTcpStateTracking 指定是否停用網路介面以進行 tcp 狀態追蹤。 bool
dnsSettings 要套用在網路介面上的 DNS 設定。 VirtualMachineScaleSetNetworkConfigurationDnsSetting...
enableAcceleratedNetworking 指定網路介面是否已啟用加速網路。 bool
enableFpga 指定網路介面是否已啟用 FPGA 網路功能。 bool
enableIPForwarding 是否在此 NIC 上啟用 IP 轉送。 bool
ipConfigurations 指定網路介面的IP組態。 VirtualMachineScaleSetIPConfiguration[] (必要)
networkSecurityGroup 網路安全組。 SubResource
primary 指定虛擬機有1個以上的網路介面時的主要網路介面。 bool

VirtualMachineScaleSetNetworkConfigurationDnsSetting...

名稱 描述
dnsServers DNS 伺服器 IP 位址清單 string[]

VirtualMachineScaleSetIPConfiguration

名稱 描述
NAME IP 組態名稱。 需要字串 ()
properties 描述虛擬機擴展集網路配置檔的IP組態屬性。 VirtualMachineScaleSetIPConfigurationProperties

VirtualMachineScaleSetIPConfigurationProperties

名稱 描述
applicationGatewayBackendAddressPools 指定應用程式閘道後端位址池的參考數位。 擴展集可以參考多個應用程式閘道的後端位址池。 多個擴展集無法使用相同的應用程式閘道。 SubResource[]
applicationSecurityGroups 指定應用程式安全組的參考陣列。 SubResource[]
loadBalancerBackendAddressPools 指定負載平衡器後端位址池的參考陣列。 擴展集可以參考一個公用和一個內部負載平衡器的後端位址池。 多個擴展集無法使用相同的基本 SKU 負載平衡器。 SubResource[]
loadBalancerInboundNatPools 指定負載平衡器輸入 Nat 集區的參考陣列。 擴展集可以參考一個公用和一個內部負載平衡器的輸入 nat 集區。 多個擴展集無法使用相同的基本 SKU 負載平衡器。 SubResource[]
primary 指定虛擬機有1個以上的網路介面時的主要網路介面。 bool
privateIPAddressVersion 從 Api-Version 2017-03-30 起提供,它代表特定 ipconfiguration 是 IPv4 或 IPv6。 預設值會視為 IPv4。 可能的值為:'IPv4' 和 'IPv6'。 'IPv4'
'IPv6'
publicIPAddressConfiguration publicIPAddressConfiguration。 VirtualMachineScaleSetPublicIPAddressConfiguration
子網路 指定子網的識別碼。 ApiEntityReference

VirtualMachineScaleSetPublicIPAddressConfiguration

名稱 描述
NAME publicIP 位址組態名稱。 字串 (必要)
properties 描述虛擬機擴展集IP組態的PublicIPAddress設定 VirtualMachineScaleSetPublicIPAddressConfigurationPr...
sku 描述公用IP Sku。 它只能使用 OrchestrationMode 設定為彈性。 PublicIPAddressSku

VirtualMachineScaleSetPublicIPAddressConfigurationPr...

名稱 描述
deleteOption 指定刪除 VM 時,公用 IP 會發生什麼情況 'Delete'
'Detach'
dnsSettings 要套用至 publicIP 位址的 DNS 設定。 VirtualMachineScaleSetPublicIPAddressConfigurationDn...
idleTimeoutInMinutes 公用IP位址的閒置逾時。 int
ipTags 與公用IP位址相關聯的IP標籤清單。 VirtualMachineScaleSetIpTag[]
publicIPAddressVersion 從 Api-Version 2019-07-01 起提供,它代表特定 ipconfiguration 是 IPv4 或 IPv6。 預設值會視為 IPv4。 可能的值為:'IPv4' 和 'IPv6'。 'IPv4'
'IPv6'
publicIPPrefix 要從中配置 publicIP 位址的 PublicIPPrefix。 SubResource

VirtualMachineScaleSetPublicIPAddressConfigurationDn...

名稱 描述
domainNameLabel 功能變數名稱標籤。功能變數名稱標籤和 vm 索引的串連將會是將建立之 PublicIPAddress 資源的功能變數名稱標籤 字串 (必要)
domainNameLabelScope 功能變數名稱標籤範圍。根據功能變數名稱卷標範圍的原則產生的哈希功能變數名稱標籤串連,vm 索引將是將建立之 PublicIPAddress 資源的功能變數名稱卷標 'NoReuse'
'ResourceGroupReuse'
'SubscriptionReuse'
'TenantReuse'

VirtualMachineScaleSetIpTag

名稱 描述
ipTagType IP 標籤類型。 範例:FirstPartyUsage。 字串
標籤 與公用IP相關聯的IP標籤。 範例:SQL、記憶體等。 字串

PublicIPAddressSku

名稱 描述
NAME 指定公用IP SKU 名稱 'Basic'
'Standard'
tier 指定公用IP SKU層 'Global'
'Regional'

VirtualMachineScaleSetOSProfile

名稱 描述
adminPassword 指定系統管理員帳戶的密碼。

Windows) 長度下限 (: 8 個字元

Linux) 長度下限 (: 6 個字元

Windows) 長度上限 (: 123 個字元

Linux) 長度上限 (: 72 個字元

複雜度需求: 需要滿足下列 4 個條件中的 3 個
字元較低
具有大字元
具有數位
具有特殊字元 (Regex 比對 [\W_])

不允許的值: “abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iveyou!”

如需重設密碼,請參閱 如何在 Windows VM 中重設遠端桌面服務或其登入密碼

如需重設根密碼,請參閱 使用 VMAccess 擴充功能管理使用者、SSH 及檢查或修復 Azure Linux VM 上的磁碟
字串

約束:
敏感性值。 以安全參數的形式傳入。
adminUsername 指定系統管理員帳戶的名稱。

僅限 Windows 的限制: 不能以 “.

不允許的值: “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”。

Linux () 長度下限: 1 個字元

Linux) 長度上限 (: 64 個字元

Windows) 最大長度 (: 20 個字元
字串
allowExtensionOperations 指定是否應該在虛擬機擴展集上允許擴充功能作業。 只有在虛擬機擴展集上沒有擴充功能時,才能將此設定為 False。 bool
computerNamePrefix 指定擴展集中所有虛擬機的計算機名稱前置詞。 計算機名稱前置詞長度必須為1到15個字元。 字串
customData 指定自訂資料的 Base-64 編碼字串。 Base-64 編碼字串會解碼成二進位陣列而儲存為虛擬機器上的檔案。 二進位陣列的長度上限是 65535 個位元組。 如需針對 VM 使用 cloud-init,請參閱在建立期間使用 cloud-init 自定義 Linux VM 字串
linuxConfiguration 指定虛擬機上的Linux作業系統設定。 如需支援的Linux發行版清單,請參閱 Azure-Endorsed 發行版上的Linux LinuxConfiguration
requireGuestProvisionSignal 必須設定為 True 或省略的選擇性屬性。 bool
密碼 指定應該安裝在擴展集中虛擬機上的憑證集。 若要在虛擬機上安裝憑證,建議您使用適用於Linux的 Azure 金鑰保存庫 虛擬機擴充功能適用於 Windows 的 Azure 金鑰保存庫 虛擬機擴充功能 VaultSecretGroup[]
windowsConfiguration 指定虛擬機器上的 Windows 作業系統設定。 WindowsConfiguration

LinuxConfiguration

名稱 描述
disablePasswordAuthentication 指定是否應該停用密碼驗證。 bool
enableVMAgentPlatformUpdates 指出是否已針對Linux虛擬機啟用VMAgent Platform 匯報。 預設值為 False。 bool
patchSettings [預覽功能]指定與Linux上的VM客體修補相關的設定。 LinuxPatchSettings
provisionVMAgent 指出是否應該在虛擬機器上佈建虛擬機器代理程式。 當要求本文中未指定這個屬性時,預設行為是將它設定為 true。 這可確保 VM 代理程式已安裝在 VM 上,以便稍後將擴充功能新增至 VM。 bool
ssh 指定 Linux OS 的 SSH 金鑰組態。 SshConfiguration

LinuxPatchSettings

名稱 描述
assessmentMode 指定 IaaS 虛擬機的 VM 客體修補評估模式。

可能的值包括:

ImageDefault - 您可以在虛擬機上控制修補程式評估的時間。

AutomaticByPlatform - 平臺會觸發定期修補評估。 屬性 provisionVMAgent 必須是 true。
'AutomaticByPlatform'
'ImageDefault'
automaticByPlatformSettings 在 Linux 上的 VM 客體修補中指定 Patch 模式 AutomaticByPlatform 的其他設定。 LinuxVMGuestPatchAutomaticByPlatformSettings
patchMode 指定 VM 客體修補至 IaaS 虛擬機的模式,或與 OrchestraMode 為彈性的虛擬機擴展集相關聯的虛擬機。

可能的值包括:

ImageDefault - 會使用虛擬機的默認修補組態。

AutomaticByPlatform - 虛擬機將會由平台自動更新。 provisionVMAgent 屬性必須是 true
'AutomaticByPlatform'
'ImageDefault'

LinuxVMGuestPatchAutomaticByPlatformSettings

名稱 描述
bypassPlatformSafetyChecksOnUserSchedule 讓客戶排程修補而不意外升級 bool
rebootSetting 指定所有 AutomaticByPlatform 修補程式安裝作業的重新啟動設定。 'Always'
'IfRequired'
'Never'
'Unknown'

SshConfiguration

名稱 描述
publicKeys 用來向Linux型VM進行驗證的SSH公鑰清單。 SshPublicKey[]

SshPublicKey

名稱 描述
keyData 用來透過 ssh 向 VM 進行驗證的 SSH 公鑰憑證。 密鑰至少必須是 2048 位,且以 ssh-rsa 格式表示。 如需建立 ssh 金鑰,請參閱 [在 Azure 中的 Linux 和 Mac 上建立 Linux VM 的 SSH 金鑰]/azure/virtual-machines/linux/create-ssh-keys-detailed) 。 字串
path 指定儲存 ssh 公鑰之已建立 VM 上的完整路徑。 如果檔案已經存在,指定的金鑰就會附加至該檔案。 範例:/home/user/.ssh/authorized_keys 字串

VaultSecretGroup

名稱 描述
sourceVault 金鑰保存庫 的相對 URL,其中包含 VaultCertificates 中的所有憑證。 SubResource
vaultCertificates SourceVault 中包含憑證的金鑰保存庫參考清單。 VaultCertificate[]

VaultCertificate

名稱 描述
certificateStore 針對 Windows VM,指定應該新增憑證之虛擬機上的證書存儲。 指定的證書存儲隱含地位於LocalMachine帳戶中。 針對Linux VM,憑證檔案會放在 /var/lib/waagent 目錄底下,而 X509 憑證檔案的檔名<為 UppercaseThumbprint.crt,而<私鑰則為 UppercaseThumbprint.prv>>。 這兩個檔案都是 .pem 格式。 字串
certificateUrl 這是已上傳至 金鑰保存庫 做為秘密之憑證的 URL。 如需將秘密新增至 金鑰保存庫,請參閱將密鑰或秘密新增至密鑰保存庫。 在此情況下,您的憑證必須是下列 JSON 物件的 Base64 編碼,其編碼方式為 UTF-8:

{
“data”:“{Base64-encoded-certificate}”,
“dataType”:“pfx”,
“password”:“{pfx-file-password}”
}
若要在虛擬機上安裝憑證,建議您使用適用於Linux的 Azure 金鑰保存庫 虛擬機擴充功能適用於 Windows 的 Azure 金鑰保存庫 虛擬機擴充功能
字串

WindowsConfiguration

名稱 描述
additionalUnattendContent 指定可併入 Unattend.xml 檔案 (由 Windows 安裝程式使用) 的額外 Base-64 編碼 XML 格式資訊。 AdditionalUnattendContent[]
enableAutomaticUpdates 指出是否為 Windows 虛擬機啟用自動 匯報。 預設值為 true。 對於虛擬機擴展集,此屬性可以更新,且更新會在OS重新佈建上生效。 bool
enableVMAgentPlatformUpdates 指出是否已針對 Windows 虛擬機啟用 VMAgent Platform 匯報。 預設值為 False。 bool
patchSettings [預覽功能]指定與 Windows 上的 VM 客體修補相關的設定。 PatchSettings
provisionVMAgent 指出是否應該在虛擬機器上佈建虛擬機器代理程式。 當要求本文中未指定這個屬性時,預設會設定為 true。 這可確保 VM 代理程式已安裝在 VM 上,以便稍後將擴充功能新增至 VM。 bool
timeZone 指定虛擬機的時區。 例如“Pacific Standard Time”。 可能的值可以從 TimeZoneInfo.GetSystemTimeZones 傳回的時區 TimeZoneInfo.Id 值。 字串
winRM 指定 Windows 遠端管理接聽程式。 藉此將啟用遠端 Windows PowerShell。 WinRMConfiguration

AdditionalUnattendContent

名稱 描述
componentName 元件名稱。 目前唯一允許的值是 Microsoft-Windows-Shell-Setup。 'Microsoft-Windows-Shell-Setup'
內容 針對指定的路徑和元件,指定新增至 unattend.xml 檔案的 XML 格式化內容。 XML 必須小於 4KB,而且必須包含要插入之設定或功能的根元素。 字串
passName 傳遞名稱。 目前唯一允許的值是 OobeSystem。 'OobeSystem'
settingName 指定要套用內容之設定的名稱。 可能的值為:FirstLogonCommands 和 AutoLogon。 'AutoLogon'
'FirstLogonCommands'

PatchSettings

名稱 描述
assessmentMode 指定 IaaS 虛擬機的 VM 客體修補評估模式。

可能的值包括:

ImageDefault - 您可以在虛擬機上控制修補程式評估的時間。

AutomaticByPlatform - 平臺會觸發定期修補程序評估。 屬性 provisionVMAgent 必須為 true。
'AutomaticByPlatform'
'ImageDefault'
automaticByPlatformSettings 指定 Windows 上 VM 客體修補中之修補程式模式 AutomaticByPlatform 的其他設定。 WindowsVMGuestPatchAutomaticByPlatformSettings
enableHotpatching 可讓客戶修補其 Azure VM,而不需要重新啟動。 針對 enableHotpatching,'provisionVMAgent' 必須設定為 true,且 'patchMode' 必須設定為 'AutomaticByPlatform'。 bool
patchMode 指定 VM 客體修補至 IaaS 虛擬機的模式,或與具有 OrchestrationMode 的虛擬機擴展集相關聯的虛擬機作為彈性。

可能的值包括:

手動 - 您可以控制將修補程式應用程式套用至虛擬機。 您可以在 VM 內手動套用修補程式來執行此動作。 在此模式中,會停用自動更新;屬性 WindowsConfiguration.enableAutomaticUpdates 必須為 false

AutomaticByOS - 作業系統會自動更新虛擬機。 屬性 WindowsConfiguration.enableAutomaticUpdates 必須為 true。

AutomaticByPlatform - 虛擬機將會由平台自動更新。 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 屬性必須為 true
'AutomaticByOS'
'AutomaticByPlatform'
'Manual'

WindowsVMGuestPatchAutomaticByPlatformSettings

名稱 描述
bypassPlatformSafetyChecksOnUserSchedule 可讓客戶排程修補,而不需意外升級 bool
rebootSetting 指定所有 AutomaticByPlatform 修補程式安裝作業的重新啟動設定。 'Always'
'IfRequired'
'Never'
'Unknown'

WinRMConfiguration

名稱 描述
接聽程式 Windows 遠端管理接聽程式清單 WinRMListener[]

WinRMListener

名稱 描述
certificateUrl 這是已上傳至 金鑰保存庫 作為秘密之憑證的 URL。 如需將秘密新增至 金鑰保存庫,請參閱將密鑰或秘密新增至密鑰保存庫。 在此情況下,您的憑證必須是以UTF-8編碼的下列 JSON 物件的Base64編碼:

{
“data”:“{Base64-encoded-certificate}”,
“dataType”:“pfx”,
“password”:“{pfx-file-password}”
}
若要在虛擬機上安裝憑證,建議使用適用於Linux的 Azure 金鑰保存庫 虛擬機擴充功能適用於Windows的 Azure 金鑰保存庫 虛擬機擴充功能
字串
protocol 指定 WinRM 接聽程式的通訊協定。 可能的值為: HTTP、https。 'Http'
'Https'

ScheduledEventsProfile

名稱 描述
osImageNotificationProfile 指定OS映像排程事件相關組態。 OSImageNotificationProfile
terminateNotificationProfile 指定終止排程事件相關組態。 TerminateNotificationProfile

OSImageNotificationProfile

名稱 描述
enable 指定是否啟用或停用OS映像排程事件。 bool
notBeforeTimeout 虛擬機重新映像或其操作系統升級的時間長度,在事件自動核准之前,必須先核准 OS 映射排程事件, (逾時) 。 設定是以 ISO 8601 格式指定,而且此值必須是 15 分鐘, (PT15M) 字串

TerminateNotificationProfile

名稱 描述
enable 指定是否啟用或停用 Terminate Scheduled 事件。 bool
notBeforeTimeout 刪除虛擬機的可設定時間長度,在自動核准事件之前,虛擬機必須核准終止排程事件, (逾時) 。 設定必須以 ISO 8601 格式指定,預設值為 5 分鐘, (PT5M) 字串

SecurityPostureReference

名稱 描述
excludeExtensions 套用安全性狀態時要排除的虛擬機擴充功能清單。 VirtualMachineExtension[]
id /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch},{major.*},latest 形式的安全性狀態參考標識符 字串

VirtualMachineExtension

名稱 描述
location 資源位置 字串
properties 描述虛擬機擴充功能的屬性。 VirtualMachineExtensionProperties
tags 資源標籤 物件 (object)

VirtualMachineExtensionProperties

名稱 描述
autoUpgradeMinorVersion 指出擴充功能是否應該在部署期間使用較新的次要版本。 不過,部署之後,除非重新部署延伸模組,否則延伸模組將不會升級次要版本,即使此屬性設定為 true 亦然。 bool
enableAutomaticUpgrade 指出如果有較新版本的擴充功能可用,平臺是否應該自動升級延伸模組。 bool
forceUpdateTag 延伸模組處理程式應該如何強制更新,即使延伸模組組態尚未變更也一樣。 字串
instanceView 虛擬機擴充實例檢視。 VirtualMachineExtensionInstanceView
protectedSettings 延伸模組可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或完全不包含受保護的設定。
protectedSettingsFromKeyVault 以傳址方式傳遞並從金鑰保存庫取用的延伸模組受保護設定 KeyVaultSecretReference
provisionAfterExtensions 延伸模組名稱的集合,之後必須布建此延伸模組。 string[]
publisher 擴充處理程序發行者的名稱。 字串
設定 延伸模組的 Json 格式化公用設定。
suppressFailures 指出從擴充功能產生的失敗是否會隱藏 (作業失敗,例如不會連線到 VM,而不論此值為何) 。 預設值為 false。 bool
類型 指定延伸模組的類型;例如“CustomScriptExtension”。 字串
typeHandlerVersion 指定文稿處理程式的版本。 字串

VirtualMachineExtensionInstanceView

名稱 描述
NAME 虛擬機擴充功能名稱。 字串
狀態 資源狀態資訊。 InstanceViewStatus[]
子狀態 資源狀態資訊。 InstanceViewStatus[]
類型 指定延伸模組的類型;例如“CustomScriptExtension”。 字串
typeHandlerVersion 指定文稿處理程式的版本。 字串

InstanceViewStatus

名稱 描述
code 狀態碼。 字串
displayStatus 狀態的簡短可當地語系化標籤。 字串
等級 層級程序代碼。 'Error'
'Info'
'Warning'
message 詳細的狀態消息,包括警示和錯誤訊息。 字串
time 狀態的時間。 字串

SecurityProfile

名稱 描述
encryptionAtHost 用戶可以在要求中使用此屬性,以啟用或停用虛擬機或虛擬機擴展集的主機加密。 這會啟用所有磁碟的加密,包括主機本身的資源/暫存磁碟。 默認行為為:除非資源將此屬性設定為 true,否則將會停用主機加密。 bool
encryptionIdentity 指定 ADE 用來取得金鑰保存庫作業存取令牌的受控識別。 EncryptionIdentity
proxyAgentSettings 指定建立虛擬機時的 ProxyAgent 設定。 API 版本下限:2023-09-01。 ProxyAgentSettings
securityType 指定虛擬機的 SecurityType。 它必須設定為任何指定的值,才能啟用 UefiSettings。 默認行為為:除非設定此屬性,否則不會啟用 UefiSettings。 'ConfidentialVM'
'TrustedLaunch'
uefiSettings 指定安全性設定,例如建立虛擬機時所使用的安全開機和 vTPM。 API 版本下限:2020-12-01。 UefiSettings

EncryptionIdentity

名稱 描述
userAssignedIdentityResourceId 指定與 VM 相關聯的其中一個使用者身分識別的 ARM 資源識別碼。 字串

ProxyAgentSettings

名稱 描述
已啟用 指定是否應在虛擬機或虛擬機擴展集上啟用 ProxyAgent 功能。 bool
keyIncarnationId 增加此屬性的值可讓使用者重設用來保護客體與主機之間通道的密鑰。 int
mode 指定啟用此功能時,ProxyAgent 將會在 上執行的模式。 ProxyAgent 會開始稽核或監視,但不會在稽核模式中對主機端點的要求強制執行訪問控制,而在 [強制執行] 模式中,則會強制執行訪問控制。 默認值為 [強制模式]。 'Audit'
'Enforce'

UefiSettings

名稱 描述
secureBootEnabled 指定是否應在虛擬機上啟用安全開機。 API 版本下限:2020-12-01。 bool
vTpmEnabled 指定是否應在虛擬機上啟用 vTPM。 API 版本下限:2020-12-01。 bool

ServiceArtifactReference

名稱 描述
id 服務成品參考標識符的格式為 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} 字串

VirtualMachineScaleSetStorageProfile

名稱 描述
dataDisks 指定用來將數據磁碟新增至擴展集中虛擬機的參數。 如需磁碟的詳細資訊,請參閱 關於 Azure 虛擬機的磁碟和 VHD VirtualMachineScaleSetDataDisk[]
diskControllerType 字串
imageReference 指定要使用之映像的相關信息。 您可以指定平臺映像、Marketplace 映像或虛擬機映射的相關信息。 當您想要使用平臺映像、市集映像或虛擬機映像,但不會用於其他建立作業時,需要此元素。 ImageReference
osDisk 指定擴展集中虛擬機所使用的操作系統磁碟相關信息。 如需磁碟的詳細資訊,請參閱 關於 Azure 虛擬機的磁碟和 VHD VirtualMachineScaleSetOSDisk

VirtualMachineScaleSetDataDisk

名稱 描述
快取 指定快取需求。 可能的值為: None、ReadOnly、ReadWrite。 預設值為: 標準記憶體的 None。進階記憶體的 ReadOnly。 'None'
'ReadOnly'
'ReadWrite'
createOption create 選項。 'Attach'
'Empty'
需要 『FromImage』 ()
deleteOption 指定在 VMSS Flex 刪除時應該刪除或中斷連結數據磁碟 (此功能僅適用於具有彈性協調流程模式的 VMSS) 。

可能的值:

刪除 如果使用此值,則會在刪除 VMSS Flex VM 時刪除資料磁碟。

分離 如果使用此值,則會在刪除 VMSS Flex VM 之後保留數據磁碟。

預設值設定為 Delete
'Delete'
'Detach'
diskIOPSReadWrite 指定受控磁碟的 Read-Write IOPS。 只有當 StorageAccountType 是UltraSSD_LRS時,才應該使用。 如果未指定,則會根據diskSizeGB指派預設值。 int
diskMBpsReadWrite 指定受控磁碟的每秒 MB 頻寬。 只有當 StorageAccountType 是UltraSSD_LRS時,才應該使用。 如果未指定,則會根據diskSizeGB指派預設值。 int
diskSizeGB 指定以 GB 為單位的空白資料磁碟大小。 此元素可用來覆寫虛擬機映像中的磁碟大小。 diskSizeGB 屬性是磁碟的位元組 x 1024^3 數目,且值不能大於 1023。 int
lun 指定數據磁碟的邏輯單元編號。 這個值是用來識別 VM 內的數據磁碟,因此對於連結至 VM 的每個數據磁碟都必須是唯一的。 需要 int ()
ManagedDisk 受控磁碟參數。 VirtualMachineScaleSetManagedDiskParameters
NAME 磁碟名稱。 字串
writeAcceleratorEnabled 指定是否應該在磁碟上啟用或停用 writeAccelerator。 bool

VirtualMachineScaleSetManagedDiskParameters

名稱 描述
diskEncryptionSet 指定受控磁碟的客戶受控磁碟加密集資源標識符。 DiskEncryptionSetParameters
securityProfile 指定受控磁碟的安全性配置檔。 VMDiskSecurityProfile
storageAccountType 指定受控磁碟的記憶體帳戶類型。 注意:UltraSSD_LRS只能與數據磁碟搭配使用,因此無法與OS磁碟搭配使用。 'PremiumV2_LRS'
'Premium_LRS'
'Premium_ZRS'
'StandardSSD_LRS'
'StandardSSD_ZRS'
'Standard_LRS'
'UltraSSD_LRS'

DiskEncryptionSetParameters

名稱 描述
id 資源標識碼 字串

VMDiskSecurityProfile

名稱 描述
diskEncryptionSet 針對客戶受控密鑰加密的機密VM OS 磁碟和 VMGuest Blob 所使用的受控磁碟,指定客戶受控磁碟加密集資源識別碼。 DiskEncryptionSetParameters
securityEncryptionType 指定受控磁碟的 EncryptionType。 它設定為 DiskWithVMGuestState 以加密受控磁碟以及 VMGuestState Blob、VMGuestStateOnly 只加密 VMGuestState Blob,以及 NonPersistedTPM 表示未在 VMGuestState Blob 中保存韌體狀態。 注意: 它只能設定為機密 VM。 'DiskWithVMGuestState'
'NonPersistedTPM'
'VMGuestStateOnly'

ImageReference

名稱 描述
communityGalleryImageId 指定 VM 部署的社群資源庫映像唯一標識碼。 這可以從社群資源庫映像 GET 呼叫擷取。 字串
id 資源標識碼 字串
供應項目 指定用來建立虛擬機的平臺映像或市集映像供應專案。 字串
publisher 映像發行者。 字串
sharedGalleryImageId 指定 VM 部署的共享資源庫映像唯一識別碼。 這可以從共用資源庫映像 GET 呼叫擷取。 字串
sku 映像 SKU。 字串
version 指定用來建立虛擬機的平臺映像或 Marketplace 映像版本。 允許的格式為 Major.Minor.Build 或 'latest'。 主要、次要和組建都是十進位數。 指定「最新」以使用部署階段可用的最新映像版本。 即使您使用「最新」,即使有新版本可供使用,VM 映像也不會在部署時間之後自動更新。 請勿針對資源庫映射部署使用字段 'version',資源庫映射應該一律使用 'id' 字段進行部署,若要使用資源庫映射的 'latest' 版本,只要設定 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageName}',就不需要輸入版本。 字串

VirtualMachineScaleSetOSDisk

名稱 描述
快取 指定快取需求。 可能的值為: None、ReadOnly、ReadWrite。 預設值為: 標準記憶體的 None。進階記憶體的 ReadOnly。 'None'
'ReadOnly'
'ReadWrite'
createOption 指定應如何建立擴展集中的虛擬機。 唯一允許的值為: FromImage。 當您使用映像來建立虛擬機時,會使用此值。 如果您使用平臺映像,則也會使用上述的 imageReference 元素。 如果您使用 Marketplace 映射,則也會使用先前所述的 plan 元素。 'Attach'
'Empty'
需要 『FromImage』 ()
deleteOption 指定在 VMSS Flex 刪除時應該刪除或中斷連結 OS 磁碟 (此功能僅適用於具有彈性 OrchestrationMode 的 VMSS) 。

可能的值:

刪除 如果使用此值,則會在刪除 VMSS Flex VM 時刪除 OS 磁碟。

分離 如果使用此值,則會在刪除 VMSS Flex VM 之後保留 OS 磁碟。

預設值設定為 Delete。 若為暫時OS磁碟,預設值會設定為 Delete。 使用者無法變更暫時 OS 磁碟的刪除選項。
'Delete'
'Detach'
diffDiskSettings 指定虛擬機擴展集所使用作業系統磁碟的暫時磁碟設定。 DiffDiskSettings
diskSizeGB 指定以 GB 為單位的空白資料磁碟大小。 此元素可用來覆寫虛擬機映像中的磁碟大小。 屬性 'diskSizeGB' 是磁碟的位元組 x 1024^3 數目,且值不能大於 1023。 int
image 指定要根據擴展集之非受控使用者映像的資訊。 VirtualHardDisk
ManagedDisk 受控磁碟參數。 VirtualMachineScaleSetManagedDiskParameters
NAME 磁碟名稱。 字串
osType 此屬性可讓您指定從使用者映像或特製化 VHD 建立 VM 時,磁碟包含的 OS 類型。 可能的值為: Windows、Linux。 'Linux'
'Windows'
vhdContainers 指定用來儲存擴展集作業系統磁碟的容器 URL。 string[]
writeAcceleratorEnabled 指定是否應該在磁碟上啟用或停用 writeAccelerator。 bool

DiffDiskSettings

名稱 描述
選項 指定作業系統磁碟的暫時磁碟設定。 'Local'
放置 指定作業系統磁碟的暫時磁碟位置。 可能的值為: CacheDisk、ResourceDisk。 默認行為為:如果已針對 VM 大小設定 快取Disk ,否則會使用 ResourceDisk 。 請參閱 /azure/virtual-machines/windows/size 和 Linux VM 位於 /azure/virtual-machines/linux/size 的 Windows VM 大小檔,以檢查哪些 VM 大小會公開快取磁碟。 'CacheDisk'
'ResourceDisk'

VirtualHardDisk

名稱 描述
uri 指定虛擬硬碟的 URI。 字串

SKU

名稱 描述
處理能力 指定擴展集中的虛擬機數目。 int
NAME SKU 名稱。 字串
tier 指定擴展集中的虛擬機層。

可能的值如下:

標準

基本
字串

快速入門範本

下列快速入門範本會部署此資源類型。

範本 描述
部署具有 LB 探查和自動修復的 VM 擴展集

部署至 Azure
此範本可讓您在已設定健康情況探查的負載平衡器後方部署Linux VM的VM擴展集。 擴展集也已啟用自動實例修復原則,寬限期為 30 分鐘。
部署將每個 VM 連線到 Azure 檔案儲存體 共用的 VMSS

部署至 Azure
此範本會部署 Ubuntu 虛擬機擴展集,並使用自定義腳本擴充功能將每個 VM 連線到 Azure 檔案儲存體 共用
使用自定義腳本擴充功能部署 Windows VM 擴展集

部署至 Azure
此範本可讓您使用各種 Windows 版本的最新修補版本來部署 Windows VM 的 VM 擴展集。 這些 VM 具有自定義腳本擴充功能,且位於負載平衡器後方,具有 RDP 連線的 NAT 規則。
將擴展集部署到現有的 vnet

部署至 Azure
此範本會將 VM 擴展集部署到現有的 vnet。
將多個 VM 新增至虛擬機擴展集

部署至 Azure
此範本會建立具有受控磁碟、公用IP和網路介面的N個VM數目。 它會在彈性協調流程模式的虛擬機擴展集中建立 VM。 它們將會布建在 虛擬網路 中,也會建立為部署的一部分
VMSS 彈性協調流程模式快速入門 Linux

部署至 Azure
此範本會部署簡單的 VM 擴展集,其中包含 Azure Load Balancer 後方的實例。 VM 擴展集處於彈性協調流程模式。 使用 os 參數選擇 Linux (Ubuntu) 或 Windows (Windows Server Datacenter 2019) 部署。 注意:本快速入門範本可讓您從任何因特網位址存取 VM 管理埠, (SSH、RDP) ,且不應用於生產部署。
使用 ILB 後方的 Linux VM 部署 VM 擴展集

部署至 Azure
此範本可讓您使用最新修補的UbuntuLinux 15.10或14.04.4-4-LTS版本來部署Linux VM的 VM 擴展集。 這些 VM 位於內部負載平衡器後方,具有 SSH 連線的 NAT 規則。
使用Linux自定義映像部署VM擴展集

部署至 Azure
此範本可讓您在擴展集內部署自訂 VM Linux 映像。 根據預設,這些 VM 在埠 80) 上是具有 HTTP 負載平衡 (的負載平衡器後方。 此範例會使用自定義腳本來執行應用程式部署和更新,您可能必須為自己的更新程式提供自定義腳本。 您必須在建立 VMSS 的相同訂用帳戶和區域中,提供 VM 的一般化映像。
使用 Linux VM 部署簡單的 VM 擴展集

部署至 Azure
此範本可讓您使用最新修補的 Ubuntu Linux 14.04.4-LTS 或 16.04-LTS 版本來部署簡單的 Linux VM 擴展集。 這些 VM 位於負載平衡器後方,具有 SSH 連線的 NAT 規則。
在可用性區域中部署具有Linux VM的VM擴展集

部署至 Azure
此範本可讓您使用最新修補的 Ubuntu Linux 14.04.4-LTS 或 16.04-LTS 版本來部署簡單的 Linux VM 擴展集。 這些 VM 位於負載平衡器後方,具有 SSH 連線的 NAT 規則。
部署具有主要/次要架構的Linux VMSS

部署至 Azure
此範本可讓您在主要次要架構中使用自定義腳本擴充功能部署Linux VMSS
具有 Linux VM 和每個 VM 公用 IPv4 的簡單 VM 擴展集

部署至 Azure
此範本示範如何使用負載平衡器、輸入 NAT 規則和每個 VM 的公用 IP 來部署簡單的擴充集。
部署可信賴啟動的 Windows VM 擴展集

部署至 Azure
此範本可讓您使用最新修補版本的 Windows Server 2016、Windows Server 2019 或 Windows Server 2022 Azure Edition,部署可信任啟動的 Windows VM 擴展集。 這些 VM 位於負載平衡器後方,具有 RDP 連線的 NAT 規則。 如果您啟用 Secureboot 和 vTPM,客體證明擴充功能將會安裝在您的 VMSS 上。 此延伸模組將會由雲端執行遠程 證明
使用 Azure 應用程式閘道 部署Ubuntu VM擴展集

部署至 Azure
此範本可讓您部署與 Azure 應用程式閘道整合的簡單Ubuntu VM擴展集,並支援最多1000部 VM
使用Linux VM和自動調整部署 VM 擴展集

部署至 Azure
此範本可讓您使用最新修補的UbuntuLinux 15.04或14.04.4-4-LTS版本來部署簡單的Linux VM擴展集。 這些 VM 位於負載平衡器後方,具有 SSH 連線的 NAT 規則。它們也已整合自動調整
已啟用 SSL 的 VM 擴展集

部署至 Azure
部署 Web 伺服器以安全方式部署的 SSL 憑證來設定 Azure 金鑰保存庫
在 Windows 上將擴展集部署到現有的 vnet

部署至 Azure
此範本會將 Windows 2016 Datacenter VM 擴展集部署到現有的資源群組、vnet 和子網。
使用 Azure 應用程式閘道 部署 Windows VM 擴展集

部署至 Azure
此範本可讓您部署與 Azure 應用程式閘道整合的簡單 Windows VM 擴展集,並支援最多 1000 部 VM
使用 Windows VM 和自動調整來部署 VM 擴展集

部署至 Azure
此範本可讓您使用最新修補版本的 Windows 2008-R2-SP1、2012-Datacenter 或 2012-R2-Datacenter 部署簡單的 Windows VM 擴展集。 這些 VM 位於負載平衡器後方,具有 RDP 連線的 NAT 規則。 它們也已整合自動調整
使用 Windows 自定義映射部署 VM 擴展集

部署至 Azure
此範本可讓您部署簡單的 VM 擴展集,並設定自訂 Windows 映像。 這些 VM 預設會在埠 80) 上使用 HTTP 負載平衡 (的負載平衡器後方
使用 Windows VM 部署簡單的 VM 擴展集

部署至 Azure
此範本可讓您使用各種 Windows 版本的最新修補版本來部署簡單的 Windows VM 擴展集。 這些 VM 位於負載平衡器後方,具有 RDP 連線的 NAT 規則。
在 可用性區域 中使用 Windows VM 部署 VM 擴展集

部署至 Azure
此範本可讓您使用各種 Windows 版本的最新修補版本來部署 Windows VM 的 VM 擴展集。 這些 VM 位於負載平衡器後方,具有 RDP 連線的 NAT 規則。
具有公用IP前綴的VMSS

部署至 Azure
使用公用IP前綴部署VMSS的範本

Terraform (AzAPI 提供者) 資源定義

virtualMachineScaleSets 資源類型可以使用目標作業來部署:

  • 資源群組

如需每個 API 版本中已變更屬性的清單,請參閱 變更記錄檔。

資源格式

若要建立 Microsoft.Compute/virtualMachineScaleSets 資源,請將下列 Terraform 新增至範本。

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Compute/virtualMachineScaleSets@2023-09-01"
  name = "string"
  location = "string"
  parent_id = "string"
  tags = {
    tagName1 = "tagValue1"
    tagName2 = "tagValue2"
  }
  identity {
    type = "string"
    identity_ids = []
  }
  body = jsonencode({
    properties = {
      additionalCapabilities = {
        hibernationEnabled = bool
        ultraSSDEnabled = bool
      }
      automaticRepairsPolicy = {
        enabled = bool
        gracePeriod = "string"
        repairAction = "string"
      }
      constrainedMaximumCapacity = bool
      doNotRunExtensionsOnOverprovisionedVMs = bool
      hostGroup = {
        id = "string"
      }
      orchestrationMode = "string"
      overprovision = bool
      platformFaultDomainCount = int
      priorityMixPolicy = {
        baseRegularPriorityCount = int
        regularPriorityPercentageAboveBase = int
      }
      proximityPlacementGroup = {
        id = "string"
      }
      resiliencyPolicy = {
        resilientVMCreationPolicy = {
          enabled = bool
        }
        resilientVMDeletionPolicy = {
          enabled = bool
        }
      }
      scaleInPolicy = {
        forceDeletion = bool
        rules = [
          "string"
        ]
      }
      singlePlacementGroup = bool
      spotRestorePolicy = {
        enabled = bool
        restoreTimeout = "string"
      }
      upgradePolicy = {
        automaticOSUpgradePolicy = {
          disableAutomaticRollback = bool
          enableAutomaticOSUpgrade = bool
          osRollingUpgradeDeferral = bool
          useRollingUpgradePolicy = bool
        }
        mode = "string"
        rollingUpgradePolicy = {
          enableCrossZoneUpgrade = bool
          maxBatchInstancePercent = int
          maxSurge = bool
          maxUnhealthyInstancePercent = int
          maxUnhealthyUpgradedInstancePercent = int
          pauseTimeBetweenBatches = "string"
          prioritizeUnhealthyInstances = bool
          rollbackFailedInstancesOnPolicyBreach = bool
        }
      }
      virtualMachineProfile = {
        applicationProfile = {
          galleryApplications = [
            {
              configurationReference = "string"
              enableAutomaticUpgrade = bool
              order = int
              packageReferenceId = "string"
              tags = "string"
              treatFailureAsDeploymentFailure = bool
            }
          ]
        }
        billingProfile = {
          maxPrice = "decimal-as-string"
        }
        capacityReservation = {
          capacityReservationGroup = {
            id = "string"
          }
        }
        diagnosticsProfile = {
          bootDiagnostics = {
            enabled = bool
            storageUri = "string"
          }
        }
        evictionPolicy = "string"
        extensionProfile = {
          extensions = [
            {
              name = "string"
              properties = {
                autoUpgradeMinorVersion = bool
                enableAutomaticUpgrade = bool
                forceUpdateTag = "string"
                protectedSettingsFromKeyVault = {
                  secretUrl = "string"
                  sourceVault = {
                    id = "string"
                  }
                }
                provisionAfterExtensions = [
                  "string"
                ]
                publisher = "string"
                suppressFailures = bool
                type = "string"
                typeHandlerVersion = "string"
              }
            }
          ]
          extensionsTimeBudget = "string"
        }
        hardwareProfile = {
          vmSizeProperties = {
            vCPUsAvailable = int
            vCPUsPerCore = int
          }
        }
        licenseType = "string"
        networkProfile = {
          healthProbe = {
            id = "string"
          }
          networkApiVersion = "2020-11-01"
          networkInterfaceConfigurations = [
            {
              name = "string"
              properties = {
                auxiliaryMode = "string"
                auxiliarySku = "string"
                deleteOption = "string"
                disableTcpStateTracking = bool
                dnsSettings = {
                  dnsServers = [
                    "string"
                  ]
                }
                enableAcceleratedNetworking = bool
                enableFpga = bool
                enableIPForwarding = bool
                ipConfigurations = [
                  {
                    name = "string"
                    properties = {
                      applicationGatewayBackendAddressPools = [
                        {
                          id = "string"
                        }
                      ]
                      applicationSecurityGroups = [
                        {
                          id = "string"
                        }
                      ]
                      loadBalancerBackendAddressPools = [
                        {
                          id = "string"
                        }
                      ]
                      loadBalancerInboundNatPools = [
                        {
                          id = "string"
                        }
                      ]
                      primary = bool
                      privateIPAddressVersion = "string"
                      publicIPAddressConfiguration = {
                        name = "string"
                        properties = {
                          deleteOption = "string"
                          dnsSettings = {
                            domainNameLabel = "string"
                            domainNameLabelScope = "string"
                          }
                          idleTimeoutInMinutes = int
                          ipTags = [
                            {
                              ipTagType = "string"
                              tag = "string"
                            }
                          ]
                          publicIPAddressVersion = "string"
                          publicIPPrefix = {
                            id = "string"
                          }
                        }
                        sku = {
                          name = "string"
                          tier = "string"
                        }
                      }
                      subnet = {
                        id = "string"
                      }
                    }
                  }
                ]
                networkSecurityGroup = {
                  id = "string"
                }
                primary = bool
              }
            }
          ]
        }
        osProfile = {
          adminPassword = "string"
          adminUsername = "string"
          allowExtensionOperations = bool
          computerNamePrefix = "string"
          customData = "string"
          linuxConfiguration = {
            disablePasswordAuthentication = bool
            enableVMAgentPlatformUpdates = bool
            patchSettings = {
              assessmentMode = "string"
              automaticByPlatformSettings = {
                bypassPlatformSafetyChecksOnUserSchedule = bool
                rebootSetting = "string"
              }
              patchMode = "string"
            }
            provisionVMAgent = bool
            ssh = {
              publicKeys = [
                {
                  keyData = "string"
                  path = "string"
                }
              ]
            }
          }
          requireGuestProvisionSignal = bool
          secrets = [
            {
              sourceVault = {
                id = "string"
              }
              vaultCertificates = [
                {
                  certificateStore = "string"
                  certificateUrl = "string"
                }
              ]
            }
          ]
          windowsConfiguration = {
            additionalUnattendContent = [
              {
                componentName = "Microsoft-Windows-Shell-Setup"
                content = "string"
                passName = "OobeSystem"
                settingName = "string"
              }
            ]
            enableAutomaticUpdates = bool
            enableVMAgentPlatformUpdates = bool
            patchSettings = {
              assessmentMode = "string"
              automaticByPlatformSettings = {
                bypassPlatformSafetyChecksOnUserSchedule = bool
                rebootSetting = "string"
              }
              enableHotpatching = bool
              patchMode = "string"
            }
            provisionVMAgent = bool
            timeZone = "string"
            winRM = {
              listeners = [
                {
                  certificateUrl = "string"
                  protocol = "string"
                }
              ]
            }
          }
        }
        priority = "string"
        scheduledEventsProfile = {
          osImageNotificationProfile = {
            enable = bool
            notBeforeTimeout = "string"
          }
          terminateNotificationProfile = {
            enable = bool
            notBeforeTimeout = "string"
          }
        }
        securityPostureReference = {
          excludeExtensions = [
            {
              location = "string"
              properties = {
                autoUpgradeMinorVersion = bool
                enableAutomaticUpgrade = bool
                forceUpdateTag = "string"
                instanceView = {
                  name = "string"
                  statuses = [
                    {
                      code = "string"
                      displayStatus = "string"
                      level = "string"
                      message = "string"
                      time = "string"
                    }
                  ]
                  substatuses = [
                    {
                      code = "string"
                      displayStatus = "string"
                      level = "string"
                      message = "string"
                      time = "string"
                    }
                  ]
                  type = "string"
                  typeHandlerVersion = "string"
                }
                protectedSettingsFromKeyVault = {
                  secretUrl = "string"
                  sourceVault = {
                    id = "string"
                  }
                }
                provisionAfterExtensions = [
                  "string"
                ]
                publisher = "string"
                suppressFailures = bool
                type = "string"
                typeHandlerVersion = "string"
              }
              tags = {}
            }
          ]
          id = "string"
        }
        securityProfile = {
          encryptionAtHost = bool
          encryptionIdentity = {
            userAssignedIdentityResourceId = "string"
          }
          proxyAgentSettings = {
            enabled = bool
            keyIncarnationId = int
            mode = "string"
          }
          securityType = "string"
          uefiSettings = {
            secureBootEnabled = bool
            vTpmEnabled = bool
          }
        }
        serviceArtifactReference = {
          id = "string"
        }
        storageProfile = {
          dataDisks = [
            {
              caching = "string"
              createOption = "string"
              deleteOption = "string"
              diskIOPSReadWrite = int
              diskMBpsReadWrite = int
              diskSizeGB = int
              lun = int
              managedDisk = {
                diskEncryptionSet = {
                  id = "string"
                }
                securityProfile = {
                  diskEncryptionSet = {
                    id = "string"
                  }
                  securityEncryptionType = "string"
                }
                storageAccountType = "string"
              }
              name = "string"
              writeAcceleratorEnabled = bool
            }
          ]
          diskControllerType = "string"
          imageReference = {
            communityGalleryImageId = "string"
            id = "string"
            offer = "string"
            publisher = "string"
            sharedGalleryImageId = "string"
            sku = "string"
            version = "string"
          }
          osDisk = {
            caching = "string"
            createOption = "string"
            deleteOption = "string"
            diffDiskSettings = {
              option = "Local"
              placement = "string"
            }
            diskSizeGB = int
            image = {
              uri = "string"
            }
            managedDisk = {
              diskEncryptionSet = {
                id = "string"
              }
              securityProfile = {
                diskEncryptionSet = {
                  id = "string"
                }
                securityEncryptionType = "string"
              }
              storageAccountType = "string"
            }
            name = "string"
            osType = "string"
            vhdContainers = [
              "string"
            ]
            writeAcceleratorEnabled = bool
          }
        }
        userData = "string"
      }
      zoneBalance = bool
    }
    zones = [
      "string"
    ]
    sku = {
      capacity = int
      name = "string"
      tier = "string"
    }
    extendedLocation = {
      name = "string"
      type = "EdgeZone"
    }
    plan = {
      name = "string"
      product = "string"
      promotionCode = "string"
      publisher = "string"
    }
  })
}

屬性值

virtualMachineScaleSets

名稱 描述
類型 資源類型 “Microsoft.Compute/virtualMachineScaleSets@2023-09-01”
NAME 資源名稱 需要字串 ()

字元限制:1-15 (Windows)
1-64 (Linux)



合法字元:
不能使用空格、控制字元或下列字元:
~ ! @ # $ % ^ & * ( ) = + _ [ ] { } \ | ; : . ' " , < > / ?

不能以底線開頭。 不能以句號或連字號結尾。
location 資源位置 需要字串 ()
parent_id 若要部署至資源群組,請使用該資源群組的標識碼。 需要字串 ()
tags 資源標籤 標記名稱和值的字典。
sku 虛擬機擴展集 SKU。 Sku
extendedLocation 虛擬機擴展集的擴充位置。 ExtendedLocation
身分識別 如果已設定,則為虛擬機擴展集的身分識別。 VirtualMachineScaleSetIdentity
方案 指定用來建立虛擬機之 Marketplace 映像的相關信息。 此元素僅用於市集映像。 您必須先啟用映像以供程序設計使用,才能從 API 使用市集映射。 在 Azure 入口網站 中,尋找您想要使用的市集映射,然後按兩下 [以程序設計方式部署] [開始使用] -> 。 輸入任何必要資訊,然後按兩下 [ 儲存]。 方案
properties 描述虛擬機擴展集的屬性。 VirtualMachineScaleSetProperties
zones (區域) 虛擬機擴展集區域。 注意:只有在建立擴展集時,才能設定可用性區域 string[]

ExtendedLocation

名稱 描述
NAME 擴充位置的名稱。 字串
type 擴充位置的類型。 “EdgeZone”

VirtualMachineScaleSetIdentity

名稱 描述
類型 用於虛擬機擴展集的身分識別類型。 「SystemAssigned、UserAssigned」類型同時包含隱含建立的身分識別,和一組使用者指派的身分識別。 類型 『None』 將會從虛擬機擴展集移除任何身分識別。 “SystemAssigned”
“SystemAssigned, UserAssigned”
“UserAssigned”
identity_ids 與虛擬機擴展集相關聯的使用者身分識別清單。 使用者身分識別字典索引鍵參考的格式為 ARM 資源標識符:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'。 使用者身分識別標識碼的陣列。

UserAssignedIdentities

名稱 描述
{自定義屬性} UserAssignedIdentitiesValue
{自定義屬性} UserAssignedIdentitiesValue

UserAssignedIdentitiesValue

此物件不包含部署期間要設定的任何屬性。 所有屬性都是 ReadOnly。

計畫

名稱 描述
NAME 方案標識碼。 字串
產品 指定市集中映像的產品。 這與 imageReference 元素下的 Offer 值相同。 字串
promotionCode 促銷碼。 字串
publisher 發行者標識碼。 字串

VirtualMachineScaleSetProperties

名稱 描述
additionalCapabilities 指定虛擬機擴展集中 虛擬機器 上啟用或停用的其他功能。 例如:虛擬機器 是否能夠支援使用UltraSSD_LRS記憶體帳戶類型鏈接受控數據磁碟。 AdditionalCapabilities
automaticRepairsPolicy 自動修復的原則。 AutomaticRepairsPolicy
constrainedMaximumCapacity 必須設定為 True 或省略的選擇性屬性。 bool
doNotRunExtensionsOnOverprovisionedVM 啟用 Overprovision 時,擴充功能只會在最後保留的要求 VM 數目上啟動。 因此,此屬性可確保擴充功能不會在額外的過度布建 VM 上執行。 bool
hostGroup 指定虛擬機擴展集所在專用主機群組的相關信息。 API 版本下限:2020-06-01。 SubResource
orchestrationMode 指定虛擬機擴展集的協調流程模式。 「彈性」
“Uniform”
overprovision 指定是否應過度布建虛擬機擴展集。 bool
platformFaultDomainCount 每個放置群組的容錯網域計數。 int
priorityMixPolicy 指定在相同 VMSS Flex 實例內混合現成和一般優先順序 VM 所需的目標。 PriorityMixPolicy
proximityPlacementGroup 指定虛擬機擴展集應指派給之鄰近放置群組的相關信息。 API 版本下限:2018-04-01。 SubResource
resiliencyPolicy 復原原則 ResiliencyPolicy
scaleInPolicy 指定在虛擬機擴展集中調整 虛擬機器 時套用的原則。 ScaleInPolicy
singlePlacementGroup 若為 true,則會將擴展集限制為單一放置群組,大小上限為 100 部虛擬機。 注意:如果 singlePlacementGroup 為 true,可能會將其修改為 false。 不過,如果 singlePlacementGroup 為 false,則無法修改成 true。 bool
spotRestorePolicy 指定虛擬機擴展集的現成還原屬性。 SpotRestorePolicy
upgradePolicy 升級原則。 UpgradePolicy
virtualMachineProfile 虛擬機器配置檔。 VirtualMachineScaleSetVMProfile
zoneBalance 如果發生區域中斷,是否強制嚴格地跨 x 區域散發虛擬機。 只有在擴展集的區域屬性包含多個區域時,才能設定 zoneBalance 屬性。 如果沒有指定區域或只指定一個區域,不應設定 zoneBalance 屬性。 bool

AdditionalCapabilities

名稱 描述
hibernationEnabled 啟用或停用 VM 上休眠功能的旗標。 bool
ultraSSDEnabled 旗標,可讓或停用在 VM 或 VMSS 上具有一或多個具有 UltraSSD_LRS記憶體帳戶類型的受控數據磁碟。 只有在啟用此屬性時,才能將具有記憶體帳戶類型的受控磁碟UltraSSD_LRS新增至虛擬機或虛擬機擴展集。 bool

AutomaticRepairsPolicy

名稱 描述
已啟用 指定是否應在虛擬機擴展集上啟用自動修復。 預設值為 false。 bool
gracePeriod 因為 VM 上的狀態變更而暫停自動修復的時間量。 寬限時間會在狀態變更完成之後開始。 這有助於避免提前或意外修復。 時間持續時間應以 ISO 8601 格式指定。 允許的寬限期下限為 10 分鐘, (PT10M) ,這也是預設值。 允許的寬限期上限為 90 分鐘, (PT90M) 。 字串
repairAction 修復動作類型 (取代、重新啟動、重新安裝映像) ,用於修復擴展集中狀況不良的虛擬機。 預設值為 replace。 “Reimage”
“Replace”
“重新啟動”

SubResource

名稱 描述
id 資源標識碼 字串

PriorityMixPolicy

名稱 描述
baseRegularPriorityCount 將在此擴展集中建立的一般優先順序 VM 基底數目,因為它會相應放大。 int

約束:
最小值 = 0
regularPriorityPercentageAboveBase 達到基底一般優先順序計數之後,預期會使用一般優先順序的 VM 實例百分比。 int

約束:
最小值 = 0
最大值 = 100

ResiliencyPolicy

名稱 描述
resilientVMCreationPolicy 執行復原 VM 建立時所使用的組態參數。 ResilientVMCreationPolicy
resilientVMDeletionPolicy 執行復原 VM 刪除時所使用的組態參數。 ResilientVMDeletionPolicy

ResilientVMCreationPolicy

名稱 描述
已啟用 指定是否應在虛擬機擴展集上啟用復原 VM 建立。 預設值為 false。 bool

ResilientVMDeletionPolicy

名稱 描述
已啟用 指定是否應在虛擬機擴展集上啟用復原 VM 刪除。 預設值為 false。 bool

ScaleInPolicy

名稱 描述
forceDeletion 此屬性可讓您指定當虛擬機擴展集正在相應縮小時,是否必須強制刪除選擇移除的虛擬機。 (Preview 中的功能) bool
規則 調整虛擬機擴展集時要遵循的規則。

可能的值包括:

預設 當虛擬機擴展集相應縮小時,如果擴展集是區域性擴展集,則擴展集會先跨區域平衡。 然後,它將會盡可能跨容錯網域進行平衡。 在每個容錯網域內,選擇移除的虛擬機將會是不受相應縮小保護的最新虛擬機。

OldestVM 當虛擬機擴展集進行相應縮小時,將會選擇未受相應縮小保護的最舊虛擬機進行移除。 針對區域性虛擬機擴展集,擴展集會先跨區域平衡。 在每個區域內,將會選擇未受保護的最舊虛擬機來移除。

NewestVM 當虛擬機擴展集正在相應縮小時,系統會選擇未受相應縮小保護的最新虛擬機,以移除。 針對區域性虛擬機擴展集,擴展集會先跨區域平衡。 在每個區域中,將會選擇未受保護的最新虛擬機來移除。

包含任何項目的字串數組:
“預設值”
“NewestVM”
“OldestVM”

SpotRestorePolicy

名稱 描述
已啟用 啟用 Spot-Try-Restore 功能,其中收回的 VMSS SPOT 實例將會根據容量可用性和定價條件約束,以機率方式還原 bool
restoreTimeout 以 ISO 8601 時間持續時間表示的逾時值,之後平臺將不會嘗試還原 VMSS SPOT 實例 字串

UpgradePolicy

名稱 描述
automaticOSUpgradePolicy 用於執行自動作業系統升級的組態參數。 AutomaticOSUpgradePolicy
mode 指定升級至擴展集中虛擬機的模式。

可能的值包括:

手動 - 您可以控制擴充集中虛擬機更新的應用程式。 您可以使用 manualUpgrade 宏指令來執行此動作。

自動 -擴展集中的所有虛擬機都會同時自動更新。
“Automatic”
“手動”
“滾動”
rollingUpgradePolicy 執行滾動升級時所使用的組態參數。 RollingUpgradePolicy

AutomaticOSUpgradePolicy

名稱 描述
disableAutomaticRollback 是否應該停用OS映像復原功能。 預設值為 False。 bool
enableAutomaticOSUpgrade 指出當較新版本的OS映像可供使用時,是否應該以滾動方式將操作系統升級自動套用至擴展集實例。 預設值為 False。 如果 Windows 擴展集將此設定為 true,enableAutomaticUpdates 會自動設定為 false,而且無法設定為 true。 bool
osRollingUpgradeDeferral 指出自動作業系統升級是否應該延遲。 延後操作系統升級會根據每部 VM 傳送進階通知,讓 OS 升級從滾動升級傳入,方法是透過 IMDS 標籤 'Platform.PendingOSUpgrade'。 接著,升級會延遲,直到透過ApprovRollingUpgrade呼叫核准升級為止。 bool
useRollingUpgradePolicy 指出是否應在自動作業系統升級期間使用滾動升級原則。 預設值為 False。 如果未在 VMSS 上定義任何原則,自動 OS 升級將會回復為默認原則。 bool

RollingUpgradePolicy

名稱 描述
enableCrossZoneUpgrade 允許 VMSS 在建構升級批次時忽略 AZ 界限。 將 Update 網域和 maxBatchInstancePercent 納入考慮,以判斷批次大小。 bool
maxBatchInstancePercent 一個批次中的滾動升級會同時升級的虛擬機實例總數百分比上限。 由於這是最大值,先前或未來批次中狀況不良的實例可能會導致批次中的實例百分比降低,以確保更高的可靠性。 此參數的預設值為 20%。 int

約束:
最小值 = 5
最大值 = 100
maxSurge 建立新的虛擬機以升級擴展集,而不是更新現有的虛擬機。 一旦為每個批次建立新的虛擬機,就會刪除現有的虛擬機。 bool
maxUnhealthyInstancePercent 擴展集中可同時狀況不良之虛擬機實例總數的百分比上限,可能是因為升級而發生,或是在滾動升級中止之前,虛擬機健康情況檢查處於狀況不良狀態。 啟動任何批次之前,將會先檢查此條件約束。 此參數的預設值為 20%。 int

約束:
最小值 = 5
最大值 = 100
maxUnhealthyUpgradedInstancePercent 已升級的虛擬機實例百分比上限,這些實例可能處於狀況不良狀態。 升級每個批次之後,就會進行這項檢查。 如果超過此百分比,滾動更新就會中止。 此參數的預設值為 20%。 int

約束:
最小值 = 0
最大值 = 100
pauseTimeBetweenBatches 在一個批次中完成所有虛擬機的更新,以及啟動下一個批次之間的等候時間。 時間持續時間應以 ISO 8601 格式指定。 默認值為 0 秒, (PT0S) 。 字串
prioritizeUnhealthyInstances 在任何狀況良好的實例之前,升級擴展集中所有狀況不良的實例。 bool
rollbackFailedInstancesOnPolicyBreach 如果違反滾動升級原則,則復原失敗實例至先前的模型。 bool

VirtualMachineScaleSetVMProfile

名稱 描述
applicationProfile 指定應該提供給 VM/VMSS 的資源庫應用程式 ApplicationProfile
billingProfile 指定 Azure Spot VMSS 的計費相關詳細數據。 API 版本下限:2019-03-01。 BillingProfile
capacityReservation 指定擴展集的容量保留相關詳細數據。 API 版本下限:2021-04-01。 CapacityReservationProfile
diagnosticsProfile 指定開機診斷設定狀態。 API 版本下限:2015-06-15。 DiagnosticsProfile
收回原則 指定 Azure Spot 虛擬機和 Azure Spot 擴展集的收回原則。 針對 Azure Spot 虛擬機,同時支援「解除分配」和「刪除」,且最低 API 版本為 2019-03-01。 針對 Azure Spot 擴展集,同時支援 'Deallocate' 和 'Delete',且最低 api 版本為 2017-10-30-preview。 “Deallocate”
"Delete"
extensionProfile 指定擴展集中虛擬機上安裝之延伸模組的設定集合。 VirtualMachineScaleSetExtensionProfile
hardwareProfile 指定擴展集的硬體配置檔相關詳細數據。 API 版本下限:2021-11-01。 VirtualMachineScaleSetHardwareProfile
licenseType 指定正在使用的映像或磁碟是內部部署授權的。

Windows Server 操作系統的可能值為:

Windows_Client

Windows_Server

Linux Server 操作系統的可能值為:

RHEL) 的 RHEL_BYOS (

SUSE) 的 SLES_BYOS (

如需詳細資訊,請參閱 適用於 Windows Server 的 Azure Hybrid Use Benefit

適用於 Linux Server 的 Azure 混合式使用權益

API 版本下限:2015-06-15
字串
networkProfile 指定擴展集中虛擬機網路介面的屬性。 VirtualMachineScaleSetNetworkProfile
osProfile 指定擴展集中虛擬機的作業系統設定。 VirtualMachineScaleSetOSProfile
priority 指定擴展集中虛擬機的優先順序。 API 版本下限:2017-10-30-preview。 "Low"
“Regular”
“Spot”
scheduledEventsProfile 指定排程的事件相關組態。 ScheduledEventsProfile
securityPostureReference 指定要用於擴展集中所有虛擬機的安全性狀態。 最低 API 版本:2023-03-01 SecurityPostureReference
securityProfile 指定擴展集中虛擬機的安全性相關配置檔設定。 SecurityProfile
serviceArtifactReference 指定使用 'latest' 映射版本時,用來為擴展集中的所有虛擬機設定相同映像版本的服務成品參考標識符。 API 版本下限:2022-11-01 ServiceArtifactReference
storageProfile 指定虛擬機器磁碟的儲存體設定。 VirtualMachineScaleSetStorageProfile
userData 擴展集中虛擬機的UserData,必須經過base-64編碼。 客戶不應在此傳遞任何秘密。 API 版本下限:2021-03-01。 字串

ApplicationProfile

名稱 描述
galleryApplications 指定應該提供給 VM/VMSS 的資源庫應用程式 VMGalleryApplication[]

VMGalleryApplication

名稱 描述
configurationReference 選擇性,指定 Azure Blob 的 URI,以在提供時取代封裝的預設組態 字串
enableAutomaticUpgrade 如果設定為 true,當 PIR/SIG 中提供新的資源庫應用程式版本時,VM/VMSS 會自動更新它 bool
順序 選擇性,指定必須安裝套件的順序 int
packageReferenceId 指定 /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/applications/{application}/versions/{version} 形式的 GalleryApplicationVersion 資源標識符 字串 (必要)
tags 選擇性,指定更多泛型內容的傳遞值。 字串
treatFailureAsDeploymentFailure 選擇性,如果為 true,VmApplication 中任何作業的任何失敗都會使部署失敗 bool

BillingProfile

名稱 描述
maxPrice 指定您願意支付 Azure Spot VM/VMSS 的最大價格。 此價格以美元為單位。

此價格將會與 VM 大小的目前 Azure Spot 價格進行比較。 此外,價格會在建立/更新 Azure Spot VM/VMSS 時進行比較,而且只有在 maxPrice 大於目前的 Azure Spot 價格時,作業才會成功。

如果目前的 Azure Spot 價格在建立 VM/VMSS 之後超過 maxPrice,則 maxPrice 也會用於收回 Azure Spot VM/VMSS。

可能的值包括:

- 大於零的任何十進位值。 範例:0.01538

-1 – 表示預設價格為隨選。

您可以將 maxPrice 設定為 -1,以指出基於價格考慮,不應收回 Azure Spot VM/VMSS。 此外,如果預設的最大值價格不是由您提供,則為 -1。

API 版本下限:2019-03-01。 將十進位值指定為字串。
int 或 json decimal

CapacityReservationProfile

名稱 描述
capacityReservationGroup 指定容量保留群組資源標識符,該標識元應該用於配置已保留足夠容量的虛擬機或擴展集 VM 實例。 如需詳細資訊, https://aka.ms/CapacityReservation 請參閱 。 SubResource

DiagnosticsProfile

名稱 描述
bootDiagnostics 開機診斷是一項偵錯功能,可讓您檢視控制台輸出和螢幕快照以診斷 VM 狀態。 注意:如果要指定 storageUri,請確定記憶體帳戶位於與 VM 相同的區域和訂用帳戶中。 您可以輕鬆地檢視主控台記錄檔的輸出。 Azure 也可讓您從 Hypervisor 查看 VM 的螢幕快照。 BootDiagnostics

BootDiagnostics

名稱 描述
已啟用 是否應在虛擬機上啟用開機診斷。 bool
storageUri 用來放置主控台輸出和螢幕快照的記憶體帳戶 URI。 如果未在啟用開機診斷時指定 storageUri,則會使用受控記憶體。 字串

VirtualMachineScaleSetExtensionProfile

名稱 描述
擴充功能 虛擬機擴展集子擴充功能資源。 VirtualMachineScaleSetExtension[]
extensionsTimeBudget 指定要啟動之所有延伸模組加上批注的時間。 持續時間應介於 15 分鐘到 120 分鐘之間, (包含) ,且應以 ISO 8601 格式指定。 預設值為90分鐘 (PT1H30M) 。 API 版本下限:2020-06-01。 字串

VirtualMachineScaleSetExtension

名稱 描述
NAME 延伸模組的名稱。 字串
properties 描述虛擬機擴展集擴充功能的屬性。 VirtualMachineScaleSetExtensionProperties

VirtualMachineScaleSetExtensionProperties

名稱 描述
autoUpgradeMinorVersion 指出擴充功能是否應該在部署期間使用較新的次要版本。 不過,部署之後,除非重新部署延伸模組,否則延伸模組將不會升級次要版本,即使此屬性設定為 true 亦然。 bool
enableAutomaticUpgrade 指出如果有較新版本的擴充功能可用,平臺是否應該自動升級延伸模組。 bool
forceUpdateTag 如果提供值且與先前的值不同,即使延伸模組組態尚未變更,擴充處理程式仍會強制更新。 字串
protectedSettings 延伸模組可以包含 protectedSettings 或 protectedSettingsFromKeyVault,或完全不包含受保護的設定。
protectedSettingsFromKeyVault 以傳址方式傳遞並從金鑰保存庫取用的延伸模組受保護設定 KeyVaultSecretReference
provisionAfterExtensions 延伸模組名稱的集合,之後必須布建此延伸模組。 string[]
publisher 擴充處理程序發行者的名稱。 字串
設定 擴充功能的 Json 格式化公用設定。
suppressFailures 指出延伸模組的失敗是否會隱藏 (作業失敗,例如不會連線到 VM,而不論此值) 為何。 預設值為 false。 bool
類型 指定延伸模組的類型;範例為 「CustomScriptExtension」。。 字串
typeHandlerVersion 指定文稿處理程式的版本。 字串

KeyVaultSecretReference

名稱 描述
secretUrl 參考 金鑰保存庫 秘密的 URL。 字串 (必要)
sourceVault 包含秘密之 金鑰保存庫的相對 URL。 必要子資源 ()

VirtualMachineScaleSetHardwareProfile

名稱 描述
vmSizeProperties 指定自定義虛擬機大小的屬性。 API 版本下限:2021-11-01。 如需詳細資訊,請遵循 VM 自定義 中的指示。 VMSizeProperties

VMSizeProperties

名稱 描述
vCPUAvailable 指定 VM 可用的 vCPU 數目。 在要求本文中未指定這個屬性時,預設行為是將它設定為 API 回應中公開該 VM 大小的 vCPU 值, 以列出區域中所有可用的虛擬機大小 int
vCPUPerCore 指定 vCPU 與實體核心比率。 在要求本文中未指定這個屬性時,預設行為會針對在 API 回應中公開的 VM 大小設定為 vCPUPerCore 的值,以 列出區域中所有可用的虛擬機大小將此屬性設定為 1 也表示超線程已停用。 int

VirtualMachineScaleSetNetworkProfile

名稱 描述
healthProbe 負載平衡器探查的參考,用來判斷虛擬機擴展集中實例的健康情況。 參考的格式為:'/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'。 ApiEntityReference
networkApiVersion 指定在具有協調流程模式 「彈性」的虛擬機擴展集網路介面設定中建立網路資源時所使用的 Microsoft.Network API 版本 "2020-11-01"
networkInterfaceConfigurations 網路組態的清單。 VirtualMachineScaleSetNetworkConfiguration[]

ApiEntityReference

名稱 描述
id /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/... 格式的 ARM 資源標識符 字串

VirtualMachineScaleSetNetworkConfiguration

名稱 描述
NAME 網路組態名稱。 字串 (必要)
properties 描述虛擬機擴展集網路配置檔的IP組態。 VirtualMachineScaleSetNetworkConfigurationProperties

VirtualMachineScaleSetNetworkConfigurationProperties

名稱 描述
auxiliaryMode 指定是否為網路介面資源啟用輔助模式。 “AcceleratedConnections”
“Floating”
"None"
auxiliarySku 指定是否為網路介面資源啟用輔助 SKU。 “A1”
“A2”
“A4”
“A8”
"None"
deleteOption 指定刪除 VM 時網路介面會發生什麼事 "Delete"
“Detach”
disableTcpStateTracking 指定是否停用 tcp 狀態追蹤的網路介面。 bool
dnsSettings 要套用在網路介面上的 DNS 設定。 VirtualMachineScaleSetNetworkConfigurationDnsSetting...
enableAcceleratedNetworking 指定網路介面是否已啟用加速網路功能。 bool
enableFpga 指定網路介面是否已啟用 FPGA 網路功能。 bool
enableIPForwarding 是否在此 NIC 上啟用 IP 轉送。 bool
ipConfigurations 指定網路介面的IP組態。 VirtualMachineScaleSetIPConfiguration[] (必要)
networkSecurityGroup 網路安全組。 SubResource
primary 指定虛擬機有1個以上的網路介面時的主要網路介面。 bool

VirtualMachineScaleSetNetworkConfigurationDnsSetting...

名稱 描述
dnsServers DNS 伺服器 IP 位址清單 string[]

VirtualMachineScaleSetIPConfiguration

名稱 描述
NAME IP 組態名稱。 字串 (必要)
properties 描述虛擬機擴展集網路配置檔的IP組態屬性。 VirtualMachineScaleSetIPConfigurationProperties

VirtualMachineScaleSetIPConfigurationProperties

名稱 描述
applicationGatewayBackendAddressPools 指定應用程式閘道後端位址池的參考數位。 擴展集可以參考多個應用程式閘道的後端位址池。 多個擴展集無法使用相同的應用程式閘道。 SubResource[]
applicationSecurityGroups 指定應用程式安全組的參考陣列。 SubResource[]
loadBalancerBackendAddressPools 指定負載平衡器後端位址池參考的陣列。 擴展集可以參考一個公用和一個內部負載平衡器的後端位址池。 多個擴展集無法使用相同的基本 SKU 負載平衡器。 SubResource[]
loadBalancerInboundNatPools 指定負載平衡器輸入 Nat 集區的參考陣列。 擴展集可以參考一個公用和一個內部負載平衡器的輸入 nat 集區。 多個擴展集無法使用相同的基本 SKU 負載平衡器。 SubResource[]
primary 指定虛擬機有1個以上的網路介面時的主要網路介面。 bool
privateIPAddressVersion 從 Api-Version 2017-03-30 起提供,它代表特定 ipconfiguration 是 IPv4 或 IPv6。 預設值會視為 IPv4。 可能的值為:'IPv4' 和 'IPv6'。 “IPv4”
“IPv6”
publicIPAddressConfiguration publicIPAddressConfiguration。 VirtualMachineScaleSetPublicIPAddressConfiguration
子網路 指定子網的識別碼。 ApiEntityReference

VirtualMachineScaleSetPublicIPAddressConfiguration

名稱 描述
NAME publicIP 位址組態名稱。 字串 (必要)
properties 描述虛擬機擴展集IP組態的PublicIPAddress設定 VirtualMachineScaleSetPublicIPAddressConfigurationPr...
sku 描述公用IP Sku。 它只能使用 OrchestrationMode 設定為彈性。 PublicIPAddressSku

VirtualMachineScaleSetPublicIPAddressConfigurationPr...

名稱 描述
deleteOption 指定刪除 VM 時,公用 IP 會發生什麼情況 "Delete"
“Detach”
dnsSettings 要套用至 publicIP 位址的 DNS 設定。 VirtualMachineScaleSetPublicIPAddressConfigurationDn...
idleTimeoutInMinutes 公用IP位址的閒置逾時。 int
ipTags 與公用IP位址相關聯的IP標籤清單。 VirtualMachineScaleSetIpTag[]
publicIPAddressVersion 從 Api-Version 2019-07-01 起提供,它代表特定 ipconfiguration 是 IPv4 或 IPv6。 預設值會視為 IPv4。 可能的值為:'IPv4' 和 'IPv6'。 “IPv4”
“IPv6”
publicIPPrefix 要從中配置 publicIP 位址的 PublicIPPrefix。 SubResource

VirtualMachineScaleSetPublicIPAddressConfigurationDn...

名稱 描述
domainNameLabel 功能變數名稱標籤。功能變數名稱標籤和 vm 索引的串連將會是將建立之 PublicIPAddress 資源的功能變數名稱標籤 字串 (必要)
domainNameLabelScope 功能變數名稱標籤範圍。根據功能變數名稱卷標範圍的原則產生的哈希功能變數名稱標籤串連,vm 索引將是將建立之 PublicIPAddress 資源的功能變數名稱卷標 “NoReuse”
“ResourceGroupReuse”
“SubscriptionReuse”
“TenantReuse”

VirtualMachineScaleSetIpTag

名稱 描述
ipTagType IP 標籤類型。 範例:FirstPartyUsage。 字串
標籤 與公用IP相關聯的IP標籤。 範例:SQL、記憶體等。 字串

PublicIPAddressSku

名稱 描述
NAME 指定公用IP SKU 名稱 "Basic"
“Standard”
tier 指定公用IP SKU層 “Global”
“區域”

VirtualMachineScaleSetOSProfile

名稱 描述
adminPassword 指定系統管理員帳戶的密碼。

Windows) 長度下限 (: 8 個字元

Linux) 長度下限 (: 6 個字元

Windows) 長度上限 (: 123 個字元

Linux) 長度上限 (: 72 個字元

複雜度需求: 需要滿足下列 4 個條件中的 3 個
字元較低
具有大字元
具有數位
具有特殊字元 (Regex 比對 [\W_])

不允許的值: “abc@123”、“P@$$w 0rd”、“P@ssw0rd”、“P@ssword123”、“Pa$$word”、“pass@word1”、“Password!”、“Password1”、“Password22”、“iveyou!”

如需重設密碼,請參閱 如何在 Windows VM 中重設遠端桌面服務或其登入密碼

如需重設根密碼,請參閱 使用 VMAccess 擴充功能管理使用者、SSH 及檢查或修復 Azure Linux VM 上的磁碟
字串

約束:
敏感性值。 以安全參數的形式傳入。
adminUsername 指定系統管理員帳戶的名稱。

僅限 Windows 的限制: 不能以 “.

不允許的值: “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”。

Linux () 長度下限: 1 個字元

Linux) 長度上限 (: 64 個字元

Windows) 最大長度 (: 20 個字元
字串
allowExtensionOperations 指定是否應該在虛擬機擴展集上允許擴充功能作業。 只有在虛擬機擴展集上沒有擴充功能時,才能將此設定為 False。 bool
computerNamePrefix 指定擴展集中所有虛擬機的計算機名稱前置詞。 計算機名稱前置詞長度必須為1到15個字元。 字串
customData 指定自訂資料的 Base-64 編碼字串。 Base-64 編碼字串會解碼成二進位陣列而儲存為虛擬機器上的檔案。 二進位陣列的長度上限是 65535 個位元組。 如需針對 VM 使用 cloud-init,請參閱在建立期間使用 cloud-init 自定義 Linux VM 字串
linuxConfiguration 指定虛擬機上的Linux作業系統設定。 如需支援的Linux發行版清單,請參閱 Azure-Endorsed 發行版上的Linux LinuxConfiguration
requireGuestProvisionSignal 必須設定為 True 或省略的選擇性屬性。 bool
密碼 指定應該安裝在擴展集中虛擬機上的憑證集。 若要在虛擬機上安裝憑證,建議使用適用於Linux的 Azure 金鑰保存庫 虛擬機擴充功能適用於Windows的 Azure 金鑰保存庫 虛擬機擴充功能 VaultSecretGroup[]
windowsConfiguration 指定虛擬機器上的 Windows 作業系統設定。 WindowsConfiguration

LinuxConfiguration

名稱 描述
disablePasswordAuthentication 指定是否應該停用密碼驗證。 bool
enableVMAgentPlatformUpdates 指出是否已針對Linux虛擬機啟用VMAgent Platform 匯報。 預設值為 False。 bool
patchSettings [預覽功能]指定與Linux上的VM客體修補相關的設定。 LinuxPatchSettings
provisionVMAgent 指出是否應該在虛擬機器上佈建虛擬機器代理程式。 當要求本文中未指定這個屬性時,預設行為是將它設定為 true。 這可確保 VM 代理程式已安裝在 VM 上,以便稍後將擴充功能新增至 VM。 bool
ssh 指定 Linux OS 的 SSH 金鑰組態。 SshConfiguration

LinuxPatchSettings

名稱 描述
assessmentMode 指定 IaaS 虛擬機的 VM 客體修補評估模式。

可能的值包括:

ImageDefault - 您可以在虛擬機上控制修補程式評估的時間。

AutomaticByPlatform - 平臺會觸發定期修補程序評估。 屬性 provisionVMAgent 必須為 true。
“AutomaticByPlatform”
“ImageDefault”
automaticByPlatformSettings 指定 Linux 上 VM 客體修補中之修補程式模式 AutomaticByPlatform 的其他設定。 LinuxVMGuestPatchAutomaticByPlatformSettings
patchMode 指定 VM 客體修補至 IaaS 虛擬機的模式,或與具有 OrchestrationMode 的虛擬機擴展集相關聯的虛擬機作為彈性。

可能的值包括:

ImageDefault - 會使用虛擬機的默認修補組態。

AutomaticByPlatform - 虛擬機將會由平台自動更新。 屬性 provisionVMAgent 必須為 true
“AutomaticByPlatform”
“ImageDefault”

LinuxVMGuestPatchAutomaticByPlatformSettings

名稱 描述
bypassPlatformSafetyChecksOnUserSchedule 可讓客戶排程修補,而不需意外升級 bool
rebootSetting 指定所有 AutomaticByPlatform 修補程式安裝作業的重新啟動設定。 “Always”
“IfRequired”
“永不”
“未知”

SshConfiguration

名稱 描述
publicKeys 用來向Linux型VM進行驗證的SSH公鑰清單。 SshPublicKey[]

SshPublicKey

名稱 描述
keyData 用來透過 ssh 向 VM 進行驗證的 SSH 公鑰憑證。 密鑰至少必須是 2048 位,且格式為 ssh-rsa。 如需建立 ssh 金鑰,請參閱 [在 Azure 中建立 Linux 和 Mac 上的 Linux VM SSH 密鑰]/azure/virtual-machines/linux/create-ssh-keys-detailed) 。 字串
path 指定儲存 ssh 公鑰的已建立 VM 上的完整路徑。 如果檔案已經存在,指定的金鑰就會附加至該檔案。 範例:/home/user/.ssh/authorized_keys 字串

VaultSecretGroup

名稱 描述
sourceVault 包含 VaultCertificates 中所有憑證之 金鑰保存庫 的相對 URL。 SubResource
vaultCertificates SourceVault 中包含憑證的金鑰保存庫參考清單。 VaultCertificate[]

VaultCertificate

名稱 描述
certificateStore 針對 Windows VM,指定應在其中新增憑證之虛擬機上的證書存儲。 指定的證書存儲會隱含地在 LocalMachine 帳戶中。 針對Linux VM,憑證檔案會放在 /var/lib/waagent 目錄底下,而 X509 憑證檔案的檔名 <為 UppercaseThumbprint.crt>, <而私鑰則為 UppercaseThumbprint.prv>。 這兩個檔案都是 .pem 格式。 字串
certificateUrl 這是已上傳至 金鑰保存庫 做為秘密的憑證 URL。 如需將秘密新增至 金鑰保存庫,請參閱將密鑰或秘密新增至密鑰保存庫。 在此情況下,您的憑證必須是下列 JSON 物件的 Base64 編碼方式,此物件是以 UTF-8 編碼:

{
“data”:“{Base64-encoded-certificate}”,
“dataType”:“pfx”,
“password”:“{pfx-file-password}”
}
若要在虛擬機上安裝憑證,建議使用適用於Linux的 Azure 金鑰保存庫 虛擬機擴充功能適用於Windows的 Azure 金鑰保存庫 虛擬機擴充功能
字串

WindowsConfiguration

名稱 描述
additionalUnattendContent 指定可併入 Unattend.xml 檔案 (由 Windows 安裝程式使用) 的額外 Base-64 編碼 XML 格式資訊。 AdditionalUnattendContent[]
enableAutomaticUpdates 指出是否為 Windows 虛擬機啟用自動 匯報。 預設值為 true。 對於虛擬機擴展集,此屬性可以更新,更新將會在OS重新佈建上生效。 bool
enableVMAgentPlatformUpdates 指出是否已為 Windows 虛擬機啟用 VMAgent Platform 匯報。 預設值為 False。 bool
patchSettings [預覽功能]指定與 Windows 上的 VM 客體修補相關的設定。 PatchSettings
provisionVMAgent 指出是否應該在虛擬機器上佈建虛擬機器代理程式。 當要求本文中未指定這個屬性時,預設會將其設定為 true。 這可確保 VM 代理程式已安裝在 VM 上,以便稍後將擴充功能新增至 VM。 bool
timeZone 指定虛擬機的時區。 例如“Pacific Standard Time”。 可能的值可以從 TimeZoneInfo.GetSystemTimeZones 傳回的時區 TimeZoneInfo.Id 值。 字串
winRM 指定 Windows 遠端管理接聽程式。 藉此將啟用遠端 Windows PowerShell。 WinRMConfiguration

AdditionalUnattendContent

名稱 描述
componentName 元件名稱。 目前唯一允許的值是 Microsoft-Windows-Shell-Setup。 “Microsoft-Windows-Shell-Setup”
內容 針對指定的路徑和元件,指定新增至 unattend.xml 檔案的 XML 格式化內容。 XML 必須小於 4KB,而且必須包含要插入之設定或功能的根元素。 字串
passName 傳遞名稱。 目前唯一允許的值是 OobeSystem。 “OobeSystem”
settingName 指定要套用內容之設定的名稱。 可能的值為:FirstLogonCommands 和 AutoLogon。 “AutoLogon”
“FirstLogonCommands”

PatchSettings

名稱 描述
assessmentMode 指定 IaaS 虛擬機的 VM 客體修補評估模式。

可能的值包括:

ImageDefault - 您可以在虛擬機上控制修補程式評估的時間。

AutomaticByPlatform - 平臺會觸發定期修補程序評估。 屬性 provisionVMAgent 必須為 true。
“AutomaticByPlatform”
“ImageDefault”
automaticByPlatformSettings 指定 Windows 上 VM 客體修補中之修補程式模式 AutomaticByPlatform 的其他設定。 WindowsVMGuestPatchAutomaticByPlatformSettings
enableHotpatching 可讓客戶修補其 Azure VM,而不需要重新啟動。 針對 enableHotpatching,'provisionVMAgent' 必須設定為 true,且 'patchMode' 必須設定為 'AutomaticByPlatform'。 bool
patchMode 指定 VM 客體修補至 IaaS 虛擬機的模式,或與具有 OrchestrationMode 的虛擬機擴展集相關聯的虛擬機作為彈性。

可能的值包括:

手動 - 您可以控制將修補程式應用程式套用至虛擬機。 您可以在 VM 內手動套用修補程式來執行此動作。 在此模式中,會停用自動更新;屬性 WindowsConfiguration.enableAutomaticUpdates 必須為 false

AutomaticByOS - 作業系統會自動更新虛擬機。 屬性 WindowsConfiguration.enableAutomaticUpdates 必須為 true。

AutomaticByPlatform - 虛擬機將會由平台自動更新。 provisionVMAgent 和 WindowsConfiguration.enableAutomaticUpdates 屬性必須為 true
“AutomaticByOS”
“AutomaticByPlatform”
“Manual”

WindowsVMGuestPatchAutomaticByPlatformSettings

名稱 描述
bypassPlatformSafetyChecksOnUserSchedule 讓客戶排程修補而不意外升級 bool
rebootSetting 指定所有 AutomaticByPlatform 修補程式安裝作業的重新啟動設定。 “Always”
“IfRequired”
“Never”
“Unknown”

WinRMConfiguration

名稱 描述
接聽程式 Windows 遠端管理接聽程式清單 WinRMListener[]

WinRMListener

名稱 描述
certificateUrl 這是已上傳至 金鑰保存庫 作為秘密之憑證的 URL。 如需將秘密新增至 金鑰保存庫,請參閱將密鑰或秘密新增至密鑰保存庫。 在此情況下,您的憑證必須是以UTF-8編碼的下列 JSON 物件的Base64編碼:

{
“data”:“{Base64-encoded-certificate}”,
“dataType”:“pfx”,
“password”:“{pfx-file-password}”
}
若要在虛擬機上安裝憑證,建議您使用適用於Linux的 Azure 金鑰保存庫 虛擬機擴充功能適用於 Windows 的 Azure 金鑰保存庫 虛擬機擴充功能
字串
protocol 指定 WinRM 接聽程式的通訊協定。 可能的值為: HTTP、https。 “Http”
“Https”

ScheduledEventsProfile

名稱 描述
osImageNotificationProfile 指定OS映像排程事件相關組態。 OSImageNotificationProfile
terminateNotificationProfile 指定終止排程事件相關組態。 TerminateNotificationProfile

OSImageNotificationProfile

名稱 描述
enable 指定是否啟用或停用OS映像排程事件。 bool
notBeforeTimeout 虛擬機重新映像或升級操作系統的時間長度,在事件自動核准之前,必須先核准OS映射排程事件, (逾時) 。 組態是以 ISO 8601 格式指定,值必須是 15 分鐘 (PT15M) 字串

TerminateNotificationProfile

名稱 描述
enable 指定是否啟用或停用 Terminate Scheduled 事件。 bool
notBeforeTimeout 刪除虛擬機的可設定時間長度,在事件自動核准之前,虛擬機必須核准終止排程事件, (逾時) 。 設定必須以 ISO 8601 格式指定,預設值為 5 分鐘, (PT5M) 字串

SecurityPostureReference

名稱 描述
excludeExtensions 套用安全性狀態時要排除的虛擬機擴充功能清單。 VirtualMachineExtension[]
id 安全性狀態參考標識符的格式為 /CommunityGalleries/{communityGalleryName}/securityPostures/{securityPostureName}/versions/{major.minor.patch},{major.*},latest 字串

VirtualMachineExtension

名稱 描述
location 資源位置 字串
properties 描述虛擬機擴充功能的屬性。 VirtualMachineExtensionProperties
tags 資源標籤 物件 (object)

VirtualMachineExtensionProperties

名稱 描述
autoUpgradeMinorVersion 指出擴充功能是否應該在部署時間使用較新的次要版本。 不過,部署之後,除非重新部署延伸模組,否則延伸模組將不會升級次要版本,即使此屬性設定為 true 亦然。 bool
enableAutomaticUpgrade 指出如果有較新版本的擴充功能可用,平臺是否應該自動升級延伸模組。 bool
forceUpdateTag 延伸模組處理程式應該如何強制更新,即使延伸模組組態尚未變更也一樣。 字串
instanceView 虛擬機擴充實例檢視。 VirtualMachineExtensionInstanceView
protectedSettings 此延伸模組可以包含 protectedSettings 或 protectedSettingsFromKeyVault 或完全沒有受保護的設定。
protectedSettingsFromKeyVault 以傳址方式傳遞的延伸模組受保護設定,並從金鑰保存庫取用的擴充功能 KeyVaultSecretReference
provisionAfterExtensions 延伸模組名稱的集合,之後必須布建此延伸模組。 string[]
publisher 擴充處理程序發行者的名稱。 字串
設定 擴充功能的 Json 格式化公用設定。
suppressFailures 指出延伸模組的失敗是否會隱藏 (作業失敗,例如不會連線到 VM,而不論此值) 為何。 預設值為 false。 bool
類型 指定延伸模組的類型;範例為 「CustomScriptExtension」。。 字串
typeHandlerVersion 指定文稿處理程式的版本。 字串

VirtualMachineExtensionInstanceView

名稱 描述
NAME 虛擬機擴充功能名稱。 字串
狀態 資源狀態資訊。 InstanceViewStatus[]
substatuses 資源狀態資訊。 InstanceViewStatus[]
類型 指定延伸模組的類型;範例為 「CustomScriptExtension」。。 字串
typeHandlerVersion 指定文稿處理程式的版本。 字串

InstanceViewStatus

名稱 描述
code 狀態碼。 字串
displayStatus 狀態的簡短可當地語系化標籤。 字串
等級 層級程序代碼。 “Error”
“Info”
「警告」
message 詳細的狀態消息,包括警示和錯誤訊息。 字串
time 狀態的時間。 字串

SecurityProfile

名稱 描述
encryptionAtHost 這個屬性可由要求中的使用者用來啟用或停用虛擬機或虛擬機擴展集的主機加密。 這會啟用所有磁碟的加密,包括主機本身的資源/暫存磁碟。 默認行為為:除非資源的此屬性設定為 true,否則將會停用主機的加密。 bool
encryptionIdentity 指定 ADE 用來取得 Keyvault 作業存取令牌的受控識別。 EncryptionIdentity
proxyAgentSettings 指定建立虛擬機時的 ProxyAgent 設定。 API 版本下限:2023-09-01。 ProxyAgentSettings
securityType 指定虛擬機的 SecurityType。 它必須設定為任何指定的值,才能啟用 UefiSettings。 默認行為為:除非設定此屬性,否則不會啟用 UefiSettings。 “ConfidentialVM”
“TrustedLaunch”
uefiSettings 指定建立虛擬機時所使用的安全開機和 vTPM 等安全性設定。 API 版本下限:2020-12-01。 UefiSettings

EncryptionIdentity

名稱 描述
userAssignedIdentityResourceId 指定與 VM 相關聯的其中一個使用者身分識別的 ARM 資源識別碼。 字串

ProxyAgentSettings

名稱 描述
已啟用 指定是否應在虛擬機或虛擬機擴展集上啟用 ProxyAgent 功能。 bool
keyIncarnationId 增加此屬性的值可讓使用者重設用來保護客體與主機之間通道的密鑰。 int
mode 指定啟用此功能時,ProxyAgent 將會在 上執行的模式。 ProxyAgent 會開始稽核或監視,但不會在稽核模式中對主機端點的要求強制執行訪問控制,而在 [強制執行] 模式中,則會強制執行訪問控制。 默認值為 [強制模式]。 “稽核”
“強制”

UefiSettings

名稱 描述
secureBootEnabled 指定是否應在虛擬機上啟用安全開機。 API 版本下限:2020-12-01。 bool
vTpmEnabled 指定是否應在虛擬機上啟用 vTPM。 API 版本下限:2020-12-01。 bool

ServiceArtifactReference

名稱 描述
id 服務成品參考標識符的格式為 /subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/gallerys/{galleryName}/serviceArtifacts/{serviceArtifactName}/vmArtifactsProfiles/{vmArtifactsProfilesName} 字串

VirtualMachineScaleSetStorageProfile

名稱 描述
dataDisks 指定用來將數據磁碟新增至擴展集中虛擬機的參數。 如需磁碟的詳細資訊,請參閱 關於 Azure 虛擬機的磁碟和 VHD VirtualMachineScaleSetDataDisk[]
diskControllerType 字串
imageReference 指定要使用之映像的相關信息。 您可以指定平臺映像、Marketplace 映像或虛擬機映射的相關信息。 當您想要使用平臺映像、市集映像或虛擬機映像,但不會用於其他建立作業時,需要此元素。 ImageReference
osDisk 指定擴展集中虛擬機所使用的操作系統磁碟相關信息。 如需磁碟的詳細資訊,請參閱 關於 Azure 虛擬機的磁碟和 VHD VirtualMachineScaleSetOSDisk

VirtualMachineScaleSetDataDisk

名稱 描述
快取 指定快取需求。 可能的值為: None、ReadOnly、ReadWrite。 預設值為: 標準記憶體的 None。進階記憶體的 ReadOnly。 "None"
“ReadOnly”
“ReadWrite”
createOption create 選項。 “附加”
"Empty"
“FromImage” (必要)
deleteOption 指定在 VMSS Flex 刪除時應該刪除或中斷連結數據磁碟 (此功能僅適用於具有彈性協調流程模式的 VMSS) 。

可能的值:

刪除 如果使用此值,則會在刪除 VMSS Flex VM 時刪除資料磁碟。

分離 如果使用此值,則會在刪除 VMSS Flex VM 之後保留數據磁碟。

預設值設定為 Delete
"Delete"
“Detach”
diskIOPSReadWrite 指定受控磁碟的 Read-Write IOPS。 只有當 StorageAccountType 是UltraSSD_LRS時,才應該使用。 如果未指定,則會根據diskSizeGB指派預設值。 int
diskMBpsReadWrite 指定受控磁碟的每秒 MB 頻寬。 只有當 StorageAccountType 是UltraSSD_LRS時,才應該使用。 如果未指定,則會根據diskSizeGB指派預設值。 int
diskSizeGB 指定以 GB 為單位的空白資料磁碟大小。 此元素可用來覆寫虛擬機映像中的磁碟大小。 diskSizeGB 屬性是磁碟的位元組 x 1024^3 數目,且值不能大於 1023。 int
lun 指定數據磁碟的邏輯單位編號。 此值是用來識別 VM 內的數據磁碟,因此對於連結至 VM 的每個數據磁碟而言,都必須是唯一的。 int (必要)
ManagedDisk 受控磁碟參數。 VirtualMachineScaleSetManagedDiskParameters
NAME 磁碟名稱。 字串
writeAcceleratorEnabled 指定是否應該在磁碟上啟用或停用 writeAccelerator。 bool

VirtualMachineScaleSetManagedDiskParameters

名稱 描述
diskEncryptionSet 指定受控磁碟的客戶受控磁碟加密集資源標識符。 DiskEncryptionSetParameters
securityProfile 指定受控磁碟的安全性配置檔。 VMDiskSecurityProfile
storageAccountType 指定受控磁碟的記憶體帳戶類型。 注意:UltraSSD_LRS只能與數據磁碟搭配使用,它不能與OS磁碟搭配使用。 “PremiumV2_LRS”
"Premium_LRS"
“Premium_ZRS”
"StandardSSD_LRS"
“StandardSSD_ZRS”
"Standard_LRS"
“UltraSSD_LRS”

DiskEncryptionSetParameters

名稱 描述
id 資源標識碼 字串

VMDiskSecurityProfile

名稱 描述
diskEncryptionSet 針對客戶受控密鑰加密的機密VM OS 磁碟和 VMGuest Blob,指定受控磁碟的客戶受控磁碟加密集資源識別碼。 DiskEncryptionSetParameters
securityEncryptionType 指定受控磁碟的 EncryptionType。 它設定為 DiskWithVMGuestState 以加密受控磁碟以及 VMGuestState Blob、VMGuestStateOnly 只加密 VMGuestState Blob,以及 NonPersistedTPM 用於不保存 VMGuestState Blob 中的韌體狀態。 注意: 它只能設定為機密 VM。 “DiskWithVMGuestState”
“NonPersistedTPM”
“VMGuestStateOnly”

ImageReference

名稱 描述
communityGalleryImageId 指定 vm 部署的社群資源庫映像唯一標識碼。 這可以從社群資源庫映像 GET 呼叫擷取。 字串
id 資源標識碼 字串
供應項目 指定用來建立虛擬機的平臺映像或 Marketplace 映像供應專案。 字串
publisher 映像發行者。 字串
sharedGalleryImageId 指定 VM 部署的共享資源庫映像唯一識別碼。 這可以從共用資源庫映像 GET 呼叫擷取。 字串
sku 映像 SKU。 字串
version 指定用來建立虛擬機的平臺映像或 Marketplace 映像版本。 允許的格式為 Major.Minor.Build 或 'latest'。 主要、次要和組建是十進位數。 指定「最新」以使用部署階段可用的最新映像版本。 即使您使用「最新」,即使有新版本可供使用,VM 映像也不會在部署時間之後自動更新。 請勿針對資源庫映射部署使用字段 'version',資源庫映射應該一律使用 'id' 字段進行部署,若要使用資源庫映射的 'latest' 版本,只要設定 '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/gallerys/{galleryName}/images/{imageName}' 字段,就不需要輸入版本。 字串

VirtualMachineScaleSetOSDisk

名稱 描述
快取 指定快取需求。 可能的值為: None、ReadOnly、ReadWrite。 預設值為: 標準記憶體為 None。進階記憶體的 ReadOnly。 "None"
“ReadOnly”
“ReadWrite”
createOption 指定應該如何建立擴展集中的虛擬機。 唯一允許的值是: FromImage。 當您使用映像來建立虛擬機時,會使用此值。 如果您使用平臺映像,則也會使用上述的 imageReference 元素。 如果您使用 Marketplace 映射,則也會使用先前所述的 plan 元素。 “附加”
"Empty"
“FromImage” (必要)
deleteOption 指定在 VMSS Flex 刪除時應該刪除或中斷連結 OS 磁碟 (此功能僅適用於具有彈性 OrchestrationMode 的 VMSS) 。

可能的值:

刪除 如果使用此值,則會在刪除 VMSS Flex VM 時刪除 OS 磁碟。

分離 如果使用此值,則會在刪除 VMSS Flex VM 之後保留 OS 磁碟。

預設值設定為 Delete。 若為暫時OS磁碟,預設值會設定為 Delete。 使用者無法變更暫時 OS 磁碟的刪除選項。
"Delete"
“Detach”
diffDiskSettings 指定虛擬機擴展集所使用作業系統磁碟的暫時磁碟設定。 DiffDiskSettings
diskSizeGB 指定以 GB 為單位的空白資料磁碟大小。 此元素可用來覆寫虛擬機映像中的磁碟大小。 屬性 'diskSizeGB' 是磁碟的位元組 x 1024^3 數目,且值不能大於 1023。 int
image 指定要根據擴展集之非受控使用者映像的資訊。 VirtualHardDisk
ManagedDisk 受控磁碟參數。 VirtualMachineScaleSetManagedDiskParameters
NAME 磁碟名稱。 字串
osType 此屬性可讓您指定從使用者映像或特製化 VHD 建立 VM 時,磁碟包含的 OS 類型。 可能的值為: Windows、Linux。 "Linux"
"Windows"
vhdContainers 指定用來儲存擴展集作業系統磁碟的容器 URL。 string[]
writeAcceleratorEnabled 指定是否應該在磁碟上啟用或停用 writeAccelerator。 bool

DiffDiskSettings

名稱 描述
選項 指定作業系統磁碟的暫時磁碟設定。 “Local”
放置 指定作業系統磁碟的暫時磁碟位置。 可能的值為: CacheDisk、ResourceDisk。 默認行為為:如果已針對 VM 大小設定 快取Disk ,否則會使用 ResourceDisk 。 請參閱 /azure/virtual-machines/windows/size 和 Linux VM 位於 /azure/virtual-machines/linux/size 的 Windows VM 大小檔,以檢查哪些 VM 大小會公開快取磁碟。 “CacheDisk”
“ResourceDisk”

VirtualHardDisk

名稱 描述
uri 指定虛擬硬碟的 URI。 字串

SKU

名稱 描述
處理能力 指定擴展集中的虛擬機數目。 int
NAME SKU 名稱。 字串
tier 指定擴展集中的虛擬機層。

可能的值如下:

標準

基本
字串