更新时间:2024-05-11 GMT+08:00
分享

资源治理

根据Landing Zone的参考架构,设计多账号下的资源治理方案,包含资源共享、资源标签、资源命名规范、资源管理、配额管理、镜像管理等。

资源治理原则

华为云基于大量成功交付的项目,总结提炼了以下资源治理原则:

  1. 使用企业项目而不是IAM项目进行资源的分组和管理,企业项目可以跨区域管理资源,支持资源的迁入迁出、资源的成本核算及分析,比IAM项目更灵活,更能满足企业的项目管理需求。
  2. 针对每个企业项目,按照职责分别创建不同的用户组,如应用开发组、应用测试组和应用管理组、项目管理组等,并授予相应的权限;为每个项目成员在华为云上创建一个用户,并加入到对应的用户组。
  3. 每个账号下创建一个公共项目,或者使用默认企业项目default,用于包含以下公共资源,供其他企业项目共享使用:
    • 成本很难分摊到其他企业项目的公共云资源,如共享带宽、云连接等
    • 账号范围内应该统一管理的云资源,如云备份、VPC等
    • 大量购买时更加优惠的资源套餐包,建议在账号范围内统一订购,而不是为每个企业项目单独订购
  4. 部门(对应到华为云上的组织单元和子账号)作为独立核算的单元,不建议部门之间共享使用任何云资源,即使这两个部门是父子关系;但一个部门内的多个IT项目可以共享使用云资源,如共享带宽、云连接等。
  5. 针对每个账号提供多种运行环境:生产环境、开发环境、测试环境,各个环境之间需要有一定的安全隔离措施,可以通过VPC建立隔离的运行环境。多个小应用系统可共享一个VPC,大型应用系统可以独占一个VPC。
    表1 运行环境

    运行环境名称

    运行环境描述

    生产环境

    部署核心生产系统,如ERP、PLM、SCM等,以及数据仓库及大数据系统,大的应用系统(如大型ERP系统)可以独占一个生产环境。核心生产环境的重要性高,可用性和数据安全要求高,需要建立严格的容灾备份机制和数据安全保护体系。

    开发环境

    部署开发系统,如Devops流水线、源代码管理系统等,开发环境的可靠性要求不高,对网络安全和数据安全要求也不高,酌情提供一定的数据备份和数据安全保护措施。在中小企业,开发环境可与测试环境合并。

    测试环境

    部署测试系统和准生产系统,测试人员在该环境完成系统上线之前的功能测试、性能测试、安全测试和集成测试等测试工作。测试环境的可靠性要求不高,对网络安全和数据安全要求也不高,酌情提供一定的数据备份和数据安全保护措施。在中小企业,开发环境可与测试环境合并。

  6. 规划VPCDMA网络段的时候,需要考虑VPC之间的通信交互,如果两个VPC之间需要进行通信,这两个VPC的网段就不要互相冲突;有频繁交互关系的VPC尽量创建在同一个区域内,否则跨区域的VPC通信需要额外购买带宽包。
  7. 定期(月度、季度、年度)统计分析各个组织单元、企业项目的资源利用率,及时发现资源空转、资源利用率低的情况,并及时删除空转资源、进行资源整合。
  8. 为防止资源滥用,要限定账号(主账号和各个子账号)在华为云上各服务资源的配额,对该账号下用户所能申请的资源数量和容量做限制。

资源共享

基于公共服务账号,梳理可以共享给其他账号的公共资源,比如NTP服务器、AD服务器、自建DNS服务器、OBS桶、IMS私有镜像、SWR容器镜像库、协作办公系统等。

资源管理

在安全审计账号中,可以对整个组织的合规遵从进行统一管理,包括将多账号的资源配置快照归档到统一的桶中,管理员统一配置组织下各子账号的合规规则。

  1. 统一合规策略配置
    • RMS服务提供资源合规特性,帮助您快速创建一组合规规则,用于评估您的资源是否满足合规要求。
    • 在组织多账号场景下,当需要配置多个组织账号下的合规规则时,可以将多个子账号的合规规则设置API的访问权限委托给根账号。
    • 通过调用API的方式,使用根账号获取IAM token后,逐个调用子账号的API配置合规规则。
  2. 账号的资源配置快照统一存储
    • RMS服务支持每个账号在开启资源记录器并成功配置对象存储桶(OBS)后,RMS会定期(24小时)对您的资源进行快照并存储。
    • 在组织多账号场景下,当需要获取多个组织账号下的资源配置快照数据时,可先针对每个账号开启资源记录器,配置自己的对象存储桶(OBS)。再对每个桶配置根账号只读权限。
    • 通过调用API的方式,使用根账号获取IAM token后,逐个访问子账号的OBS桶获取资源快照文件

资源标签

华为云的标签是由用户定义的键和值组成,标签可以更灵活地帮助用户管理资源,包括识别、搜索筛选等。

  1. 在为华为云资源创建标记策略时,华为云有以下建议:
    • 请勿在标签中存储个人身份信息或其他机密或敏感信息
    • 对标签使用标准化的区分大小写格式,并跨所有资源类型一致地应用该格式
    • 虽然标签有长度规格上限,尽量不要每个标签都达到标签规格上限,标签长度能标明含义即可
    • 需要提前考虑规划好支持多种用途的标签准则,如管理资源访问控制、成本跟踪、自动化和组织
  2. 标签命名限制和要求
    • 每个资源最多可以有 20 个用户创建的标签。注意:以 _sys_开头的系统创建标签将保留供华为云系统使用,并且不计入此限制
    • 对于每个资源,每个标签键都必须是唯一的,每个标签键只能有一个值
    • 标签键必须包含 1 到 128 个 Unicode 字符,并且以 UTF-8 格式表示
    • 标签值必须包含 0 到 255 个 Unicode 字符,并且以 UTF-8 格式表示
    • 标签键和值区分大小写。最佳实践是,决定利用标签的策略并在所有资源类型中一致地实施该策略。例如,决定是使用 HuaweiCloud、huaweicloud 还是 Huaweicloud,应保持相同的规则。避免含义模糊的标签出现
  3. 常见标签策略
    • 资源治理标签:用户可以配置标签来与资源一起显示,并且可以按标签进行搜索和筛选。使用TMS服务,用户可以按资源类型,标签范围过滤资源,给多个资源批量标记标签
    • 成本标签:华为云的费用中心->成本中心可让用户在使用标签标识和管理资源的同时,还可以将标签激活为成本标签来归集成本。成本标签可以应用在成本分析和预算管理中
    • 自动化标签:资源或特定于服务的标签通常用于在自动化任务时做资源过滤筛选。自动化标签用于选择加入或退出自动化任务,或识别要存档、更新或删除的资源的特定版本。例如,用户可以运行自动化脚本,这些脚本可在非工作时间内关闭开发环境以降低成本。在这种场景,可以通过给ECS服务的虚拟机资源标记标签标明是否需要被关闭虚拟机
  4. 通过标签分析成本
    • 登录“成本中心”。
    • 选择“成本标签”。
    • 选中标签,进行激活或取消激活操作。
      图1 标签分析成本
    • 登录华为云控制台,进入成本中心。
    • 选择“成本分析”。
    • 通过成本标签进行成本数据筛选。
      图2 通过成本标签维度进行成本数据汇总
      图3 通过成本标签进行成本数据过滤

镜像管理

  1. 虚拟机镜像管理

    企业可以通过镜像导入或者公共镜像创建自己的私有镜像,然后将私有镜像共享给其他应用账号使用。

  2. 公共镜像

    企业可以通过公共镜像作为应用的基础镜像。通过公共镜像在创建出虚拟机后,用户可以根据安全和业务要求,在镜像里进行基础的业务配置或者安全配置。配置完成后,可以通过虚拟机创建私有镜像。

    • 华为云公共镜像中提供了多种类型开源版公共镜像:
    表2 多种类型开源版公共镜像

    CentOS

    64bit:CentOS 6:6.10/6.9/6.8/6.5/

    64bit:CentOS 7:7.9/7.8/7.7/7.6/7.4/7.3/7.2

    64bit:CentOS 8:8.2/8.1/8.0

    Ubuntu

    64bit:Ubuntu 20.04/18.04/16.04

    Debian

    64bit:Debian 8:8.8.0

    64bit:Debian 9:9.0.0

    64bit:Debian 10:10.0.0

    64bit:openSUSE Leap 15: 15.0

    CoreOS

    64bit:CoreOS 2079.4.0

    FreeBSD

    64bit:FreeBSD 11.0

    openEuler

    64bit:openEuler 20.03

    • 在市场镜像中,可以选择商用版linux和windows镜像:
    表3 商用版linux和windows镜像

    windows

    Windows Server 2012 Standard/Datacenter

    Windows Server 2012 R2 Standard/Datacenter

    Windows Server 2016 Standard/Datacenter

    Windows Server 2019 Standard/Datacenter

    suse

    64bit:SLES 12:12 SP5

    64bit:SLES 15:15 SP1

  3. 镜像导入
    如果客户使用的镜像超出华为公共镜像范围,可以使用IMS服务,进行镜像导入,目前IMS支持系统盘、数据盘和ISO镜像导入能力;支持vhd、zvhd、vmdk、qcow2、raw、zvhd2、vhdx、qcow、vdi或qed格式镜像文件创建私有镜像
    图4 镜像导入
  4. 镜像创建
    • 可以通过IMS服务创建系统盘、数据盘、整机镜像,创建完成后,镜像可用于复制、共享可以直接登录IMS Console操作。
    • 为便于用户定制化操作,可以Packer创建私有镜像:
      图5 Packer创建私有镜像
    • 使用Packer创建镜像,需要一个json格式的模板文件。在模板文件中,您需要指定构建器、配置器,还可以指定后处理器。在配置器中,您可以指定对源镜像的任何操作,可以指定安装软件也可以对相关配置做修改。
    {
    "builders": [{
    "type": "openstack",
    "identity_endpoint": "https://iam.xxx.com/v3",
    "tenant_name": "xxx",
    "domain_name": "domain_name",
    "username": "username",
    "password": "password",
    "ssh_username": "root",
    "region": "xxx",
    "image_name": "Ubuntu-image-updating-powered-by-Packer",
    "instance_name": "Ubuntu-image-updating-powered-by-Packer",
    "source_image": "f1dd2272-7041-479e-9663-646632b6ac00",
    "availability_zone": "xxx",
    "flavor": "s3.medium.2",
    "use_blockstorage_volume": true,
    "networks": ["11d661c4-e41f-487f-a6f6-9b88d623dd5d"],
    "floating_ip": "8f686f9a-3408-4fdd-be75-ea768065800c"
    }],
    "provisioners": [{
    "inline": [
    "apt-get update -y"
    ],
    "inline_shebang": "/bin/sh -x",
    "type": "shell",
    "skip_clean": true
    }],
    "post-processors": [{
    "strip_path": true,
    "output": "packer-template-ubuntu-updating-result.log",
    "type": "manifest"
    }]
    }
    • 其中:tenant_name、region、availability_zone、flavor、networks、floating_ip均为创建私有镜像时使用的云服务器的属性信息
  5. 镜像共享

    用户A获取用户B的项目ID之后,可以将指定的私有镜像共享给用户B。共享镜像可以分为批量镜像共享和单个镜像共享两种方式,用户可以按照需要进行选择。注意:共享镜像前,请确认私有镜像已清除敏感数据和文件。

    图6 共享镜像

