本文主要对如下内容进行讲解:Azure云计算的核心体系结构组件中的:资源、订阅和资源组,以及了解 Azure 资源管理器 (ARM) 如何部署资源。
本系列已经更新文章列表:
[ 云计算 | Azure ] Chapter 03 | 描述云计算运营中的 CapEx 与 OpEx,如何区分 CapEx 与 OpEx
[ 云计算 | Azure ] Chapter 04 | Azure核心体系结构组件之数据中心、区域与区域对、可用区和地理区域
[ 云计算 | Azure ] Chapter 05 | 核心体系结构之管理组、订阅、资源和资源组以及层次关系
文章目录
一、什么是 Azure 资源(Resources)
Azure 中的 “资源”(Resource)是指一种由 Azure 管理的计算资源、存储资源或服务。Azure 资源可以是虚拟机、数据库、存储帐户、应用服务、虚拟网络等等。每个资源都有一个唯一的标识符,并由 Azure 资源管理器 (Azure Resource Manager) 管理。
当用户使用 Azure 时,你会购买的服务,比如数据库,或者web托管,或者VM等,这些所有的服务都表示为资源
,资源可以认为是一个对象(Object),用来代表你的 Azure 的某个服务。基本上你的合同也代表一个服务的生命周期,因此,一旦你在 Azure 中购买了一个服务,会创建一个资源,一旦你结束了服务,这个资源就会被删除,Azure 使用资源来保存所有的配置,几乎所有的配置选项都表示为该资源上的属性。Azure 的所有资源都可以表示为 json 模板,这种模板表示法是当下最常用的标准之一,它描述了对象,对于这种 json 格式的细节,我们需要知道所有的资源都有四个通用属性(类型、API版本信息、名称、位置)和其他一些不同的非公共属性。
json 中的数据格式类似于:
{
"TYPE" : "MICROSOFT.VIRTUAL MACHINE",
"APIVERSION" : "2022-08-08",
"NAME" : "VIRTUAL MACHINE",
"LOCATION" : "HONG KONG",
... OTHER ...
}
二、什么是 Azure 资源组(Resource Group)
Azure resource group(Azure 资源组)是 Azure 中用于逻辑分组和管理资源的容器。资源组可以包含一个或多个 Azure 资源(例如虚拟机、存储帐户、网络接口等)。它们可以被创建、更新、删除,并且可以与其他 Azure 服务和功能(例如 Azure Policy、Azure Role-Based Access Control 和 Azure Resource Manager)进行交互。
2.1 创建资源组的策略(了解)
通过将资源组中的所有资源作为一个单独的逻辑单元进行管理,可以轻松地跟踪、部署、监视和管理这些资源。另外,资源组还提供了一种方便的方式来应用一组 Azure 策略、定义角色访问控制以及跟踪资源使用情况和成本。那么如何进行将资源进行划分到资源组呢?
- 按类型(网络,虚拟机,数据库等)
- 按环境(dev,prod,qa)
- 按部门(市场,金融,HR)
- 组合策略,例如环境与部门
- 按照权限
- 由谁需要管理它们
- RBAC控制
- 例如数据库管理员可以在数据库管理组中访问数据库。
- 按照生命周期
- 允许使用但实验后删除。
- 按照账单
- 一种过滤和排序数据以更好地了解成本分配位置的方法。
TBD: 以后会写一个文章来专门说明 Azure 中的最佳实践,包括各资源的命名规范,此处不是本文重点(挖坑001 03/19/2023 2:04)
2.2 Azure 资源组知识点汇总(重要)
- Azure资源组本身也是Azure资源,因此可以具有锁定,标签,RBAC 权限等。
- Azure 资源组是免费的。
- Azure 资源组是逻辑容器,用于在 Azure 上部署资源。
- Azure 资源组与区域和订阅本身绑定。
- 但可以包含不同区域的资源。
- 如果 Azure 资源组所在的区域停止运行, Azure 资源组的管理将无法正常工作。
- 但可以包含不同区域的资源。
- Azure 资源组主要作用是帮助你组织资源。
- 你可以将类似的使用、类型或位置的资源放在同一组中。
- 如果你删除 Azure 资源组,则其中包含的所有资源也将被删除。
- 关于 Azure 资源组授权。
- 应用基于角色的访问控制(RBAC)权限的范围。
- Azure 资源组中的所有资源都继承了权限。
- 所有资源必须在资源组中,资源只能是单个资源组的成员。
- 在部署任何资源之前,你需要一个资源组。
- 有些服务有特定的限制或要求从一个资源组移动到另一个资源组。
- Azure 资源组不能嵌套。
- 可以查看部署到资源组的历史记录。
三、什么是 Azure 订阅?
Azure 订阅是使用 Azure 云服务的一种方式,Azure 订阅类似于资源组,它是一个逻辑容器,用于管理和跟踪在 Azure中使用的资源。当你注册 Azure 时,你需要创建一个订阅,以便可以开始使用 Azure 服务。
Azure 订阅允许你选择你需要的服务,如虚拟机、存储、数据库和其他服务,并控制使用这些服务的费用和带宽。你可以拥有多个 Azure 订阅,并将其用于不同的团队或项目,或者以不同的方式组织你的资源。订阅可以根据所需功能的不同进行分类,以及根据消费模型(例如预付费或后付费)和区域(例如全球、国家或地理区域)进行管理。
3.1 多订阅架构
Multiple Azure Subscriptions 指的是一个 Azure 用户可以创建并拥有多个 Azure 订阅。每个订阅可以与不同的 Azure 租户相关联,这使得用户可以在不同的租户中创建独立的资源,而不会对其他租户或订阅产生影响。这种方式可以提供更大的灵活性,使用户能够更好地组织和管理其 Azure 资源,同时也可以帮助用户更好地控制成本和安全性。
什么情况下会创建多订阅:
- 隔离环境
- 例如测试、安全性,或为了遵守合规性要求而隔离数据。
- 这非常有用,因为资源访问控制发生在订阅级别。
- 隔离组织结构
- 例如,限制团队使用低成本资源,同时允许IT部门使用全套资源。
- 允许你管理和控制用户在每个订阅中提供的资源的访问。
- 隔离计费
- 成本首先在订阅级别聚合。
- 根据你的需求管理和跟踪成本。例如针对生产、开发、测试或由于订阅限制而产生的成本。
- 成本首先在订阅级别聚合。
- 为了订阅限制
- 订阅受到一些硬性限制的约束。
- 例如,每个订阅的 Express Route 电路最大数量为10。
- 订阅受到一些硬性限制的约束。
3.2 Azure 订阅知识点汇总
- Azure 订阅用于创建和使用Azure服务。
- Azure 订阅在你注册时候创建。
- Azure 订阅是逻辑容器,用于在Azure中配置资源,如虚拟机、数据库等。
- 一个帐户可以有多个订阅。
- 当你创建Azure资源(如虚拟机)时,你需要指定它所属的订阅。
- 随着你使用虚拟机,虚拟机的使用量将被汇总并按月计费。
- 每个订阅都是一个独立的实体,无法合并。
- 可以使用 Azure 订阅来定义 Azure 产品、服务和资源的边界。订阅边界有两种:
- 计费边界:此订阅类型确定如何对使用 Azure 的 Azure 帐户计费。 可以为不同类型的计费要求创建多个订阅。
- 访问控制边界:Azure 会在订阅级别应用访问管理策略,你可以创建单独的订阅来反映不同的组织结构。
四、什么是 Azure 管理组(Management Groups)
Azure 管理组是一种管理 Azure 订阅和资源的层级结构,可以帮助组织更好地组织和管理其 Azure 环境。Azure 管理组可以将多个 Azure 订阅和资源组织在一起,并提供一致的访问控制、策略和合规性管理。管理组可以帮助组织实现以下目标:
-
简化管理:通过将多个 Azure 订阅和资源组织在一起,可以更轻松地管理这些资源。例如,你可以在管理组中定义共享的策略,然后将其应用到管理组中的所有订阅和资源(可以对订阅进行分组)。
-
控制访问:管理组提供了一种将访问控制策略应用于多个 Azure 订阅和资源的方法。通过定义角色分配和权限,你可以控制谁可以对管理组中的资源进行操作(可以有 RBAC 分配和策略)。
-
管理合规性:管理组可以帮助组织实现合规性目标,例如确保符合特定的安全标准或数据保护法规。通过定义一致的策略和标准,可以更轻松地确保所有资源符合这些要求。
总之,Azure 管理组是一种强大的工具,可以帮助组织更好地管理其 Azure 环境,并实现更高的安全性、合规性和效率。
五、参考文献
https://learn.microsoft.com/en-us/azure/cloud-adoption-framework/get-started/how-azure-resource-manager-works#what-is-an-azure-subscription
https://learn.microsoft.com/zh-cn/training/modules/describe-core-architectural-components-of-azure/6-describe-azure-management-infrastructure
https://www.pragimtech.com/blog/azure/azure-resource-groups/