共用方式為


Microsoft.Compute virtualMachineScaleSets 2016-03-30

Bicep 資源定義

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

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

資源格式

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

resource symbolicname 'Microsoft.Compute/virtualMachineScaleSets@2016-03-30' = {
  identity: {
    type: 'SystemAssigned'
  }
  location: 'string'
  name: 'string'
  properties: {
    overProvision: bool
    upgradePolicy: {
      mode: 'string'
    }
    virtualMachineProfile: {
      extensionProfile: {
        extensions: [
          {
            id: 'string'
            name: 'string'
            properties: {
              autoUpgradeMinorVersion: bool
              protectedSettings: any(Azure.Bicep.Types.Concrete.AnyType)
              publisher: 'string'
              settings: any(Azure.Bicep.Types.Concrete.AnyType)
              type: 'string'
              typeHandlerVersion: 'string'
            }
          }
        ]
      }
      networkProfile: {
        networkInterfaceConfigurations: [
          {
            id: 'string'
            name: 'string'
            properties: {
              ipConfigurations: [
                {
                  id: 'string'
                  name: 'string'
                  properties: {
                    applicationGatewayBackendAddressPools: [
                      {
                        id: 'string'
                      }
                    ]
                    loadBalancerBackendAddressPools: [
                      {
                        id: 'string'
                      }
                    ]
                    loadBalancerInboundNatPools: [
                      {
                        id: 'string'
                      }
                    ]
                    subnet: {
                      id: 'string'
                    }
                  }
                }
              ]
              primary: bool
            }
          }
        ]
      }
      osProfile: {
        adminPassword: 'string'
        adminUsername: 'string'
        computerNamePrefix: 'string'
        customData: 'string'
        linuxConfiguration: {
          disablePasswordAuthentication: bool
          ssh: {
            publicKeys: [
              {
                keyData: 'string'
                path: 'string'
              }
            ]
          }
        }
        secrets: [
          {
            sourceVault: {
              id: 'string'
            }
            vaultCertificates: [
              {
                certificateStore: 'string'
                certificateUrl: 'string'
              }
            ]
          }
        ]
        windowsConfiguration: {
          additionalUnattendContent: [
            {
              componentName: 'Microsoft-Windows-Shell-Setup'
              content: 'string'
              passName: 'OobeSystem'
              settingName: 'string'
            }
          ]
          enableAutomaticUpdates: bool
          provisionVMAgent: bool
          timeZone: 'string'
          winRM: {
            listeners: [
              {
                certificateUrl: 'string'
                protocol: 'string'
              }
            ]
          }
        }
      }
      storageProfile: {
        imageReference: {
          offer: 'string'
          publisher: 'string'
          sku: 'string'
          version: 'string'
        }
        osDisk: {
          caching: 'string'
          createOption: 'string'
          image: {
            uri: 'string'
          }
          name: 'string'
          osType: 'string'
          vhdContainers: [
            'string'
          ]
        }
      }
    }
  }
  sku: {
    capacity: int
    name: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

屬性值

AdditionalUnattendContent

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

ApiEntityReference

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

ImageReference

名字 描述 價值
提供 指定用來建立虛擬機的平臺映像或市集映像供應專案。 字串
發行人 映像發行者。 字串
sku 映像 SKU。 字串
版本 指定用來建立虛擬機的平臺映像或市集映像版本。 允許的格式為 Major.Minor.Build 或 'latest'。 主要、次要和組建是十進位數。 指定 'latest' 以在部署時間使用可用映像的最新版本。 即使您使用「最新」,即使有新版本可用,VM 映像也不會在部署時間之後自動更新。 字串

LinuxConfiguration

名字 描述 價值
disablePasswordAuthentication 指定是否應停用密碼驗證。 bool
ssh 指定 Linux OS 的 SSH 金鑰組態。 SshConfiguration

Microsoft.Compute/virtualMachineScaleSets

名字 描述 價值
身份 如果已設定,則為虛擬機擴展集的身分識別。 VirtualMachineScaleSetIdentity
位置 資源位置 字串 (必要)
名字 資源名稱 字串 (必要)
性能 描述虛擬機擴展集的屬性。 VirtualMachineScaleSetProperties
sku 虛擬機擴展集 SKU。 Sku
標籤 資源標籤 標記名稱和值的字典。 請參閱範本中的 標籤

ResourceTags

名字 描述 價值

Sku

名字 描述 價值
能力 指定擴展集中的虛擬機數目。 int
名字 SKU 名稱。 字串
指定擴展集中虛擬機的層級。

可能的值:

Standard

基本
字串

SshConfiguration

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

SshPublicKey

名字 描述 價值
keyData 用來透過 ssh 向 VM 進行驗證的 SSH 公鑰憑證。 密鑰至少必須是 2048 位,且格式為 ssh-rsa。

如需建立 ssh 金鑰,請參閱 在 Azure中建立 Linux 和 Mac 上的 SSH 金鑰。
字串
路徑 指定已建立 VM 上儲存 SSH 公鑰的完整路徑。 如果檔案已經存在,指定的索引鍵會附加至檔案。 範例:/home/user/.ssh/authorized_keys 字串

SubResource

名字 描述 價值
id 資源標識碼 字串

UpgradePolicy

名字 描述 價值
模式 指定升級至擴展集中虛擬機的模式。

可能的值為:

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

自動 - 擴展集中的所有虛擬機都會同時自動更新。
'Automatic'
'Manual'

VaultCertificate

名字 描述 價值
certificateStore 針對 Windows VM,指定應新增憑證之虛擬機上的證書存儲。 指定的證書存儲隱含在 LocalMachine 帳戶中。

針對 Linux VM,憑證檔案會放在 /var/lib/waagent 目錄底下,檔名 <X509 憑證檔案的大寫Thumbprint>.crt,並針對私鑰 <大寫Thumbprint>.prv。 這兩個檔案都是 .pem 格式。
字串
certificateUrl 這是已上傳至 Key Vault 做為秘密之憑證的 URL。 如需將秘密新增至 Key Vault,請參閱 將金鑰或秘密新增至金鑰保存庫。 在此情況下,您的憑證必須是下列 JSON 物件的 Base64 編碼,其編碼方式為 UTF-8:

{
“data”:“<Base64 編碼憑證>”,
“dataType”:“pfx”,
“password”:“<pfx-file-password>”
}
字串

VaultSecretGroup

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

VirtualHardDisk

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

VirtualMachineScaleSetExtension

名字 描述 價值
id 資源標識碼 字串
名字 延伸模組的名稱。 字串
性能 描述虛擬機擴展集擴充功能的屬性。 VirtualMachineScaleSetExtensionProperties

VirtualMachineScaleSetExtensionProfile

名字 描述 價值
擴展 虛擬機擴展集子擴充功能資源。 VirtualMachineScaleSetExtension[]

VirtualMachineScaleSetExtensionProperties

名字 描述 價值
autoUpgradeMinorVersion 延伸模組處理程式是否應該在次要版本之間自動升級。 bool
protectedSettings 擴充功能的 Json 格式化受保護設定。 任何
發行人 擴充處理程序發行者的名稱。 字串
設置 擴充功能的 Json 格式化公用設定。 任何
類型 擴充處理程式的類型。 字串
typeHandlerVersion 擴充處理程式的類型版本。 字串

VirtualMachineScaleSetIdentity

名字 描述 價值
類型 用於虛擬機擴展集的身分識別類型。 目前,唯一支持的類型是 'SystemAssigned',其會隱含建立身分識別。 'SystemAssigned'

VirtualMachineScaleSetIPConfiguration

名字 描述 價值
id 資源標識碼 字串
名字 IP 組態名稱。 字串 (必要)
性能 描述虛擬機擴展集網路配置檔的IP組態屬性。 VirtualMachineScaleSetIPConfigurationProperties

VirtualMachineScaleSetIPConfigurationProperties

名字 描述 價值
applicationGatewayBackendAddressPools 應用程式閘道後端位址池。 SubResource[]
loadBalancerBackendAddressPools 負載平衡器後端位址池。 SubResource[]
loadBalancerInboundNatPools 負載平衡器輸入 nat 集區。 SubResource[]
子網。 ApiEntityReference (必要)

VirtualMachineScaleSetNetworkConfiguration

名字 描述 價值
id 資源標識碼 字串
名字 網路組態名稱。 字串 (必要)
性能 描述虛擬機擴展集網路配置檔的IP組態。 VirtualMachineScaleSetNetworkConfigurationProperties

VirtualMachineScaleSetNetworkConfigurationProperties

名字 描述 價值
ipConfigurations 虛擬機擴展集IP組態。 VirtualMachineScaleSetIPConfiguration[] (必要)
主要 這是否為虛擬機上的主要 NIC。 bool

VirtualMachineScaleSetNetworkProfile

名字 描述 價值
networkInterfaceConfigurations 網路組態的清單。 VirtualMachineScaleSetNetworkConfiguration[]

VirtualMachineScaleSetOSDisk

名字 描述 價值
緩存 指定快取需求。

可能的值為:



ReadOnly

ReadWrite

預設值:標準記憶體 None。進階記憶體的 ReadOnly
'None'
'ReadOnly'
'ReadWrite'
createOption 指定應該如何建立擴展集中的虛擬機。

唯一允許的值是:FromImage \u2013 當您使用映像來建立虛擬機時,會使用此值。 如果您使用平臺映像,則也會使用上述的 imageReference 元素。 如果您使用市集映像,則也會使用先前所述的 plan 元素。
'Attach'
'Empty'
'FromImage' (必要)
圖像 來源使用者映像 VirtualHardDisk。 此 VirtualHardDisk 將會先複製,再使用它連結至虛擬機。 如果提供SourceImage,目的地 VirtualHardDisk 就不應該存在。 VirtualHardDisk
名字 磁碟名稱。 字串 (必要)
osType 此屬性可讓您指定從使用者映像或特製化 VHD 建立 VM 時,磁碟包含的 OS 類型。

可能的值為:

Windows

Linux
'Linux'
'Windows'
vhdContainers 虛擬硬碟容器 URI 的清單。 string[]

VirtualMachineScaleSetOSProfile

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

最小長度 (Windows): 8 個字元

最小長度 (Linux): 6 個字元

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

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

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

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

如需重設密碼,請參閱 如何在 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 個字元

li 如需 Linux VM 的根存取權,請參閱在 Azure 中使用 Linux 虛擬機上的根許可權
<li> 如需不應該在此欄位中使用的 Linux 內建系統使用者清單,請參閱在 Azure 上選取 Linux 的使用者名稱
字串
computerNamePrefix 指定擴展集中所有虛擬機的計算機名稱前置詞。 計算機名稱前置詞長度必須為1到15個字元。 字串
customData 自訂數據的base-64編碼字串。 字串
linuxConfiguration 操作系統配置檔的 Linux 組態。 LinuxConfiguration
秘密 要新增至 VM 的憑證清單。 VaultSecretGroup[]
windowsConfiguration 操作系統配置檔的 Windows 組態。 WindowsConfiguration

VirtualMachineScaleSetProperties

名字 描述 價值
overProvision 指定虛擬機擴展集是否應該過度布建。 bool
upgradePolicy 升級原則。 UpgradePolicy
virtualMachineProfile 虛擬機器配置檔。 VirtualMachineScaleSetVMProfile

VirtualMachineScaleSetStorageProfile

名字 描述 價值
imageReference 影像參考。 ImageReference
osDisk OS 磁碟。 VirtualMachineScaleSetOSDisk

VirtualMachineScaleSetVMProfile

名字 描述 價值
extensionProfile 虛擬機擴展集擴充配置檔。 VirtualMachineScaleSetExtensionProfile
networkProfile 虛擬機擴展集網路配置檔。 VirtualMachineScaleSetNetworkProfile
osProfile 虛擬機擴展集OS配置檔。 VirtualMachineScaleSetOSProfile
storageProfile 虛擬機擴展集記憶體配置檔。 VirtualMachineScaleSetStorageProfile

WindowsConfiguration

名字 描述 價值
additionalUnattendContent 指定其他base-64編碼的 XML 格式資訊,這些資訊可以包含在 Windows 安裝程式所使用的 Unattend.xml 檔案中。 AdditionalUnattendContent[]
enableAutomaticUpdates 指出虛擬機是否已啟用自動更新。 bool
provisionVMAgent 指出虛擬機器代理程式是否應該佈建在虛擬機上。

當要求本文中未指定此屬性時,預設行為是將它設定為 true。 這可確保 VM 代理程式已安裝在 VM 上,以便稍後將擴充功能新增至 VM。
bool
timeZone 指定虛擬機的時區。 例如「太平洋標準時間” 字串
winRM 指定 Windows 遠端管理接聽程式。 這可啟用遠端 Windows PowerShell。 WinRMConfiguration

WinRMConfiguration

名字 描述 價值
聽眾 Windows 遠端管理接聽程式清單 WinRMListener[]

WinRMListener

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

{
“data”:“<Base64 編碼憑證>”,
“dataType”:“pfx”,
“password”:“<pfx-file-password>”
}
字串
協定 指定接聽程式的通訊協定。

可能的值為:
http

https
'Http'
'Https'

快速入門範例

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

Bicep 檔案 描述
Azure Game 開發人員虛擬機擴展集 Azure 遊戲開發人員虛擬機擴展集包含 Unreal 等授權引擎。
部署5節點安全叢集 此範本可讓您在Standard_D2_v2大小 VMSS 上部署執行 Windows Server 2019 Datacenter 的安全 5 節點 Service Fabric 叢集。
部署 Nextflow genomics 叢集 此範本會部署具有 Jumpbox、n 叢集節點、Docker 支援和共用記憶體的可調整 Nextflow 叢集。
部署支援受信任啟動的 Windows VM 擴展集 此範本可讓您使用最新修補版本的 Windows Server 2016、Windows Server 2019 或 Windows Server 2022 Azure Edition,部署支援信任啟動的 Windows VM 擴展集。 這些 VM 位於具有 RDP 連線 NAT 規則的負載平衡器後方。 如果您啟用 Secureboot 和 vTPM,客體證明擴充功能將會安裝在您的 VMSS 上。 此延伸模組會執行雲端的遠端 證明
使用 Windows VM 部署 VM 擴展集和自動調整 此範本可讓您使用最新修補版本的 Windows 2008-R2-SP1、2012-Datacenter 或 2012-R2-Datacenter 部署簡單的 Windows VM 擴展集。 這些 VM 位於具有 RDP 連線 NAT 規則的負載平衡器後方。 它們也有自動調整整合
部署 VMSS,將每個 VM 連線到 Azure 檔案記憶體共用 此範本會部署 Ubuntu 虛擬機擴展集,並使用自定義腳本擴充功能將每個 VM 連線到 Azure 檔案記憶體共用
使用 Azure 應用程式閘道部署 Windows VM 擴展集 此範本可讓您部署與 Azure 應用程式閘道整合的簡單 Windows VM 擴展集,並支援最多 1000 部 VM
使用 Python Bottle 伺服器部署 VM 擴展集 & 自動調整 在負載平衡器/NAT 後方部署 VM 擴展集,& 執行可運作的簡單 Python Bottle 應用程式的每個 VM。 設定自動調整擴展集時,會視需要相應放大 &
執行 IIS WebApp 的自動調整 VM 擴展集 部署執行 IIS 的 Windows VM 擴展集和非常基本的 .NET MVC Web 應用程式。 VMSS PowerShell DSC 擴充功能可用來執行 IIS 安裝和 WebDeploy 套件部署。
VMSS 彈性協調流程模式快速入門 Linux 此範本會部署具有 Azure Load Balancer 後方實例的簡單 VM 擴展集。 VM 擴展集處於彈性協調流程模式。 使用 os 參數來選擇 Linux (Ubuntu) 或 Windows (Windows Server Datacenter 2019) 部署。 注意:本快速入門範本可讓您從任何因特網位址存取 VM 管理埠(SSH、RDP),而且不應該用於生產部署。
具有公用IP前置詞的VMSS 使用公用IP前綴部署VMSS的範本

ARM 樣本資源定義

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

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

資源格式

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

{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "apiVersion": "2016-03-30",
  "name": "string",
  "identity": {
    "type": "SystemAssigned"
  },
  "location": "string",
  "properties": {
    "overProvision": "bool",
    "upgradePolicy": {
      "mode": "string"
    },
    "virtualMachineProfile": {
      "extensionProfile": {
        "extensions": [
          {
            "id": "string",
            "name": "string",
            "properties": {
              "autoUpgradeMinorVersion": "bool",
              "protectedSettings": {},
              "publisher": "string",
              "settings": {},
              "type": "string",
              "typeHandlerVersion": "string"
            }
          }
        ]
      },
      "networkProfile": {
        "networkInterfaceConfigurations": [
          {
            "id": "string",
            "name": "string",
            "properties": {
              "ipConfigurations": [
                {
                  "id": "string",
                  "name": "string",
                  "properties": {
                    "applicationGatewayBackendAddressPools": [
                      {
                        "id": "string"
                      }
                    ],
                    "loadBalancerBackendAddressPools": [
                      {
                        "id": "string"
                      }
                    ],
                    "loadBalancerInboundNatPools": [
                      {
                        "id": "string"
                      }
                    ],
                    "subnet": {
                      "id": "string"
                    }
                  }
                }
              ],
              "primary": "bool"
            }
          }
        ]
      },
      "osProfile": {
        "adminPassword": "string",
        "adminUsername": "string",
        "computerNamePrefix": "string",
        "customData": "string",
        "linuxConfiguration": {
          "disablePasswordAuthentication": "bool",
          "ssh": {
            "publicKeys": [
              {
                "keyData": "string",
                "path": "string"
              }
            ]
          }
        },
        "secrets": [
          {
            "sourceVault": {
              "id": "string"
            },
            "vaultCertificates": [
              {
                "certificateStore": "string",
                "certificateUrl": "string"
              }
            ]
          }
        ],
        "windowsConfiguration": {
          "additionalUnattendContent": [
            {
              "componentName": "Microsoft-Windows-Shell-Setup",
              "content": "string",
              "passName": "OobeSystem",
              "settingName": "string"
            }
          ],
          "enableAutomaticUpdates": "bool",
          "provisionVMAgent": "bool",
          "timeZone": "string",
          "winRM": {
            "listeners": [
              {
                "certificateUrl": "string",
                "protocol": "string"
              }
            ]
          }
        }
      },
      "storageProfile": {
        "imageReference": {
          "offer": "string",
          "publisher": "string",
          "sku": "string",
          "version": "string"
        },
        "osDisk": {
          "caching": "string",
          "createOption": "string",
          "image": {
            "uri": "string"
          },
          "name": "string",
          "osType": "string",
          "vhdContainers": [ "string" ]
        }
      }
    }
  },
  "sku": {
    "capacity": "int",
    "name": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

屬性值

AdditionalUnattendContent

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

ApiEntityReference

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

ImageReference

名字 描述 價值
提供 指定用來建立虛擬機的平臺映像或市集映像供應專案。 字串
發行人 映像發行者。 字串
sku 映像 SKU。 字串
版本 指定用來建立虛擬機的平臺映像或市集映像版本。 允許的格式為 Major.Minor.Build 或 'latest'。 主要、次要和組建是十進位數。 指定 'latest' 以在部署時間使用可用映像的最新版本。 即使您使用「最新」,即使有新版本可用,VM 映像也不會在部署時間之後自動更新。 字串

LinuxConfiguration

名字 描述 價值
disablePasswordAuthentication 指定是否應停用密碼驗證。 bool
ssh 指定 Linux OS 的 SSH 金鑰組態。 SshConfiguration

Microsoft.Compute/virtualMachineScaleSets

名字 描述 價值
apiVersion API 版本 '2016-03-30'
身份 如果已設定,則為虛擬機擴展集的身分識別。 VirtualMachineScaleSetIdentity
位置 資源位置 字串 (必要)
名字 資源名稱 字串 (必要)
性能 描述虛擬機擴展集的屬性。 VirtualMachineScaleSetProperties
sku 虛擬機擴展集 SKU。 Sku
標籤 資源標籤 標記名稱和值的字典。 請參閱範本中的 標籤
類型 資源類型 'Microsoft.Compute/virtualMachineScaleSets'

ResourceTags

名字 描述 價值

Sku

名字 描述 價值
能力 指定擴展集中的虛擬機數目。 int
名字 SKU 名稱。 字串
指定擴展集中虛擬機的層級。

可能的值:

Standard

基本
字串

SshConfiguration

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

SshPublicKey

名字 描述 價值
keyData 用來透過 ssh 向 VM 進行驗證的 SSH 公鑰憑證。 密鑰至少必須是 2048 位,且格式為 ssh-rsa。

如需建立 ssh 金鑰,請參閱 在 Azure中建立 Linux 和 Mac 上的 SSH 金鑰。
字串
路徑 指定已建立 VM 上儲存 SSH 公鑰的完整路徑。 如果檔案已經存在,指定的索引鍵會附加至檔案。 範例:/home/user/.ssh/authorized_keys 字串

SubResource

名字 描述 價值
id 資源標識碼 字串

UpgradePolicy

名字 描述 價值
模式 指定升級至擴展集中虛擬機的模式。

可能的值為:

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

自動 - 擴展集中的所有虛擬機都會同時自動更新。
'Automatic'
'Manual'

VaultCertificate

名字 描述 價值
certificateStore 針對 Windows VM,指定應新增憑證之虛擬機上的證書存儲。 指定的證書存儲隱含在 LocalMachine 帳戶中。

針對 Linux VM,憑證檔案會放在 /var/lib/waagent 目錄底下,檔名 <X509 憑證檔案的大寫Thumbprint>.crt,並針對私鑰 <大寫Thumbprint>.prv。 這兩個檔案都是 .pem 格式。
字串
certificateUrl 這是已上傳至 Key Vault 做為秘密之憑證的 URL。 如需將秘密新增至 Key Vault,請參閱 將金鑰或秘密新增至金鑰保存庫。 在此情況下,您的憑證必須是下列 JSON 物件的 Base64 編碼,其編碼方式為 UTF-8:

{
“data”:“<Base64 編碼憑證>”,
“dataType”:“pfx”,
“password”:“<pfx-file-password>”
}
字串

VaultSecretGroup

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

VirtualHardDisk

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

VirtualMachineScaleSetExtension

名字 描述 價值
id 資源標識碼 字串
名字 延伸模組的名稱。 字串
性能 描述虛擬機擴展集擴充功能的屬性。 VirtualMachineScaleSetExtensionProperties

VirtualMachineScaleSetExtensionProfile

名字 描述 價值
擴展 虛擬機擴展集子擴充功能資源。 VirtualMachineScaleSetExtension[]

VirtualMachineScaleSetExtensionProperties

名字 描述 價值
autoUpgradeMinorVersion 延伸模組處理程式是否應該在次要版本之間自動升級。 bool
protectedSettings 擴充功能的 Json 格式化受保護設定。 任何
發行人 擴充處理程序發行者的名稱。 字串
設置 擴充功能的 Json 格式化公用設定。 任何
類型 擴充處理程式的類型。 字串
typeHandlerVersion 擴充處理程式的類型版本。 字串

VirtualMachineScaleSetIdentity

名字 描述 價值
類型 用於虛擬機擴展集的身分識別類型。 目前,唯一支持的類型是 'SystemAssigned',其會隱含建立身分識別。 'SystemAssigned'

VirtualMachineScaleSetIPConfiguration

名字 描述 價值
id 資源標識碼 字串
名字 IP 組態名稱。 字串 (必要)
性能 描述虛擬機擴展集網路配置檔的IP組態屬性。 VirtualMachineScaleSetIPConfigurationProperties

VirtualMachineScaleSetIPConfigurationProperties

名字 描述 價值
applicationGatewayBackendAddressPools 應用程式閘道後端位址池。 SubResource[]
loadBalancerBackendAddressPools 負載平衡器後端位址池。 SubResource[]
loadBalancerInboundNatPools 負載平衡器輸入 nat 集區。 SubResource[]
子網。 ApiEntityReference (必要)

VirtualMachineScaleSetNetworkConfiguration

名字 描述 價值
id 資源標識碼 字串
名字 網路組態名稱。 字串 (必要)
性能 描述虛擬機擴展集網路配置檔的IP組態。 VirtualMachineScaleSetNetworkConfigurationProperties

VirtualMachineScaleSetNetworkConfigurationProperties

名字 描述 價值
ipConfigurations 虛擬機擴展集IP組態。 VirtualMachineScaleSetIPConfiguration[] (必要)
主要 這是否為虛擬機上的主要 NIC。 bool

VirtualMachineScaleSetNetworkProfile

名字 描述 價值
networkInterfaceConfigurations 網路組態的清單。 VirtualMachineScaleSetNetworkConfiguration[]

VirtualMachineScaleSetOSDisk

名字 描述 價值
緩存 指定快取需求。

可能的值為:



ReadOnly

ReadWrite

預設值:標準記憶體 None。進階記憶體的 ReadOnly
'None'
'ReadOnly'
'ReadWrite'
createOption 指定應該如何建立擴展集中的虛擬機。

唯一允許的值是:FromImage \u2013 當您使用映像來建立虛擬機時,會使用此值。 如果您使用平臺映像,則也會使用上述的 imageReference 元素。 如果您使用市集映像,則也會使用先前所述的 plan 元素。
'Attach'
'Empty'
'FromImage' (必要)
圖像 來源使用者映像 VirtualHardDisk。 此 VirtualHardDisk 將會先複製,再使用它連結至虛擬機。 如果提供SourceImage,目的地 VirtualHardDisk 就不應該存在。 VirtualHardDisk
名字 磁碟名稱。 字串 (必要)
osType 此屬性可讓您指定從使用者映像或特製化 VHD 建立 VM 時,磁碟包含的 OS 類型。

可能的值為:

Windows

Linux
'Linux'
'Windows'
vhdContainers 虛擬硬碟容器 URI 的清單。 string[]

VirtualMachineScaleSetOSProfile

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

最小長度 (Windows): 8 個字元

最小長度 (Linux): 6 個字元

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

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

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

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

如需重設密碼,請參閱 如何在 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 個字元

li 如需 Linux VM 的根存取權,請參閱在 Azure 中使用 Linux 虛擬機上的根許可權
<li> 如需不應該在此欄位中使用的 Linux 內建系統使用者清單,請參閱在 Azure 上選取 Linux 的使用者名稱
字串
computerNamePrefix 指定擴展集中所有虛擬機的計算機名稱前置詞。 計算機名稱前置詞長度必須為1到15個字元。 字串
customData 自訂數據的base-64編碼字串。 字串
linuxConfiguration 操作系統配置檔的 Linux 組態。 LinuxConfiguration
秘密 要新增至 VM 的憑證清單。 VaultSecretGroup[]
windowsConfiguration 操作系統配置檔的 Windows 組態。 WindowsConfiguration

VirtualMachineScaleSetProperties

名字 描述 價值
overProvision 指定虛擬機擴展集是否應該過度布建。 bool
upgradePolicy 升級原則。 UpgradePolicy
virtualMachineProfile 虛擬機器配置檔。 VirtualMachineScaleSetVMProfile

VirtualMachineScaleSetStorageProfile

名字 描述 價值
imageReference 影像參考。 ImageReference
osDisk OS 磁碟。 VirtualMachineScaleSetOSDisk

VirtualMachineScaleSetVMProfile

名字 描述 價值
extensionProfile 虛擬機擴展集擴充配置檔。 VirtualMachineScaleSetExtensionProfile
networkProfile 虛擬機擴展集網路配置檔。 VirtualMachineScaleSetNetworkProfile
osProfile 虛擬機擴展集OS配置檔。 VirtualMachineScaleSetOSProfile
storageProfile 虛擬機擴展集記憶體配置檔。 VirtualMachineScaleSetStorageProfile

WindowsConfiguration

名字 描述 價值
additionalUnattendContent 指定其他base-64編碼的 XML 格式資訊,這些資訊可以包含在 Windows 安裝程式所使用的 Unattend.xml 檔案中。 AdditionalUnattendContent[]
enableAutomaticUpdates 指出虛擬機是否已啟用自動更新。 bool
provisionVMAgent 指出虛擬機器代理程式是否應該佈建在虛擬機上。

當要求本文中未指定此屬性時,預設行為是將它設定為 true。 這可確保 VM 代理程式已安裝在 VM 上,以便稍後將擴充功能新增至 VM。
bool
timeZone 指定虛擬機的時區。 例如「太平洋標準時間” 字串
winRM 指定 Windows 遠端管理接聽程式。 這可啟用遠端 Windows PowerShell。 WinRMConfiguration

WinRMConfiguration

名字 描述 價值
聽眾 Windows 遠端管理接聽程式清單 WinRMListener[]

WinRMListener

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

{
“data”:“<Base64 編碼憑證>”,
“dataType”:“pfx”,
“password”:“<pfx-file-password>”
}
字串
協定 指定接聽程式的通訊協定。

可能的值為:
http

https
'Http'
'Https'

快速入門範本

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

範本 描述
將多個 VM 新增至虛擬機擴展集

部署至 Azure
此範本會建立具有受控磁碟、公用IP和網路介面的VM數目。 它會以彈性協調流程模式,在虛擬機擴展集中建立 VM。 它們將會佈建在虛擬網路中,此虛擬網路也會建立為部署的一部分
使用 Azure SQL Database 自動調整 LANSA Windows VM ScaleSet

部署至 Azure
此範本會部署具有擴展集中所需 VM 計數和 LANSA MSI 的 Windows VMSS,以安裝到每個 VM 中。 部署 VM 擴展集之後,會使用自訂腳本擴充功能來安裝 LANSA MSI)
Azure Container Service Engine (acs-engine) - 群集模式

部署至 Azure
Azure Container Service Engine (acs-engine) 會使用您選擇的 DC/OS、Kubernetes、Swarm 模式或 Swarm 協調器,為 Microsoft azure 上啟用 Docker 的叢集產生 ARM (Azure Resource Manager) 範本。 工具的輸入是叢集定義。 叢集定義非常類似(在許多情況下與 相同)用來部署 azure Container Service 叢集Microsoft ARM 範本語法。
Azure Game 開發人員虛擬機擴展集

部署至 Azure
Azure 遊戲開發人員虛擬機擴展集包含 Unreal 等授權引擎。
Azure VM 擴展集作為 Intel Lustre 的用戶端

部署至 Azure
此範本會使用 Azure VM 擴展集和 Azure 資源庫 OpenLogic CentOS 6.6 或 7.0 映射建立一組 Intel Lustre 2.7 用戶端,並掛接現有的 Intel Lustre 文件系統
機密 VM 擴展集與機密磁碟加密

部署至 Azure
此範本可讓您使用數個 Windows 和 Linux 映射版本的最新修補版本,部署已啟用機密 OS 磁碟加密的機密 VM 擴展集。
Couchbase Enterprise

部署至 Azure
用來安裝 Couchbase Enterprise 的 Azure Resource Manager (ARM) 範本
使用 jumpbox 建立和加密新的 Linux VMSS

部署至 Azure
此範本會使用最新的 Linux 映像來部署 Linux VMSS、新增數據磁碟區,然後加密每個 Linux VMSS 實例的數據磁碟區。 它也會在與具有私人IP位址的Linux VMSS實例相同的虛擬網路中,部署具有公用IP位址的 Jumpbox。 這允許透過其公用IP位址連線到 jumpbox,然後透過私人IP位址連線到Linux VMSS 實例。
使用 jumpbox 建立和加密新的 Windows VMSS

部署至 Azure
此範本可讓您使用最新修補版本的伺服器 Windows 版本來部署簡單的 Windows VM 擴展集。 此範本也會在相同的虛擬網路中部署具有公用IP位址的 Jumpbox。 您可以透過此公用IP位址連線到 jumpbox,然後透過私人IP位址從該處連線到擴展集中的 VM。此範本會在 WINDOWS VM 的 VM 擴展集上啟用加密。
部署已啟用 NSG 的 3 Nodetype 安全叢集

部署至 Azure
此範本可讓您在Standard_D2大小 VM 上部署執行 Windows Server 2016 資料中心的安全 3 節點類型 Service Fabric 叢集。 使用此範本可讓您使用網路安全組控制輸入和輸出網路流量。
部署5節點安全叢集

部署至 Azure
此範本可讓您在Standard_D2_v2大小 VMSS 上部署執行 Windows Server 2019 Datacenter 的安全 5 節點 Service Fabric 叢集。
部署 5 節點 Ubuntu Service Fabric 叢集

部署至 Azure
此範本可讓您在Standard_D2_V2大小 VMSS 上部署執行 Ubuntu 的安全 5 節點 Service Fabric 叢集。
部署Linux VMSS wth主要/次要架構

部署至 Azure
此範本可讓您在主要次要架構中使用自定義腳本擴充功能來部署Linux VMSS
部署 Nextflow genomics 叢集

部署至 Azure
此範本會部署具有 Jumpbox、n 叢集節點、Docker 支援和共用記憶體的可調整 Nextflow 叢集。
將擴展集部署到現有的 vnet

部署至 Azure
此範本會將 VM 擴展集部署到外延的 vnet。
將擴展集部署到 Windows 上的現有 vnet

部署至 Azure
此範本會將 Windows 2016 Datacenter VM 擴展集部署到資源群組、vnet 和子網。
使用Linux VM部署簡單的 VM 擴展集

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

部署至 Azure
此範本可讓您使用最新修補版本的UbuntuLinux 15.10或14.04.4-LTS來部署簡單的Linux VM擴展集。 另外還有一個 Jumpbox,可從 VM 位於 VNet 外部啟用連線。
使用 Windows VM 部署簡單的 VM 擴展集

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

部署至 Azure
此範本可讓您使用最新修補版本的伺服器 Windows 版本來部署簡單的 Windows VM 擴展集。 此範本也會在相同的虛擬網路中部署具有公用IP位址的 Jumpbox。 您可以透過此公用IP位址連線到 jumpbox,然後透過私人IP位址從該處連線到擴展集中的 VM。
部署支援受信任啟動的 Windows VM 擴展集

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

部署至 Azure
這些範本會使用 Azure 資料科學 VM 作為來源映像來部署 VM 擴展集。
使用Linux自定義映像部署 VM 擴展集

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

部署至 Azure
此範本可讓您部署簡單的 VM 擴展集,以使用自訂 Windows 映像。 這些 VM 位於具有 HTTP 負載平衡的負載平衡器後方(根據預設埠 80)
使用 Linux VM 部署 VM 擴展集和自動調整

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

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

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

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

部署至 Azure
此範本可讓您使用各種 Windows 版本的最新修補版本來部署 Windows VM 的 VM 擴展集。 這些 VM 位於具有 RDP 連線 NAT 規則的負載平衡器後方。
部署 VMSS,將每個 VM 連線到 Azure 檔案記憶體共用

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

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

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

部署至 Azure
此範本可讓您部署虛擬機 ScaleSet 資源的自動調整原則。
使用 Azure 應用程式閘道部署 Ubuntu VM 擴展集

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

部署至 Azure
此範本可讓您部署 Darktrace vSensors 的自動自動調整部署
使用 VM 擴展集、Azure 檔案和 Mysql 部署 Drupal

部署至 Azure
在負載平衡器/NAT 後方部署 VM 擴展集,& 執行 Drupal 的每個 VM(Apache / PHP)。 所有節點都會共用已建立的 Azure 檔案共用記憶體和 MySQL 資料庫
使用 LB 探查和自動修復部署 VM 擴展集

部署至 Azure
此範本可讓您在已設定健康情況探查的負載平衡器後方部署Linux VM的VM擴展集。 擴展集也有自動實例修復原則,且寬限期為 30 分鐘。
使用 Python Bottle 伺服器部署 VM 擴展集 & 自動調整

部署至 Azure
在負載平衡器/NAT 後方部署 VM 擴展集,& 執行可運作的簡單 Python Bottle 應用程式的每個 VM。 設定自動調整擴展集時,會視需要相應放大 &
部署 Windows VMSS 設定具有 SSL DSC

部署至 Azure
此範本可讓您部署兩個 Windows VMSS、設定 WINDOWS 功能,例如 IIS/Web 角色、.Net Framework 4.5、windows 驗證、應用程式初始化、下載應用程式部署套件、URL 重寫 & 使用 DSC 和 Azure Key Vault 的 SSL 設定
停用現有 Linux VMSS 上的加密

部署至 Azure
停用現有Linux VMSS上的加密
在執行中的Linux VMSS 上啟用資料磁碟區加密

部署至 Azure
在執行中的Linux VMSS上啟用數據磁碟區加密
在虛擬機擴展集上安裝 Elasticsearch 叢集

部署至 Azure
此範本會在虛擬機擴展集上部署 Elasticsearch 叢集。 範本會布建 3 個專用主要節點,其中包含選擇性數目的數據節點,這些節點會在受控磁碟上執行。
RHEL 上的 JBoss EAP

部署至 Azure
此範本可讓您建立執行 JBoss EAP 7.4 叢集的 RHEL 8.6 VMSS 實例,並部署名為 eap-session-replication 的 Web 應用程式,您可以使用部署時設定的 JBoss EAP 使用者名稱和密碼來登入管理控制台。
使用 VMSS 叢集自動調整程式 Kubernetes 叢集

部署至 Azure
此範本會部署使用 kubeadm 初始化的 vanilla kubernetes 叢集。 它會使用叢集自動調整程式部署已設定的主要節點。 預先設定的虛擬機擴展集 (VMSS) 也會部署並自動連結至叢集。 接著,叢集自動調整程式可以根據叢集的工作負載自動相應增加/減少叢集。
使用 Linux VM 和每個 VM 的公用 IPv4 簡單 VM 擴展集

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

部署至 Azure
部署 Web 伺服器以安全方式部署的 SSL 憑證來設定 Azure Key Vault
使用可用性區域 虛擬機擴展集範例

部署至 Azure
此範本會使用負載平衡器,建立位於個別可用性區域中的 VMSS。
執行 IIS WebApp 的自動調整 VM 擴展集

部署至 Azure
部署執行 IIS 的 Windows VM 擴展集和非常基本的 .NET MVC Web 應用程式。 VMSS PowerShell DSC 擴充功能可用來執行 IIS 安裝和 WebDeploy 套件部署。
在 Azure 虛擬網路 (VNET) 中部署 IPv6 的 VMSS

部署至 Azure
使用雙堆棧 IPv4/IPv6 VNET 和 Std Load Balancer 建立 VM 擴展集。
VMSS 彈性協調流程模式快速入門 Linux

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

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

Terraform (AzAPI 提供者) 資源定義

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

  • 資源群組

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

資源格式

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

resource "azapi_resource" "symbolicname" {
  type = "Microsoft.Compute/virtualMachineScaleSets@2016-03-30"
  name = "string"
  identity = {
    type = "SystemAssigned"
  }
  location = "string"
  sku = {
    capacity = int
    name = "string"
    tier = "string"
  }
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      overProvision = bool
      upgradePolicy = {
        mode = "string"
      }
      virtualMachineProfile = {
        extensionProfile = {
          extensions = [
            {
              id = "string"
              name = "string"
              properties = {
                autoUpgradeMinorVersion = bool
                protectedSettings = ?
                publisher = "string"
                settings = ?
                type = "string"
                typeHandlerVersion = "string"
              }
            }
          ]
        }
        networkProfile = {
          networkInterfaceConfigurations = [
            {
              id = "string"
              name = "string"
              properties = {
                ipConfigurations = [
                  {
                    id = "string"
                    name = "string"
                    properties = {
                      applicationGatewayBackendAddressPools = [
                        {
                          id = "string"
                        }
                      ]
                      loadBalancerBackendAddressPools = [
                        {
                          id = "string"
                        }
                      ]
                      loadBalancerInboundNatPools = [
                        {
                          id = "string"
                        }
                      ]
                      subnet = {
                        id = "string"
                      }
                    }
                  }
                ]
                primary = bool
              }
            }
          ]
        }
        osProfile = {
          adminPassword = "string"
          adminUsername = "string"
          computerNamePrefix = "string"
          customData = "string"
          linuxConfiguration = {
            disablePasswordAuthentication = bool
            ssh = {
              publicKeys = [
                {
                  keyData = "string"
                  path = "string"
                }
              ]
            }
          }
          secrets = [
            {
              sourceVault = {
                id = "string"
              }
              vaultCertificates = [
                {
                  certificateStore = "string"
                  certificateUrl = "string"
                }
              ]
            }
          ]
          windowsConfiguration = {
            additionalUnattendContent = [
              {
                componentName = "Microsoft-Windows-Shell-Setup"
                content = "string"
                passName = "OobeSystem"
                settingName = "string"
              }
            ]
            enableAutomaticUpdates = bool
            provisionVMAgent = bool
            timeZone = "string"
            winRM = {
              listeners = [
                {
                  certificateUrl = "string"
                  protocol = "string"
                }
              ]
            }
          }
        }
        storageProfile = {
          imageReference = {
            offer = "string"
            publisher = "string"
            sku = "string"
            version = "string"
          }
          osDisk = {
            caching = "string"
            createOption = "string"
            image = {
              uri = "string"
            }
            name = "string"
            osType = "string"
            vhdContainers = [
              "string"
            ]
          }
        }
      }
    }
  })
}