资源命名规范

本章节提供了关于云上资源统一命名的参考。命名约定的使用,对客户在高效管理云上资源上非常重要。制定标准和一致的命名规范,能使客户在云上资源的成本分析、自动化、安全控制等方面的管理更加清晰和便捷。

  1. 命名原则:
    • 命名规则是可扩展的
    • 确保在一定范围内的命名是唯一的
    • 通过资源命名便于分类,譬如为监控、安全控制等提供可见性
      表4 计算资源命名规范

      华为云资源

      资源名规范

      Example

      Comment

      ECS

      ecs-{appname}-{apptype}-{env}

      ecs-adv-app-dev

      ecs-adv-cache-prod

      名称的长度为1~64位字符;支持中文字符、英文字母、数字及“_”、“-”、“.”。

      Image

      Img-{appname}-{apptype}-{env}

      ims-adv-app-dev

      名称的长度为1~128位字符;支持中文字符,英文字母,数字,特殊字符包含“_”、“-”、“.”、空格。名称的首尾字母不能为空格。

      EVS

      disk-{appname}-{env}

      ims-adv-dev

      名称的长度为1~255位字符;支持中文字符,英文字母,数字,特殊字符包含“_”、“-”、“.”、空格。

      Snapshot

      ss-{appname}- {env}-{datagenerated}

      ss-adv-dev-20220101

      名称的长度为1~255位字符;支持中文字符,英文字母,数字,特殊字符包含“_”、“-”、“.”、空格。

      AutoScaling

      as-{appname}-{env}

      as-adv-dev

      名称的长度为1~64位字符,只能包含中文、字母、数字、“_”、“-”。

      表5 网络资源命名规范

      华为云资源

      资源名规范

      Example

      Comment

      VPC

      vpc-{appname}-{env}

      vpc-adv-dev

      名称的长度为1~64位字符,只能包含中文、字母、数字、“_”、“-”、“.”。

      Subnet

      sn-{appname}-{env}-{SubnetType}

      sn-adv-dev–db

      • 1、子网类型:、app、elb、db、cache、web
      • 2、名称的长度为1~64位字符,只能包含中文、字母、数字、“_”、“-”、“.”。

      ELB

      elb-{appname}-{env}

      elb-adv-dev

      名称的长度为1~255位字符,只能包含中文、字母、数字、“_”、“-”、“.”。

      EIP

      eip-{appname}-{env}

      eip-adv-dev

      名称的长度为1~64位字符,只能包含中文、字母、数字、“_”、“-”、“.”。

      NAT

      nat-{appname}-{env}

      nat-adv-dev

      名称的长度为1~64位字符,只能包含中文、字母、数字、“_”、“-”、“.”。

      表6 存储资源命名规范

      华为云资源

      资源名规范

      Example

      Comment

      OBS

      obs-{ appname}-{env}

      obs-logs-dev

      1、名称的长度为1~64位字符,只能包含中文、小写字母、数字、“-”、“.”

      2、禁止两个英文句号(.)相邻,禁止英文句号(.)和中划线(-)相邻,禁止以英文句号(.)和中划线(-)开头或结尾

      3、禁止使用IP地址

      4、如果名称中包含英文句号(.),使用虚拟主机方式HTTPS访问OBS,会导致证书校验失败

相关文档