资源组的原则

已完成

在从事新工作的第一周,你已查看公司的 Azure 订阅中的现有资源。 有许多资源组包含许多不同的资源,但它们没被组织成一个连贯的结构。 你以前使用过 Azure,但不太确定资源组的工作方式及它们的作用。 你已经(正确地)猜到它们有助于你如何组织你的资源。 让我们来看看它们是什么,以及如何使用它们。

注意

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


什么是资源组?

资源组是 Azure 平台的基本元素。 资源组是部署在 Azure 上的资源的逻辑容器。 这些资源是在 Azure 订阅中创建的任何内容,例如虚拟机、应用程序网关和 Cosmos DB 实例。 所有资源必须在资源组中,并且资源只能是单个资源组的成员。 许多资源可以在资源组之间移动,其中某些服务有特定的移动限制或要求。 资源组无法嵌套。 在预配任何资源之前,需要一个资源组来放置资源。

逻辑分组

资源组的存在有助于管理和组织你的 Azure 资源。 通过在资源组中放置用法、类型或位置类似的资源,可以有条理地组织在 Azure 中创建的资源。 在此处,逻辑分组是你最感兴趣的方面,因为公司资源中存在很多混乱。

概念图,其中显示一个含有功能、VM、数据库和应用的资源组框。

生命周期

如果删除资源组,也会同时删除组中包含的所有资源。 在非生产环境中,按生命周期组织资源非常有用,在其中可以尝试进行试验,并在试验完成后对其进行处置。 借助资源组,可以轻松地一次性删除一组资源。

授权

资源组也是应用基于角色的访问控制 (RBAC) 权限的范围。 通过将 RBAC 权限应用于资源组,可以简化管理并将访问权限限制为仅允许所需内容。

创建资源组

可以使用以下方法创建资源组:

  • Azure 门户
  • Azure PowerShell
  • Azure CLI
  • 模板
  • Azure SDK(如 .NET 或 Java)

让我们逐步了解在 Azure 门户中创建资源组所需的步骤。 如果你愿意,你可在自己的订阅一同跟进。

  1. 打开 Web 浏览器并登录到 Azure 门户

    重要

    请务必使用“自己的”订阅。 免费沙盒环境不允许创建资源组。 要查看你正在使用的订阅,可查看屏幕左上角个人资料图片下的租户名称。 可选择个人资料图片,再从选项菜单中选择“切换目录”来切换租户。

  2. 在 Azure 门户上或在“主页”中,选择“创建资源”。 此时会显示“创建资源”窗格。

  3. 在“搜索服务和市场”搜索框中,搜索并选择“资源组”。 此时将显示“资源组”窗格。

  4. 选择“创建”。 此时会显示“创建资源组”窗格。

  5. 在“基本信息”选项卡上,为每个设置输入以下值。

    设置
    项目详细信息
    订阅 从下拉列表中,选择要用于此练习的 Azure 订阅。
    资源组 输入“msftlearn-core-infrastructure-rg”。
    资源详细信息
    区域 从下拉列表中选择最靠近自己的位置。

    Azure 门户屏幕截图,显示了包含订阅、资源组和区域的资源组创建内容。

  6. 选择“查看 + 创建”,然后在验证通过后选择“创建”,创建资源组。

完成了,你创建了现在可以在部署 Azure 资源时使用的资源组。 请仔细查看此资源组以及需要考虑的一些重要事项。

浏览资源组并添加资源

  1. 在 Azure 门户菜单上或在“主页”中,选择“Azure 服务”下的“资源组”。

  2. 从列表中,选择新创建的资源组。 此时将显示“资源组”窗格。

    注意

    还可能看到名为“NetworkWatcherRG”的资源组。 可以忽略此资源组,它是自动创建的,用于在 Azure 虚拟网络中启用网络观察程序。

    Azure 门户屏幕截图,显示了尚无资源的新资源组窗格。

  3. 在“概述”页上,你将看到有关资源组的基本信息,例如它所在的订阅、订阅 ID、应用的任何标记以及此资源组的部署历史记录。 下一个单元将介绍标记。 如果展开页面顶部的“概要”,可看到“部署”链接,该链接会将你带到一个新面板,其中包含对该资源组的所有部署的历史记录。 每当创建一个资源时,它就是一个部署,你可以在此处看到每个资源组的历史记录。

    使用“资源组”页面顶部的工具栏,可以添加更多资源、更改列表中的列、将资源组移动到另一个订阅,或者将其完全删除。

    在左侧菜单中,有许多选项。

    在此资源组中没有任何资源,因此底部的列表为空。 让我们在资源组中创建几个资源。

  4. 在顶部菜单栏中,选择“创建”,或选择窗格底部的“创建资源”按钮;两种方式都有效。 此时会显示“创建资源”窗格。

  5. 在“搜索服务和市场”搜索框中,搜索并选择“虚拟网络”。 此时将显示“虚拟网络”窗格。

  6. 选择“创建” 。 此时,“创建虚拟网络”窗格显示。

  7. 在“基本信息”选项卡上,为每个设置输入以下值。

    设置
    项目详细信息
    订阅 从下拉列表中,选择要用于此练习的 Azure 订阅。
    资源组 请确保显示了“msftlearn-core-infrastructure-rg”。
    实例详细信息
    名称 输入“msftlearn-vnet1”。
    区域 从下拉列表中选择最靠近自己的位置。
  8. 选择“查看 + 创建”,然后在验证通过后,选择“创建”,以便将虚拟网络添加到资源组。

  9. 再次重复虚拟网络创建步骤,以创建另一个虚拟网络。 确保将虚拟网络放置在之前创建的资源组中,并将虚拟网络命名为 msftlearn-vnet2。

  10. 回到你的资源组。 你创建的两个虚拟网络应显示在“概述”窗格中。

    Azure 门户屏幕截图,显示包含了两个虚拟网络资源的资源组概述。