屬性值

AdditionalUnattendContent

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

ApiEntityReference

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

ImageReference

名字 描述 價值
提供 指定用來建立虛擬機的平臺映像或市集映像供應專案。 字串
發行人 映像發行者。 字串
sku 映像 SKU。 字串
版本 指定用來建立虛擬機的平臺映像或市集映像版本。 允許的格式為 Major.Minor.Build 或 'latest'。 主要、次要和組建是十進位數。 指定 'latest' 以在部署時間使用可用映像的最新版本。 即使您使用「最新」,即使有新版本可用,VM 映像也不會在部署時間之後自動更新。 字串

LinuxConfiguration

名字 描述 價值
disablePasswordAuthentication 指定是否應停用密碼驗證。 bool
ssh 指定 Linux OS 的 SSH 金鑰組態。 SshConfiguration

Microsoft.Compute/virtualMachineScaleSets

名字 描述 價值
身份 如果已設定,則為虛擬機擴展集的身分識別。 VirtualMachineScaleSetIdentity
位置 資源位置 字串 (必要)
名字 資源名稱 字串 (必要)
性能 描述虛擬機擴展集的屬性。 VirtualMachineScaleSetProperties
sku 虛擬機擴展集 SKU。 Sku
標籤 資源標籤 標記名稱和值的字典。
類型 資源類型 “Microsoft.Compute/virtualMachineScaleSets@2016-03-30”

