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

快速入门:使用 Azure 门户创建和部署 ARM 模板

在本快速入门中,你将学习如何在 Azure 门户中创建 Azure 资源管理器模板(ARM 模板)。 你可以从门户中编辑和部署模板。

ARM 模板为 JSON 或 Bicep 文件,用于定义针对解决方案进行部署时所需的资源。 若要了解与部署和管理 Azure 解决方案关联的概念,请参阅模版部署概述

完成本教程后,部署 Azure 存储帐户。 可以使用相同的流程来部署其他 Azure 资源。

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

检索自定义模板

你可以检索用于实现目标的预建 ARM 模板,而非手动构建整个模板。 Azure 快速入门模板存储库包含大量部署常见应用场景的模板。 通过门户,可以轻松地从此存储库中查找和使用模板。 你可以保存模板,并在将来重复使用它。

  1. 在 Web 浏览器中转到 Azure 门户,然后登录。

  2. 在Azure 门户搜索栏中,搜索“部署自定义模板”,然后从可用选项中选择它。

    在 Azure 门户中搜索自定义模板的屏幕截图。

  3. 对于“模板”源,请注意,“快速启动模板”在默认情况下已选中。 可以保留此选择。 在下拉列表中,搜索“quickstarts/microsoft.storage/storage-account-create”并选择它。 找到该快速启动模板后,选择“选择模板”。

    在 Azure 门户中选择“快速启动模板”的屏幕截图。

  4. 提供用于部署的自定义值。

    对于“资源组”,请选择“新建”并提供“myResourceGroup”作为名称。 可以对其他字段使用默认值。 提供完值后,选择“查看 + 创建”

    Azure 门户中自定义模板的输入字段屏幕截图。

  5. 门户将验证模板和你提供的值。 验证通过后,选择“创建”启动部署。

    Azure 门户中“模板创建和验证”按钮的屏幕截图。

  6. 验证通过后,将看到部署状态。 部署成功完成时,选择“转到资源”以查看存储帐户。

    Azure 门户中已成功部署通知的屏幕截图。

  7. 在此屏幕中,可以查看新的存储帐户及其属性。

    在 Azure 门户中通过存储帐户查看“部署”页的屏幕截图。

编辑和部署模板

可以使用门户快速开发和部署 ARM 模板。 一般而言,建议使用 Visual Studio Code 来开发 ARM 模板,然后使用 Azure CLI 或 Azure PowerShell 来部署模板。 但是,可以使用门户进行快速部署,而无需安装这些工具。

在本部分中,假设你有 ARM 模板,你想在不设置其他工具的情况下来部署一次。

  1. 再次在门户中选择“部署自定义模板”。

  2. 这次,选择“在编辑器中生成自己的模板”。

    Azure 门户中“生成自己的模板”选项的屏幕截图。

  3. 此时会看到一个空白模板。

    Azure 门户中空白 ARM 模板的屏幕截图。

  4. 用以下代码替换默认模板。 它将部署一个带有子网的虚拟网络。

    {
      "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "vnetName": {
          "type": "string",
          "defaultValue": "VNet1",
          "metadata": {
            "description": "VNet name"
          }
        },
        "vnetAddressPrefix": {
          "type": "string",
          "defaultValue": "10.0.0.0/16",
          "metadata": {
            "description": "Address prefix"
          }
        },
        "subnetPrefix": {
          "type": "string",
          "defaultValue": "10.0.0.0/24",
          "metadata": {
            "description": "Subnet Prefix"
          }
        },
        "subnetName": {
          "type": "string",
          "defaultValue": "Subnet1",
          "metadata": {
            "description": "Subnet Name"
          }
        },
        "location": {
          "type": "string",
          "defaultValue": "[resourceGroup().location]",
          "metadata": {
            "description": "Location for all resources."
          }
        }
      },
      "resources": [
        {
          "type": "Microsoft.Network/virtualNetworks",
          "apiVersion": "2021-08-01",
          "name": "[parameters('vnetName')]",
          "location": "[parameters('location')]",
          "properties": {
            "addressSpace": {
              "addressPrefixes": [
                "[parameters('vnetAddressPrefix')]"
              ]
            },
            "subnets": [
              {
                "name": "[parameters('subnetName')]",
                "properties": {
                  "addressPrefix": "[parameters('subnetPrefix')]"
                }
              }
            ]
          }
        }
      ]
    }
    
  5. 选择“保存”。

  6. 你将看到要求提供部署值的窗格。 再次选择“myResourceGroup”作为资源组。 可以使用其他默认值。 提供完值后,请选择“查看 + 创建”.

  7. 在门户验证该模板后,选择“创建”。

  8. 部署完成时,会看到部署的状态。 这次,选择资源组的名称。

    在 Azure 门户中查看第二个部署页面的屏幕截图。

  9. 资源组现在包含存储帐户和虚拟网络。

    Azure 门户中带存储帐户和虚拟网络的资源组的屏幕截图。

导出自定义模板

有时,使用 ARM 模板最简单的方法是让门户生成它。 门户可以根据资源组的当前状态创建 ARM 模板。

  1. 在资源组中,选择“导出模板”。

    Azure 门户中“导出模板”选项的屏幕截图。

  2. 门户基于资源组的当前状态生成模板。 此模板与之前部署的任一模板都不同。 它包含存储帐户定义和虚拟网络定义,以及为存储帐户自动创建的 Blob 服务等其他资源。

  3. 若要保存此模板供以后使用,请选择“下载”。

    Azure 门户中用于已导出 ARM 模板的“下载”按钮屏幕截图。

你现在拥有了一个表示资源组当前状态的 ARM 模板。 此模板是自动生成的。 在将模板用于生产部署之前,请考虑对其进行修订,例如添加用于实现模板重用的参数。

清理资源

当不再需要 Azure 资源时,请通过删除资源组来清理部署的资源。

  1. 在 Azure 门户中的左侧菜单上选择“资源组”。
  2. 在“筛选任何字段”搜索框中输入资源组名称。
  3. 选择资源组名称。 可以在资源组中看到存储帐户。
  4. 在顶部菜单中选择“删除资源组”。

后续步骤

本教程已介绍如何通过 Azure 门户生成模板,以及如何使用门户部署模板。 本快速入门中使用的模板是包含一个 Azure 资源的简单模板。 如果模板较为复杂,使用 Visual Studio Code 或 Visual Studio 来开发模板会更方便。 若要详细了解模板开发,请参阅新的初学者教程系列: