Azure Resource Manager 試用產品
注意
試用產品已被取代。 鼓勵您轉換到免費試用版,這是試用產品的替代方案,可讓客戶有機會使用個人化設定和組態來充分利用您的產品,從而滿足他們的具體需求。 建議您從供應專案中移除試用產品,並清除試用產品環境。
如果您有 Azure Marketplace 或 AppSource 上的供應專案,但想要僅使用 Azure 資源建置試用產品,請使用此類型。 Azure Resource Manager (ARM) 範本是 Azure 資源的自動程式代碼容器,您設計來最能代表您的解決方案。 試用產品會採用提供的 ARM 範本,並將它所需的所有資源部署至資源群組。 這是虛擬機或 Azure 應用程式供應專案的唯一試用產品選項。
如果您不熟悉 ARM 範本是什麼,請閱讀 什麼是 Azure Resource Manager? ,並 瞭解 ARM 範本 的結構和語法,以進一步瞭解如何建置及測試您自己的範本。
如需託管或邏輯應用程式試用產品的相關信息,請參閱什麼是試用產品?
提示
若要查看客戶在商業市集中試用產品檢視,請參閱 什麼是 Azure Marketplace? 和 什麼是 Microsoft AppSource?。
技術設定
部署範本包含組成解決方案的所有 Azure 資源。 符合此案例的產品只會使用 Azure 資源。 在合作夥伴中心設定下列屬性:
區域 (必要) - 目前有 26 個 Azure 支援的區域可供試用產品使用。 為了獲得最佳效能,建議您選擇一個預期最大客戶所在的區域。 您必須確定您的訂用帳戶能夠部署您選取的每個區域所需的所有資源。
實例 – 選取類型(經常性存取或非經常性存取)和可用實例數目,這會乘以您供應專案可用的區域數目。
經常 性 – 此類型的實例會部署並等候每個選取區域的存取權。 客戶可以立即存取試用產品的熱門實例,而不必等待部署。 取捨是這些實例一律在您的 Azure 訂用帳戶上執行,因此會產生較大的運行時間成本。 強烈建議至少有一個經常性實例,因為大多數客戶不想等候完整部署,因此如果沒有可用的經常性實例,導致客戶使用量下降。
冷 – 此類型的實例代表每個區域可能部署的實例總數。 冷實例需要當客戶要求試用產品時部署整個試用產品 Resource Manager 範本,因此 冷 實例的載入速度比 經常 性實例慢得多。 取捨是,您只需要支付試用產品持續時間的費用,它不一定會在 Azure 訂用帳戶上執行,就像使用經常性實例一樣。
試用 Azure Resource Manager 範本 – 上傳包含 Azure Resource Manager 範本的.zip。 若要深入瞭解如何建立 Azure Resource Manager 範本,請參閱快速入門文章使用 Azure 入口網站 建立和部署 Azure Resource Manager 範本。
試用產品持續時間 (必要) - 輸入試用產品將保持作用中的時數。 試用產品會在這段期間結束後自動終止。 只使用整數(例如,“2” 小時有效,“1.5” 不是)。
撰寫試用產品範本
設計所需的資源套件之後,請撰寫並建置試用產品 ARM 範本。 因為試用產品會以完全自動化模式執行部署,因此試用產品範本有一些限制:
參數
大部分的範本都有一組參數,可定義資源名稱、資源大小(例如記憶體帳戶或虛擬機大小類型)、使用者名稱和密碼、DNS 名稱等等。 當您使用 Azure 入口網站 部署解決方案時,您可以手動填入所有這些參數、挑選可用的 DNS 名稱或記憶體帳戶名稱等等。
不過,試用產品會自動運作,而不需要人為互動,因此它只支援一組有限的參數類別。 如果試用產品 ARM 範本中的參數不屬於其中一個支援的類別,您必須將此參數取代為變數或常數值。
您可以將任何有效的名稱用於參數;試用產品會使用元數據類型值來辨識參數類別。 指定每個樣本參數的元資料類型,否則您的樣本不會通過驗證:
"parameters": {
...
"username": {
"type": "string",
"metadata": {
"type": "username"
}
},
...
}
注意
所有參數都是選擇性的,因此,如果您不想使用任何參數,就不需要這麼做。
接受的參數元數據類型
元數據類型 | 參數類型 | 描述 | 範例值 |
---|---|---|---|
baseuri | 字串 | 部署套件的基底 URI | https://<..>.blob.core.windows.net/<..> |
username | 字串 | 新的隨機用戶名稱。 | admin68876 |
password | 安全字串 | 新的隨機密碼 | Lp!ACS^2kh |
會話標識碼 | 字串 | 唯一的試用產品會話識別碼 (GUID) | b8c8693e-5673-449c-badd-257a405a6dee |
baseuri
試用產品會使用 部署套件的基底 URI 初始化此參數,讓您可以使用此參數來建構套件中包含的任何檔案 URI。
注意
baseUri
參數不能與自定義腳本延伸模組搭配使用。
"parameters": {
...
"baseuri": {
"type": "string",
"metadata": {
"type": "baseuri",
"description": "Base Uri of the deployment package."
}
},
...
}
在範本內使用此參數,從試用產品部署套件建構任何檔案的 URI。 下列範例示範如何建構連結範本的 URI:
"templateLink": {
"uri": "[concat(parameters('baseuri'),'templates/solution.json')]",
"contentVersion": "1.0.0.0"
}
username
試用產品使用新的隨機使用者名稱來初始化此參數:
"parameters": {
...
"username": {
"type": "string",
"metadata": {
"type": "username",
"description": "Solution admin name."
}
},
...
}
範例值: admin68876
您可以針對解決方案使用隨機或常數的用戶名稱。
password
試用產品會使用新的隨機密碼初始化此參數:
"parameters": {
...
"password": {
"type": "securestring",
"metadata": {
"type": "password",
"description": "Solution admin password."
}
},
...
}
範例值: Lp!ACS^2kh
您可以針對您的解決方案使用隨機或常數密碼。
session ID
試用產品會使用代表試用產品會話識別碼的唯一 GUID 來初始化此參數:
"parameters": {
...
"sessionid": {
"type": "string",
"metadata": {
"type": "sessionid",
"description": "Unique test drive session id."
}
},
...
}
範例值: b8c8693e-5673-449c-badd-257a405a6dee
如有必要,您可以使用此參數來唯一識別試用產品會話。
唯一名稱
某些 Azure 資源,例如記憶體帳戶或 DNS 名稱,需要全域唯一的名稱。 這表示每次試用產品部署ARM範本時,都會為其所有資源建立具有唯一名稱的新資源群組。 因此,您必須使用 與資源群組標識碼上的變數名稱串連的唯一字串 函式,以產生隨機的唯一值:
"variables": {
...
"domainNameLabel": "[concat('contosovm',uniquestring(resourceGroup().id))]",
"storageAccountName": "[concat('contosodisk',uniquestring(resourceGroup().id))]",
...
}
請確定您串連參數/變數字串 (contosovm
) 與唯一字串輸出 (resourceGroup().id
),因為這可保證每個變數的唯一性和可靠性。
例如,大部分的資源名稱不能以數字開頭,但唯一的字串函式可以傳回以數位開頭的字串。 因此,如果您使用原始唯一字串輸出,您的部署將會失敗。
您可以在開發 Azure 資源的命名和標記策略中找到有關資源命名規則和限制的其他資訊。
部署位置
您可以在不同的 Azure 區域中提供試用產品。
當試用產品建立實驗室的實例時,它一律會在其中一個選取的區域建立資源群組,然後在此群組內容中執行您的部署範本。 因此,您的範本應該從資源群組挑選部署位置:
"variables": {
...
"location": "[resourceGroup().location]",
...
}
然後將這個位置用於特定實驗室實例的每個資源:
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"location": "[variables('location')]",
...
},
{
"type": "Microsoft.Network/publicIPAddresses",
"location": "[variables('location')]",
...
},
{
"type": "Microsoft.Network/virtualNetworks",
"location": "[variables('location')]",
...
},
{
"type": "Microsoft.Network/networkInterfaces",
"location": "[variables('location')]",
...
},
{
"type": "Microsoft.Compute/virtualMachines",
"location": "[variables('location')]",
...
}
]
請確定您的訂用帳戶允許在您所選取的每個區域中部署您想要的所有資源。 此外,請確定您的虛擬機映像可在您將啟用的所有區域中使用,否則您的部署範本不適用於某些區域。
輸出
通常使用 Resource Manager 範本,您可以部署而不產生任何輸出。 這是因為您知道用來填入範本參數的所有值,而且一律可以手動檢查任何資源的屬性。
不過,對於試用產品 Resource Manager 範本,請務必返回試用產品,這是取得實驗室存取權所需的所有資訊(網站 URI、虛擬機主機名、使用者名稱和密碼)。 請確定所有輸出名稱都是可讀取的,因為這些變數會呈現給客戶。
範本輸出沒有任何相關限制。 試用產品會將所有輸出值轉換成字串,因此,如果您將對象傳送至輸出,則使用者會看到 JSON 字串。
範例:
"outputs": {
"Host Name": {
"type": "string",
"value": "[reference(variables('pubIpId')).dnsSettings.fqdn]"
},
"User Name": {
"type": "string",
"value": "[parameters('adminName')]"
},
"Password": {
"type": "string",
"value": "[parameters('adminPassword')]"
}
}
訂用帳戶限制
別忘了訂用帳戶和服務限制。 例如,如果您想要部署最多十部 4 核心虛擬機,您必須確定您用於實驗室的訂用帳戶可讓您使用 40 個核心。 如需 Azure 訂用帳戶和服務限制的詳細資訊,請參閱 Azure 訂用帳戶和服務限制、配額和條件約束。 由於可以同時進行多個試用產品,請確認您的訂用帳戶可以處理核心數目乘以可採取的並行試用產品總數。
要上傳的內容
試用產品 ARM 範本會上傳為 zip 檔案,其中包含各種部署成品,但必須有一個名為的檔案 main-template.json
。 這是試用產品用來具現化實驗室的 ARM 部署範本。 如果您有此檔案以外的其他資源,您可以將這些資源參考為範本內的外部資源,或將它們包含在 zip 檔案中。
在發佈認證期間,試用產品會解壓縮您的部署套件,並將其內容放入內部試用產品 Blob 容器中。 容器結構會反映部署套件的結構:
package.zip | 試用產品 Blob 容器 |
---|---|
main-template.json |
https:\//\<\...\>.blob.core.windows.net/\<\...\>/main-template.json |
templates/solution.json |
https:\//\<\...\>.blob.core.windows.net/\<\...\>/templates/solution.json |
scripts/warmup.ps1 |
https:\//\<\...\>.blob.core.windows.net/\<\...\>/scripts/warmup.ps1 |
我們呼叫此 Blob 容器基底 URI 的 URI。 因為實驗室的每個修訂都有自己的 Blob 容器,因此每個實驗室的修訂都有自己的基底 URI。 試用產品可以透過範本參數,將已解壓縮部署套件的基底 URI 傳遞至範本。
轉換試用產品範例
將資源架構轉換成試用產品 Resource Manager 範本的程式可能令人生畏。 如需其他說明,請參閱如何在什麼是試用產品?中,最佳轉換目前部署範本 的這些範例。
試用產品部署訂用帳戶詳細數據
完成的最後一節是能夠透過連線您的 Azure 訂用帳戶和Microsoft Entra ID 自動部署試用產品。
取得 Azure 訂用 帳戶標識碼。 這會授與 Azure 服務和 Azure 入口網站 的存取權。 訂用帳戶是報告資源使用量且服務計費的位置。 如果您還沒有個別的 Azure 訂用帳戶僅供試用產品使用,請建立一個。 您可以登入 Azure 入口網站,然後從左側導覽功能表中選取 [訂用帳戶],以尋找 Azure 訂用帳戶標識碼(例如
1a83645ac-1234-5ab6-6789-1h234g764ghty1
)。取得Microsoft Entra 租用戶標識符。 如果您已經有可用的租使用者識別碼,您可以在 Microsoft Entra ID>屬性>目錄識別碼中找到它:
如果您沒有租使用者標識碼,請在 Microsoft Entra 識別碼中建立新的識別碼。 如需設定租用戶的說明,請參閱 快速入門:設定租使用者。
將Microsoft試用產品應用程式布建至您的租使用者。 我們將使用此應用程式在試用產品資源上執行作業。
- 如果您還沒有它,請安裝 Azure Az PowerShell 模組。
- 新增Microsoft試用產品應用程式的服務主體。
執行
Connect-AzAccount
並提供認證以登入您的 Azure 帳戶,這需要工作 內建角色最少Microsoft Entra ID 特殊許可權角色。建立新的服務主體:
New-AzADServicePrincipal -ApplicationId d7e39695-0b24-441c-a140-047800a05ede -DisplayName 'Microsoft TestDrive'
。確定已建立服務主體:
Get-AzADServicePrincipal -DisplayName 'Microsoft TestDrive'
。
若為 Microsoft Entra 應用程式識別碼,請貼上此應用程式識別碼:
d7e39695-0b24-441c-a140-047800a05ede
。針對 Microsoft Entra App Key,因為不需要秘密,請插入虛擬密碼,例如「無秘密」。
由於我們使用應用程式部署至訂用帳戶,因此我們必須從 Azure 入口網站 或 PowerShell 將應用程式新增為訂用帳戶上的參與者:
從 Azure 入口網站:
選取要用於試用產品的訂用帳戶。
選取 [存取控制 (IAM)]。
選取 [新增] > [新增角色指派]。
在 [角色] 索引標籤上,選取 [參與者]。
在 [成員] 索引標籤上,選取 [使用者、群組或服務主體],然後選擇 [選取成員]。
選取您先前建立Microsoft TestDrive 服務主體。
在 [檢閱 + 指派] 索引標籤上,選取 [檢閱 + 指派] 以指派角色。
如需角色指派的詳細資訊,請參閱使用 Azure 入口網站指派 Azure 角色
如果使用 PowerShell:
- 執行此動作以取得 ServicePrincipal 物件識別碼:
(Get-AzADServicePrincipal -DisplayName 'Microsoft TestDrive').id
。 - 使用 ObjectId 和訂用帳戶標識碼來執行此動作:
New-AzRoleAssignment -ObjectId <objectId> -RoleDefinitionName Contributor -Scope /subscriptions/<subscriptionId>
。
- 執行此動作以取得 ServicePrincipal 物件識別碼:
注意
刪除舊的 appID 之前,請移至 Azure 入口網站,然後移至 [資源群組],然後搜尋 CloudTry_
。 檢查由數據行起始的事件。
除非至少有一個資源 (作業名稱) 設定為 Microsoft TestDrive,否則請勿刪除舊的 appID。
若要刪除 appID,請在左側導覽功能表中選取 [Microsoft [項目>識別符應用程式註冊],然後選取 [所有應用程式] 索引卷標。選擇您的應用程式,然後選取 [刪除]。
重新發佈
現在您的所有試用產品欄位都已完成, 請重新發佈 您的供應專案。 試用產品通過認證之後,請在供應專案的預覽版中測試客戶體驗:
在UI中啟動試用產品。
在 Azure 入口網站 內開啟您的 Azure 訂用帳戶。
確認您的試用產品已正確部署。
請勿刪除為您的客戶布建的任何試用產品實例;試用產品服務會在客戶完成之後自動清除這些資源群組。
一旦您熟悉預覽供應專案,就可以 上線了! 有最後一個檢閱程式,可仔細檢查整個端對端體驗。 如果我們拒絕供應項目,我們會傳送電子郵件給您供應專案的工程聯繫人,說明需要修正的內容。
相關內容
- 如果您遵循在合作夥伴中心建立供應專案的指示,請使用 [上一頁] 箭號返回該主題。
- 若要深入瞭解其他類型的試用產品,請參閱 什麼是試用產品?。