你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

部署 Azure 应用服务上的托管实例(预览版)

Azure 应用服务上的托管实例将平台即服务的简单性与基础结构级控制的灵活性相结合。 托管实例专为需要计划级隔离、自定义和安全网络集成的应用程序而设计。

重要

托管实例处于预览状态,适用于选定区域中的 Windows Web 应用,并仅限于 Pv4 和 Pmv4 定价计划。 后续将支持更多区域。 不支持 Linux 和容器。

在本快速入门中,你将完成以下步骤:

  1. 使用 Azure Developer CLI 部署示例资源。
  2. 创建 Azure 应用服务上的托管实例(预览版)。
  3. 部署示例应用。
  4. 验证部署。

先决条件

  • Azure 帐户:需要一个具有活动订阅的 Azure 帐户。 如果还没有帐户,可以免费创建一个帐户

  • 访问已批准的区域:在预览期间,托管实例的区域包括:东亚、美国东部、北欧和美国中西部。 后续将支持更多区域。

  • 托管标识

  • 快速入门:使用 Azure 门户上传、下载和列出 Blob

  • 压缩 .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 命令执行以下操作:

  1. 创建用户分配的托管标识。
  2. 创建 Azure 存储 Blob。
  3. 将托管标识分配给存储容器和托管实例计划。
  4. 授予存储 Blob -Data-Contributor 对存储容器的访问权限。
  5. 将包含的字体和 Install.ps1 压缩为 scripts.zip。
  6. 将 scripts.zip 上传到存储容器。

注释

使用示例资源部署的配置脚本包 (scripts.zip) 包含 Install.ps1,它将 Microsoft Aptos 字体文件复制到 C:\Windows\Fonts 中。 稍后部署的示例应用将使用这些字体将文本呈现到图像中。 此过程演示了托管实例配置(安装)脚本如何在应用代码运行之前设置 OS 级别或框架依赖项。

以下 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 AccountContainer NameManaged Identity Client nameResource GroupScript URI 的值将在稍后使用。

部署托管实例计划

按照以下步骤创建托管实例计划并向其部署应用:

  1. 登录到 Azure 门户
  2. 选择“+ 创建资源”。
  3. 搜索托管实例
  4. 在结果中选择“Web 应用(适用于托管实例)(预览版)”。
  5. 选择“创建”以启动创建过程。
  6. 在“基本信息”选项卡中提供以下详细信息。

项目详细信息

设置 价值
Subscription 你的 Azure 订阅
资源组 rg-managed-instance

应用详细信息

设置 价值
Name contoso-mi-app
运行时堆栈 ASPNET V4.8
区域 你附近的区域

定价计划

设置 价值
Windows 计划 使用默认计划或创建新计划(例如‘contoso-mi-plan’)
定价计划* 选择定价计划。 如果 Pv4 或 Pmv4 未显示在定价计划中,请确认区域可用性或请求更多配额。

在“高级”选项卡上,提供以下详细信息。

配置(安装)脚本

设置 价值
存储帐户 使用默认计划或创建新计划(例如‘contoso-mi-plan’)
集装箱 脚本
ZIP 文件 scripts.zip
价值 验证 .zip URL 是否正确
身份 选择之前创建的托管标识
  1. 选择“查看 + 创建”,然后选择“创建”

将示例应用部署到托管实例

在此步骤中,你将使用 Cloud Shell 将 AZD 模板中包含的示例应用部署到托管实例。

  • 以下命令将 Web 应用部署到托管实例计划。 将 <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 目录中的字体。

显示使用 C:\Windows\Fonts\Aptos.TTF 的示例应用的屏幕截图。

管理托管实例计划

若要管理 Web 应用,请转到 Azure 门户,然后搜索并选择“应用服务”。

在“应用服务”页上,选择 Web 应用的名称。

在“概述”页上,选择应用服务计划的名称。 在“当前应用服务计划”下,选择计划名称。

在“设置”下的左侧菜单中,选择“配置”以查看配置详细信息。

清理资源

在前面的步骤中,你在资源组中创建了 Azure 资源。 如果将来不再需要这些资源,可以通过删除资源组来删除它们。

  1. 在 Azure 门户的 Web 应用的“概述”页中,选择“资源组”下的 myResourceGroup 链接。
  2. 在资源组页面上,确保所列出的那些资源是您想要删除的。
  3. 选择“删除资源组”,在文本框中键入“myResourceGroup”,然后选择“删除”
  4. 通过选择“删除”再次进行确认