ResourceTags

名字 描述 價值

Sku

名字 描述 價值
能力 指定擴展集中的虛擬機數目。 int
名字 SKU 名稱。 字串
指定擴展集中虛擬機的層級。

可能的值:

Standard

基本
字串

SshConfiguration

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

SshPublicKey

名字 描述 價值
keyData 用來透過 ssh 向 VM 進行驗證的 SSH 公鑰憑證。 密鑰至少必須是 2048 位,且格式為 ssh-rsa。

如需建立 ssh 金鑰,請參閱 在 Azure中建立 Linux 和 Mac 上的 SSH 金鑰。
字串
路徑 指定已建立 VM 上儲存 SSH 公鑰的完整路徑。 如果檔案已經存在,指定的索引鍵會附加至檔案。 範例:/home/user/.ssh/authorized_keys 字串

SubResource

名字 描述 價值
id 資源標識碼 字串

UpgradePolicy

名字 描述 價值
模式 指定升級至擴展集中虛擬機的模式。

可能的值為:

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

自動 - 擴展集中的所有虛擬機都會同時自動更新。
'Automatic'
'Manual'

VaultCertificate

名字 描述 價值
certificateStore 針對 Windows VM,指定應新增憑證之虛擬機上的證書存儲。 指定的證書存儲隱含在 LocalMachine 帳戶中。

針對 Linux VM,憑證檔案會放在 /var/lib/waagent 目錄底下,檔名 <X509 憑證檔案的大寫Thumbprint>.crt,並針對私鑰 <大寫Thumbprint>.prv。 這兩個檔案都是 .pem 格式。
字串
certificateUrl 這是已上傳至 Key Vault 做為秘密之憑證的 URL。 如需將秘密新增至 Key Vault,請參閱 將金鑰或秘密新增至金鑰保存庫。 在此情況下,您的憑證必須是下列 JSON 物件的 Base64 編碼,其編碼方式為 UTF-8:

{
“data”:“<Base64 編碼憑證>”,
“dataType”:“pfx”,
“password”:“<pfx-file-password>”
}
字串

VaultSecretGroup

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

VirtualHardDisk

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

VirtualMachineScaleSetExtension

名字 描述 價值
id 資源標識碼 字串
名字 延伸模組的名稱。 字串
性能 描述虛擬機擴展集擴充功能的屬性。 VirtualMachineScaleSetExtensionProperties

VirtualMachineScaleSetExtensionProfile

名字 描述 價值
擴展 虛擬機擴展集子擴充功能資源。 VirtualMachineScaleSetExtension[]

VirtualMachineScaleSetExtensionProperties

名字 描述 價值
autoUpgradeMinorVersion 延伸模組處理程式是否應該在次要版本之間自動升級。 bool
protectedSettings 擴充功能的 Json 格式化受保護設定。 任何
發行人 擴充處理程序發行者的名稱。 字串
設置 擴充功能的 Json 格式化公用設定。 任何
類型 擴充處理程式的類型。 字串
typeHandlerVersion 擴充處理程式的類型版本。 字串