资源组包含两个虚拟网络资源,因为你在创建资源时指定了资源组。 可以在此资源组中创建更多资源,也可以在订阅中创建更多资源组并将资源部署到这些资源组中。

创建资源时,通常可以选择创建新的资源组作为使用现有资源组的替代方法。 这可简化过程,但正如在新组织中看到的那样,这样做可能会导致资源分散在资源组中,而很少考虑如何组织这些资源。

为组织使用资源组

那么如何在新组织中充分利用资源组? 以下指南和最佳做法对组织资源很有帮助。

一致的命名约定

首先,使用易于理解的命名约定。 将资源组命名为“msftlearn-core-infrastructure-rg”。 这提供了其用途 (msftlearn)、其中包含的资源类型 (core-infrastructure) 及其本身的资源类型 (rg) 的提示。 此描述性的名称可以让我们更好地了解它是什么。 如果将其命名为“my-resource-group”或“rg1”,那么你根本不知道其用途是什么。 在这种情况下,可以推断出其中可能包含基础结构的核心部分。 如果你创建了更多虚拟网络、存储帐户或其他资源,公司可能会考虑核心基础结构,你也可以将它们放在这里,从而改善公司的资源组织。 命名约定在公司之间甚至公司内部可能会千差万别,但稍作规划都可能会很有用。

组织原则

可以通过多种方式组织资源组,我们来看一些示例。 你可能会将属于核心基础结构的所有资源放入此资源组,但也可以按资源类型严格地组织资源。 例如,可以将所有虚拟网络放在一个资源组中,将所有虚拟机放在另一个资源组中,将所有 Azure Cosmos DB 实例放在另一个资源组中。

按类型分组的资源关系图:vnet-rg 对应于虚拟网络,vm-rg 对应于虚拟机,db-rg 对应于数据库。

你可以按环境(生产、测试、开发)来组织它们。 在此情况下,所有生产资源都位于一个资源组中,所有测试资源都位于另一个资源组中,依此类推。

按环境分组的资源关系图:prod-rg 对应于生产,qa-rg 对应于 QA,dev-rg 对应于开发。

你可以按部门(营销部、财务部、人力资源部)来组织它们。 营销资源在一个资源组中,财务资源在另一个资源组中,人力资源在第三个资源组中。

按部门分组的资源关系图:finance-rg 对应于财务部、marketing-rg 对应于市场营销部,hr-rg 对应于人力资源部。

你甚至可以使用这些策略组合,按环境和部门组织它们。 将生产财务资源放在一个资源组,将开发财务资源放在另一个资源组,营销资源也是如此。

按环境和部门分组的资源关系图:prod-finance、dev-finance、prod-marketing 和 dev-marketing。

在用于组织资源的策略中,有几个因素可以发挥作用:授权、资源生命周期和计费。

组织以用于授权

由于资源组属于 RBAC 范围,因此,你可以根据谁需要管理资源来组织这些资源。 如果数据库管理团队负责管理所有 Azure SQL 数据库实例,则将它们放在同一资源组可简化管理。 你可以向团队授予资源组级别的适当权限以管理资源组内的数据库。 同样,你可拒绝数据库管理团队通过虚拟网络访问资源组,这样他们就不会无意中在其职责范围外对资源进行更改。

组织以用于生命周期

我们之前介绍过,资源组充当其中的资源的生命周期。 如果删除资源组,也会删除组中的所有资源。 请充分利用这一点,特别是在资源一次性使用性更高的场景,例如非生产环境。 如果为某个项目部署 10 个服务器,你知道这个项目仅持续数月,则你可能会将它们放在单个资源组。 一个资源组比 10 个或更多资源组更容易清理。

组织以用于计费

最后,将资源放在同一资源组中是一种将它们分组以便在计费报告中使用的方法。 如果想要了解成本是如何在 Azure 环境中分配的,通过按资源组进行分组可以筛选和排序数据以更好地了解成本分配情况。

总结

最重要的是,可以灵活地组织资源组中的资源。 请仔细考虑这种可以在 Azure 环境中使用资源组的一致方法。