Azure App Service 上的託管實例結合了平台即服務的簡單性與基礎設施層級控制的彈性。 Managed Instance 專為需要計畫層級隔離、客製化及安全網路整合的應用而設計。
這很重要
Managed Instance 目前處於預覽階段,僅支援部分地區的 Windows 網頁應用程式,且僅限於 Pv4 和 Pmv4 定價方案。 將有更多地區加入。 Linux 和容器系統不被支援。
在這個快速入門中,你將完成以下步驟:
- 使用 Azure Developer CLI 來部署範例資源。
- 在 Azure App Service 上建立受控執行個體(預覽)。
- 部署一個範例應用程式。
- 驗證部署。
先決條件
Azure 帳戶:您需要具有作用中訂用帳戶的 Azure 帳戶。 若您還沒有帳戶,可以免費建立帳戶。
存取核准區域:預覽期間,受管實例的區域包括: 東亞、 美國東部、 北歐及 美國中西部。 將有更多地區加入。
在壓縮 .zip 檔案中的設定(安裝)腳本中,有一個名為
Install.ps1的 PowerShell 腳本。
部署範例資源
你可以使用 Azure Developer CLI (AZD)在這個快速入門中快速部署所有必要的資源。 這個快速入門中使用的 AZD 範本來自 Azure 範例。 只要在 Azure Cloud Shell 執行以下指令,並依照提示操作:
mkdir managed-instance-quickstart
cd managed-instance-quickstart
azd init --template https://github.com/Azure-Samples/managed-instance-azure-app-service-quickstart.git
azd env set AZURE_LOCATION northeurope
azd up
azd up 命令會執行下列動作:
- 建立使用者指派的受控識別。
- 會產生一個 Azure 儲存區塊。
- 將託管身份指派給儲存容器和受管理實例計畫。
- 授予 Storage-Blob-Data-Contributor 對儲存容器的存取權限。
- 將包含的字型和 Install.ps1 壓縮到 scripts.zip。
- 將 scripts.zip 上傳到儲存容器。
備註
隨範例資源部署的設定腳本套件scripts.zip()包含 Install.ps1,該套件將 Microsoft Aptos 字型檔案複製到 C:\Windows\Fonts。 你之後部署的範例應用程式會用這些字體將文字渲染成圖片。 此過程展示了管理實例組(安裝)腳本如何在應用程式程式碼執行前,先建立作業系統層級或框架相依關係。
以下的 PowerShell 程式碼是範本中使用的設定(安裝)腳本。
# Install.ps1 - Copy and register fonts on Managed Instance
Write-Host "Installing custom fonts on Managed Instance..." -ForegroundColor Green
# Copy all TTF and OTF fonts to Windows Fonts folder and register them
Get-ChildItem -Recurse -Include *.ttf, *.otf | ForEach-Object {
$FontFullName = $_.FullName
$FontName = $_.BaseName + " (TrueType)"
$Destination = "$env:windir\Fonts\$($_.Name)"
Write-Host "Installing font: $($_.Name)"
Copy-Item $FontFullName -Destination $Destination -Force
New-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" -Name $FontName -PropertyType String -Value $_.Name -Force | Out-Null
}
Write-Host "Font installation completed." -ForegroundColor Green
最終輸出 azd up 應該與以下範例相似。
=== Deployment Complete ===
Storage Account: stgpjqep6fdlfv6
Container Name: scripts
Managed Identity Client name: id-gpjqep6fdlfv6
Resource Group: rg-managed-instance
Storage Account、Container Name、Managed Identity Client name、Resource Group 和 Script URI 的值將在後續中使用。
部署受管理實例計畫
請依照以下步驟建立管理實例計畫並部署應用程式:
- 登入 Azure 入口網站。
- 選取 [+ 建立資源]。
- 搜尋 受管理實例
- 在結果中選擇網頁應用程式(管理實例)(預覽)。
- 選擇 建立 以開始建立流程。
- 在基本標籤中,請提供以下細節。
專案詳細資料
| Setting | 價值觀 |
|---|---|
| Subscription | 您的 Azure 訂用帳戶 |
| 資源群組 | rg-managed-instance |
應用程式詳細資料
| Setting | 價值觀 |
|---|---|
| 名稱 | contoso-mi-app |
| 執行階段堆疊 | ASPNET V4.8 |
| 區域 | 您附近的區域 |
定價方案
| Setting | 價值觀 |
|---|---|
| Windows 計劃 | 使用預設方案或建立新方案(例如「contoso-mi-plan」)。 |
| 定價方案* | 選擇一個價格方案。 如果 價格方案中沒有顯示 Pv4 或 Pmv4,請確認區域可用性或申請更多配額。 |
在進階分頁,提供以下細節。
設定 (安裝) 指令碼
| Setting | 價值觀 |
|---|---|
| 記憶體帳戶 | 使用預設方案或建立新方案(例如「contoso-mi-plan」)。 |
| 容器 | 腳本 |
| 壓縮檔 | scripts.zip |
| 價值觀 | 請確認 .zip 網址是否正確 |
| 身份 | 選擇先前建立的受管理身份 |
- 選取 [檢閱 + 建立],然後選取 [建立]。
將範例應用程式部署到 Managed Instance
在此步驟中,你使用 Cloud Shell 將包含在 AZD 範本中的範例應用程式部署到 Managed Instance。
- 以下指令將網頁應用程式部署到你的受管理實例計畫中。 以您自己的值取代
<app-name>和<resource-group>。
az webapp deploy \
--resource-group "<resource-group-name>" \
--name "<app-name>" \
--src-path app.zip \
--type zip
瀏覽至應用程式
若要流覽至已建立的應用程式,請在 [概觀] 頁面中選取預設網域。
.NET 應用程式是運行在受管實例計畫上。 這個應用程式使用 C:\Windows\Fonts 目錄中的字型。
管理受管理實例計畫
若要管理 Web 應用程式,請移至 Azure 入口網站,然後搜尋並選取 [應用程式服務]。
在 [應用程式服務] 頁面上,選取您的 Web 應用程式名稱。
在 概覽 頁面,選擇您的 App Service 方案名稱。 在 「目前應用程式服務方案」中,選擇方案名稱。
在左側選單的 設定中,選擇 設定 以查看設定細節。
清理資源
在上述步驟中,您已建立資源群組中的 Azure 資源。 如果您預期未來不需要這些資源,則可以藉由刪除資源群組予以刪除。
- 從 Azure 入口網站中的 Web 應用程式概觀頁面,選取資源群組底下的 myResourceGroup 連結。
- 在 [資源群組] 頁面上,確定所列出資源是您想要刪除的資源。
- 選取 [刪除資源群組],在文字方塊中輸入 myResourceGroup,然後選取 [刪除]。
- 請選取 [刪除] 以再次確認。