VirtualMachineScaleSetIdentity

名字 描述 價值
類型 用於虛擬機擴展集的身分識別類型。 目前,唯一支持的類型是 'SystemAssigned',其會隱含建立身分識別。 'SystemAssigned'

VirtualMachineScaleSetIPConfiguration

名字 描述 價值
id 資源標識碼 字串
名字 IP 組態名稱。 字串 (必要)
性能 描述虛擬機擴展集網路配置檔的IP組態屬性。 VirtualMachineScaleSetIPConfigurationProperties

VirtualMachineScaleSetIPConfigurationProperties

名字 描述 價值
applicationGatewayBackendAddressPools 應用程式閘道後端位址池。 SubResource[]
loadBalancerBackendAddressPools 負載平衡器後端位址池。 SubResource[]
loadBalancerInboundNatPools 負載平衡器輸入 nat 集區。 SubResource[]
子網。 ApiEntityReference (必要)

VirtualMachineScaleSetNetworkConfiguration

名字 描述 價值
id 資源標識碼 字串
名字 網路組態名稱。 字串 (必要)
性能 描述虛擬機擴展集網路配置檔的IP組態。 VirtualMachineScaleSetNetworkConfigurationProperties

VirtualMachineScaleSetNetworkConfigurationProperties

名字 描述 價值
ipConfigurations 虛擬機擴展集IP組態。 VirtualMachineScaleSetIPConfiguration[] (必要)
主要 這是否為虛擬機上的主要 NIC。 bool

VirtualMachineScaleSetNetworkProfile

名字 描述 價值
networkInterfaceConfigurations 網路組態的清單。 VirtualMachineScaleSetNetworkConfiguration[]

VirtualMachineScaleSetOSDisk

名字 描述 價值
緩存 指定快取需求。

可能的值為:



ReadOnly

ReadWrite

預設值:標準記憶體 None。進階記憶體的 ReadOnly
'None'
'ReadOnly'
'ReadWrite'
createOption 指定應該如何建立擴展集中的虛擬機。

唯一允許的值是:FromImage \u2013 當您使用映像來建立虛擬機時,會使用此值。 如果您使用平臺映像,則也會使用上述的 imageReference 元素。 如果您使用市集映像,則也會使用先前所述的 plan 元素。
'Attach'
'Empty'
'FromImage' (必要)
圖像 來源使用者映像 VirtualHardDisk。 此 VirtualHardDisk 將會先複製,再使用它連結至虛擬機。 如果提供SourceImage,目的地 VirtualHardDisk 就不應該存在。 VirtualHardDisk
名字 磁碟名稱。 字串 (必要)
osType 此屬性可讓您指定從使用者映像或特製化 VHD 建立 VM 時,磁碟包含的 OS 類型。

可能的值為:

Windows

Linux
'Linux'
'Windows'
vhdContainers 虛擬硬碟容器 URI 的清單。 string[]

VirtualMachineScaleSetOSProfile

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

最小長度 (Windows): 8 個字元

最小長度 (Linux): 6 個字元

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

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

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

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

如需重設密碼,請參閱 如何在 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 個字元

li 如需 Linux VM 的根存取權,請參閱在 Azure 中使用 Linux 虛擬機上的根許可權
<li> 如需不應該在此欄位中使用的 Linux 內建系統使用者清單,請參閱在 Azure 上選取 Linux 的使用者名稱
字串
computerNamePrefix 指定擴展集中所有虛擬機的計算機名稱前置詞。 計算機名稱前置詞長度必須為1到15個字元。 字串
customData 自訂數據的base-64編碼字串。 字串
linuxConfiguration 操作系統配置檔的 Linux 組態。 LinuxConfiguration
秘密 要新增至 VM 的憑證清單。 VaultSecretGroup[]
windowsConfiguration 操作系統配置檔的 Windows 組態。 WindowsConfiguration

VirtualMachineScaleSetProperties

名字 描述 價值
overProvision 指定虛擬機擴展集是否應該過度布建。 bool
upgradePolicy 升級原則。 UpgradePolicy
virtualMachineProfile 虛擬機器配置檔。 VirtualMachineScaleSetVMProfile

VirtualMachineScaleSetStorageProfile

