使用标记来组织资源

已完成

你已经浏览资源并将其移动到比以前更有条理的资源组中;但是,如果资源有多种用途,应该怎么办呢? 如何更好地搜索、筛选和组织这些资源? 标记有助于改进 Azure 资源的组织。

什么是标记?

标记是可以应用于资源和资源组的文本数据的名称/值对。 使用标记可以关联资源的自定义详细信息。 除了标准 Azure 属性,资源还具有以下属性:

  • 部门(例如财务部和市场营销部等)
  • 环境(生产、测试、开发)
  • 成本中心
  • 生命周期和自动化(例如关闭和启动虚拟机)

资源最多可以有 50 个标记。 除存储帐户外的所有类型的资源的名称值限制为 512 个字符,存储帐户的名称值限制为 128 个字符。 所有资源类型的标记值限制为 256 个字符。 标记不会从父级资源继承。 并非所有资源类型都支持标记,并且不能将标记应用于经典资源

可以通过 Azure 门户、Azure CLI、Azure PowerShell、Azure 资源管理器模板以及 REST API 添加和处理标记。 例如,若要使用 Azure CLI 向虚拟网络添加资源标记,可以使用以下命令:

az resource tag --tags Department=Finance \
    --resource-group msftlearn-core-infrastructure-rg \
    --name msftlearn-vnet1 \
    --resource-type "Microsoft.Network/virtualNetworks"

可以使用 Azure Policy 来为你的组织基于你所定义的策略条件而创建的资源自动添加或强制使用标记。 例如,你可能会要求当组织中的某人在特定的资源组中创建虚拟网络时输入部门标记的值。

将标记应用于资源

将一些标记应用到你创建的资源。 回想一下,你创建了名为“msftlearn-core-infrastructure-rg”的资源组,并在此资源组中创建了两个虚拟网络:“msftlearn-vnet1”和“msftlearn-vnet2”。 虚拟网络的名称是相对通用的,因此你希望将虚拟网络与不同部门的服务相关联。

  1. 打开 Azure 门户,导航到“msftlearn-core-infrastructure-rg”资源组

  2. 资源组的“概述”窗格上应该会列出两个虚拟网络。 默认视图不显示标记列,因此需要将该列添加到列表视图中。 在工具栏中,选择“管理”视图,然后选择“编辑列”。 在“编辑列”窗格上,选择“添加列”,然后选择用于显示下拉列表的字段。 选择属性“标记”,将其添加到列表视图中的列。 选择“保存”以添加所做的更改。

    Screenshot of Azure portal showing edit columns dialog with available columns on the left and selected columns on the right.

    现在应该有“标记”列,但由于你还没有添加任何标记,因此它将是空的。 将标记直接添加到此处。

  3. 还可以在资源的“标记”面板上向任何支持此功能的资源添加标记。 对于“msftlearn-vnet1”资源,选择省略号 (...),然后选择“编辑标记”以显示“编辑标记”窗格。 通过此窗格,你可以为所选资源创建特定标记。

  4. 让我们在此虚拟网络中添加一些标记。 此窗格上的两个字段会记住以前使用的所有标记。 可以选择一个标记或创建新标记。 在“名称”框中,键入“部门”,然后在“值”框中,键入“财务”。 单击“保存”以保存更改。

    Screenshot of Azure portal showing the edit tags dialog with new tag name and value entered.

  5. 为“msftlearn-vnet2”虚拟网络执行相同的步骤。 对于此虚拟网络,将“部门”标记添加到值为“营销”的资源。

    现在每个资源应该都应用了标记。

    Screenshot of Azure portal showing virtual network resources with department tags.

  6. 若要快速对资源进行分类,可以将标记批量添加到资源。 在列表中,为每个虚拟网络选中左侧的复选框,然后在工具栏中,选择“分配标记”。 (如果此选项不可见,可能是包含在 ... 菜单中。)通过选择多个资源,可以向所有选定项添加标记,从而更轻松地将同一标记应用于多个资源。

    将“Environment:Training”标记添加到所选资源。 应该在对话框中看到标记将应用于每个虚拟网络。 选择“保存”。

    Screenshot of Azure portal showing the assign tags dialog to add tags in bulk.

    在资源列表中,现在有填充了多个值的“标记”列。 如果窗口宽度有限,标记文本可能会被截断。 将鼠标悬停在列标题上,并使用垂直线调整列的大小。 如果最右边有省略号,则表示还有其他列,但没有显示。

  7. 选择“添加筛选器”。 在“筛选器”字段中,选择“环境”。 对于“值”,选择“培训”并确保所有其他复选框为空,然后选择“应用”。 应该只显示你的两个虚拟网络,因为你使用设置为“培训”的“环境”标记标记了这些资源。

    Screenshot of Azure portal resource list filtered on the training environment tag.

  8. 通过使用值“财务”或“市场营销”为“部门”标记添加筛选器,从而进一步筛选资源列表。

将标记用于组织

以上练习仅仅是说明如何使用标记来组织资源的一个示例。 由于标记具有灵活性,你可以通过几种方法充分利用标记。

可使用标记对计费数据进行分组。 例如,如果针对不同组织运行多个 VM,可以使用标记根据成本中心对使用情况进行分组。 还可使用标记根据运行时环境对成本进行分类;例如,在生产环境中运行的虚拟机的计费使用情况。 导出计费数据或通过计费 API 访问计费数据时,标记包含在该数据中,你可以使用该数据从成本角度进一步对数据切片。

可检索订阅中具有特定标记名称或值的所有资源。 使用标记也可以从不同资源组中检索相关资源。 需要为计费或管理目的组织资源时,此方法十分有用。

标记资源同样有助于监视以跟踪受影响的资源。 监视系统可以使用带有警报的标记数据,使你能够确切地知道受影响的资源。 在上述示例中,你将具有“财务”值的“部门”标记应用于“msftlearn-vnet1”资源。 如果“msftlearn-vnet1”上发出了警报并且此警报包含标记,你就会知道财务部门可能会受到触发警报的条件的影响。 如果出现问题,此上下文信息则会很有用。

在自动化中使用标记的情况也很常见。 如果要在非工作时间在开发环境中自动关闭和启动虚拟机以节省成本,可以使用标记来支持自动化。 向虚拟机添加“关闭: 下午 6 点”和“启动: 早上 7 点”标记,然后创建用来查找这些标记的自动化作业,并根据标记值关闭或启动资源。 Azure 自动化 Runbook 库中有几种解决方案,它们以类似的方式使用标记来实现此结果。