名字 描述 價值
imageReference 影像參考。 ImageReference
osDisk OS 磁碟。 VirtualMachineScaleSetOSDisk

VirtualMachineScaleSetVMProfile

名字 描述 價值
extensionProfile 虛擬機擴展集擴充配置檔。 VirtualMachineScaleSetExtensionProfile
networkProfile 虛擬機擴展集網路配置檔。 VirtualMachineScaleSetNetworkProfile
osProfile 虛擬機擴展集OS配置檔。 VirtualMachineScaleSetOSProfile
storageProfile 虛擬機擴展集記憶體配置檔。 VirtualMachineScaleSetStorageProfile

WindowsConfiguration

名字 描述 價值
additionalUnattendContent 指定其他base-64編碼的 XML 格式資訊,這些資訊可以包含在 Windows 安裝程式所使用的 Unattend.xml 檔案中。 AdditionalUnattendContent[]
enableAutomaticUpdates 指出虛擬機是否已啟用自動更新。 bool
provisionVMAgent 指出虛擬機器代理程式是否應該佈建在虛擬機上。

當要求本文中未指定此屬性時,預設行為是將它設定為 true。 這可確保 VM 代理程式已安裝在 VM 上,以便稍後將擴充功能新增至 VM。
bool
timeZone 指定虛擬機的時區。 例如「太平洋標準時間” 字串
winRM 指定 Windows 遠端管理接聽程式。 這可啟用遠端 Windows PowerShell。 WinRMConfiguration

WinRMConfiguration

名字 描述 價值
聽眾 Windows 遠端管理接聽程式清單 WinRMListener[]

WinRMListener

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

{
“data”:“<Base64 編碼憑證>”,
“dataType”:“pfx”,
“password”:“<pfx-file-password>”
}
字串
協定 指定接聽程式的通訊協定。

可能的值為:
http

https
'Http'
'Https'