华为云用户手册

  • 建模步骤 创建代码模型图。 创建新的代码模型图或者在已有的代码模型图中进行画图设计,如果设计内容过多,可根据实际情况将内容进行拆分,创建多个代码模型图,在对应的代码模型图中去建立关系。 引用逻辑元素到代码模型。 在代码模型中不能创建新的逻辑元素,必须要从逻辑模型中引用到代码模型中,引用逻辑元素的操作方式有两种 方式一:直接从工程树上将逻辑元素节点拖入到打开的代码模型图中,选择Link方式。 方式二:在逻辑模型图中按Ctrl键多选或者框选多个逻辑元素Ctrl+C复制,然后再到代码模型中Ctrl+V粘贴,粘贴方式选择引用方式,可以保留嵌套组合的结构样式。 上述两种方式都可以将逻辑元素引用到代码模型图中,在代码模型中只需要引用需要建立映射关系的逻辑元素即可。 创建代码元素并与逻辑元素建立Manifest连线关系。 在步骤2中将逻辑元素引用到代码模型中后,再从工具箱中拖入代码仓元素,如果存在一个代码仓组下的多个代码仓元素,可以选代码仓组元素,将多个代码仓元素包含起来,如果具体模块对应的是代码仓中某一目录中的代码,则需要在对应的代码仓元素中创建Dir目录元素,再建立对应逻辑元素与代码元素的Manifest关系。
  • 概述 开发视图面向系统开发及软件管理,描述系统代码结构,构建结构的视图,主要解决系统技术实现和开发的问题,它依托逻辑视图,描述代码、构建结构。 模型类别 描述 代码模型(必选) 代码模型定义代码结构以及代码元素逻辑模型中逻辑元素的对应关系,建立逻辑元素到代码仓或者代码目录的映射关系,以实现软件源代码的显示管理。 构建模型(必选) 构建模型定义软件编译构建结构及工具链,构建模型建立代码到运行期文件的映射和追溯关系。 父主题: 开发视图
  • 概述 逻辑视图面向系统逻辑分析和设计,描述系统逻辑结构的视图,主要解决系统分析和设计的问题,它描述系统的业务上下文、系统的逻辑分解,以及分解出的逻辑元素间的关系。 模型类别 描述 逻辑模型(必选) 逻辑模型描述系统的逻辑功能模块分解,将系统分解为相应的逻辑功能元素,并描述各逻辑功能元素之间的关系。 数据模型(强数据场景必选) 数据模型定义系统的关键数据设计,包括关键数据结构设计、数据流,以及数据所有权等。 领域模型(可选) 领域模型描述业务域的概念及其关系,是立足于于业务域的分析模型,它通过业务问题域的分析和建模,抽象出领域概念,建立统一的业务语言,从而指导后续的架构设计工作。 功能模型(可选) 功能模型描述按功能分解出特性、功能组、功能元素,以及它们之间的依赖关系。 技术模型(必选) 技术模型定义系统采用的关键技术部件和技术栈,包括整体框架技术,公共机制,基础设施,公共服务/组件,以及各逻辑功能元素的技术方案等。 父主题: 逻辑视图
  • 概述 4+1视图是一组相关联模型的集合,从不同的视角,反映不同利益干系人的关注点。通过逻辑、开发、部署、运行4个典型视角描述系统的各个切面,以用例串接和验证各切面设计。 在架构设计说明书模板中的4+1架构视图模型结构如下图所示: 图1 4+1架构视图模型结构图 表1 视图类型与描述 视图类型 描述 逻辑视图 逻辑视图面向系统逻辑分析和设计,是描述系统逻辑结构的视图,主要解决系统分析和设计的问题,它描述系统的业务上下文、系统的逻辑分解,以及分解出的逻辑元素间的关系。 开发视图 开发视图面向系统开发及软件管理,是描述系统代码结构,构建结构的视图,主要解决系统技术实现和开发的问题,它依托逻辑视图,描述代码、构建结构。 运行视图 运行视图面向系统运行,是描述系统启动过程、运行期交互的视图,主要解决系统运行期交互,描述各可执行交付件在运行期的交互关系。 部署视图 部署视图面向系统部署,是描述系统的交付、安装、部署的视图,主要解决系统安装部署的问题,描述系统的交付、安装、部署关系。 用例视图 用例视图以用例作为驱动元素,驱动和验证其他四个视图的设计,用例视图不增加设计元素,仅增加用例作为输入,因此作为“+1”视图。 父主题: 4+1视图建模
  • 注册Kafka实例 如果选择Kafka实例未注册,单击“注册”,跳转到注册Kafka实例页面。 注册Kafka实例相关参数说明。 表2 参数说明 参数名称 说明 示例 Kafka实例 dms实例名称。 Kafka-01 打通DMS网络 打通Kafka实例和LTS服务的网络,用户LTS服务通过该网络发送转储数据。 - 用户名 如果Kafka实例开启了sasl认证,需要输入sasl认证的用户名。 DMS 密码 如果Kafka实例开启了sasl认证,需要输入sasl认证的密码。 - 单击“确定”,完成注册Kafka实例。
  • 场景示例:核对资源用量是否与实际相符 假设用户在2023/09/20 14:12:00创建了一个图规格为百万边的图实例,并在2023/09/20 16:52:20时刻将其删除。 图引擎服务(GES)流水账单 按需计费图引擎服务按秒计费,每一个小时整点结算一次费用,您可以在流水账单中核对每一个计费周期的信息是否和实际相符,具体如表 图规格(边数)费用流水账单所示。 表1 图规格(边数)费用流水账单 产品类型 图引擎服务 GES 产品 图规格(边数) 计费模式 按需 消费时间 2023/09/20 14:12:00 ~ 2023/09/20 16:52:20时段计费系统将生成3笔流水账单,对应每一个计费周期,分别如下: 2023/06/19 14:12:02 ~2023/06/19 15:00:00 2023/06/19 15:00:00 ~ 2023/06/19 16:00:00 2023/06/19 16:00:00 ~ 2023/06/19 16:52:20 官网价 官网价=使用量*单价 本例中,在第一个计费周期内图实例的使用量为2878秒,单价可在图引擎服务价格详情中查询,以6.25元/小时为例,那么官网价=(2878 ÷ 3600) 小时 * 6.25 元/小时 = 4.9965278 元。同理,您可以计算剩余计费周期内资源的官网价。 优惠金额 用户使用云服务享受折扣优惠如商务折扣、伙伴授予折扣以及促销优惠等减免的金额。基于官网价的优惠金额。 抹零金额 华为云产品 定价精度为小数点后8位(单位:元),因此在计费过程中会产生小数点后8位的资源使用费用。而在实际扣费时,仅扣除到小数点后2位,小数点后第3位到第8位部分金额会被舍弃,这种舍弃部分的金额称作抹零金额。 以第一个计费周期为例,抹零金额为:0.0065278 元 应付金额 应付金额=官网价-优惠金额-抹零金额 以第一个计费周期为例,假设优惠金额为0,那么应付金额=4.9965278 - 0 - 0.0065278 =4.99 元 图引擎服务(GES)明细账单 明细账单可以通过多维度展示客户账单的详细信息。一般通过设置统计维度为“按使用量”,统计周期为“按账期”来统计资源在某个月份的总开销,建议您核对表2所示的信息是否和实际相符。 表2 图规格(边数)费用明细账单 产品类型 图引擎服务 GES 产品 图规格(边数) 计费模式 按需 资源名称/ID 图实例的名称和ID 例如:ges-0001,70fd9db0-5e13-41af-8d2c-ee4a1858b13f 规格 图实例的规格(边数) 使用量类型 个 单价 按需计费模式为简单 定价 (使用量*单价)时提供单价信息,其他的定价(如EIP公网带宽的阶梯定价)等不提供单价。 按需计费GES属于简单定价,您可以在图引擎服务价格详情中查询单价。 单价单位 在图引擎服务价格详情中查询到的单价单位:元/GB/小时 使用量 按产品单价单位显示使用量,云硬盘的单价单位为元/GB/小时,因此使用量以小时为单位。例如:2023/04/08 10:09:06 ~ 2023/04/08 12:09:06时段总计使用量为2小时。 使用量单位 小时 官网价 官网价=使用量*单价 本例中,使用量为2小时,单价可在图引擎服务价格详情中查询,以6.25元/个/小时为例,那么官网价=2 * 6.25 = 12.50 元。 优惠金额 用户使用云服务享受折扣优惠如商务折扣、伙伴授予折扣以及促销优惠等减免的金额。基于官网价的优惠金额。 应付金额 用户使用云服务享受折扣优惠后需要支付的费用金额。
  • 续费相关的功能 包年/包月图实例续费相关的功能如表1所示。 表1 续费相关的功能 功能 说明 手动续费 包年/包月图实例从购买到被自动删除之前,您可以随时登录管理控制台为使用的图实例续费,以延长图实例的使用时间。 在一个包年/包月图实例生命周期的不同阶段,您可以根据需要选择一种方式进行续费,具体如图1所示。 图1 GES图实例生命周期 图规格从购买到图实例成功创建后,处于正常运行阶段,资源状态为“运行中”。 到期后,资源状态变为“已过期”。 到期未续费时,图实例首先会进入宽限期,宽限期到期后仍未续费,资源状态变为“已冻结”。 超过宽限期仍未续费将进入保留期,如果保留期内仍未续费,资源将被自动删除。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。
  • 计费项 图引擎服务的计费简单、易于预测,对您选择的图规格(边数)、数据存储空间和公网流量收费。 表1 GES计费项说明 计费项 计费说明 图规格(边数) 根据您选择的边数大小计费。 针对边数提供预付费实例和按需(小时)两种计费模式。 数据存储空间 GES的数据通过 对象存储服务 (OBS)上传或导出,存储计费按照OBS的计费规则,详情可参考对象存储服务价格详情。 公网流量 GES支持绑定公网IP,所需费用按照虚拟私有云(VPC)服务的EIP计费规则进行计费;GES在华为云内部网络产生的流量不计费。 图引擎服务计费详情及样例,请参见产品价格详情。您可以通过图引擎服务提供的价格计算器,选择您需要的图规格,快速计算出创建图的参考价格。
  • 适用计费项 以下计费项支持按需计费。 表1 适用计费项 计费项 计费说明 图规格(边数) 根据您选择的边数大小计费。 针对边数提供预付费实例和按需(小时)两种计费模式。 数据存储空间(可选) GES的数据通过对象存储服务(OBS)上传或导出,存储计费按照OBS的计费规则,详情可参考对象存储服务价格详情。 公网流量(可选) GES支持绑定公网IP,所需费用按照虚拟私有云(VPC)服务的EIP计费规则进行计费;GES在华为云内部网络产生的流量不计费。 公网带宽(可选) 按需计费图实例搭配“按带宽计费”的弹性公网IP时,带宽的计费模式同为按需计费。 假设您计划购买的图规格为百万边。在购买页面底部,您将看到所需费用,如图配置费用示例(不包括存储空间,公网流量和公网宽带)所示。 图1 配置费用示例 可单击一旁的“费用明细”进行查看,如下图所示: 图2 费用明细
  • 计费周期 按需计费图规格(边数)按秒计费,每一个小时整点结算一次费用(以UTC+8时间为准),结算完毕后进入新的计费周期。计费的起点以GES图实例创建成功的时间点为准,终点以图实例删除时间为准。 图实例创建成功需要一定时长,计费的起点是创建成功的时间点,而非创建时间。您可以在图引擎服务控制台看到图实例创建成功的时间点。 例如,您在8:45:30成功创建一个了按需计费的百万边的图,然后在8:55:30将其删除,则计费周期为8:00:00 ~ 9:00:00,在8:45:30 ~ 8:55:30间产生费用,该计费周期内的计费时长为600秒。
  • 计费示例 假设您在2023/04/18 9:59:30创建了按需计费的一个百万边图规格的图,然后在2023/04/18 10:45:46将其删除,则: 第一个计费周期为9:00:00 ~ 10:00:00,在9:59:30 ~ 10:00:00间产生费用,该计费周期内的计费时长为30秒。 第二个计费周期为10:00:00 ~ 11:00:00,在10:00:00 ~ 10:45:46间产生费用,该计费周期内的计费时长为2746秒。 您需要为每个计费周期付费,使用期间的对象存储服务(OBS),公网宽带等单独计费,计费公式如表2 计费公式所示。产品价格详情中标出了资源的每小时价格,您需要将每小时价格除以3600,得到每秒价格。 表2 计费公式 资源类型 计费公式 资源单价 图规格(边数) 实例图规格单价 * 计费时长 请参见图引擎服务器价格详情中的“规格价格”。 上述示例配置的费用计算如下: 按需计费一百万边图规格费用 =6.25 元/小时 * (( 30 + 2746 )/ 3600 )小时 = 4.81 元
  • 变更配置后对计费的影响 如果您在购买按需计费实例后变更了实例配置,会产生一个新订单并开始按新配置的价格计费,旧订单自动失效。 如果您在一个小时内变更了实例配置,将会产生多条计费信息。每条计费信息的开始时间和结束时间对应不同配置在该小时内的生效时间。 例如,您在9:00:00购买了按需计费的图规格为百万边的,并在9:30:00升级为千万边,那么在9:00:00 ~ 10:00:00间会产生两条计费信息。 第一条对应9:00:00 ~ 9:30:00,实例规格按照百万边计费。 第二条对应9:30:00 ~ 10:00:00,实例规格按照千万边计费。
  • 计费模式概述 图引擎服务提供包年/包月(实例按月/按年预付费)、按需计费两种计费模式,以满足不同场景下的用户需求。 包年/包月:一种预付费模式,即先付费再使用,按照订单的购买周期进行结算。购买周期越长,享受的折扣越大。一般适用于设备需求量长期稳定的成熟业务。 按需计费:一种后付费模式,即先使用再付费,按照图实例实际使用时长计费,秒级计费,按小时结算。按需计费模式允许您根据实际业务需求灵活地调整资源使用,无需提前预置资源,从而降低预置过多或不足的风险。一般适用于电商抢购等设备需求量瞬间大幅波动的场景。 表1列出了两种计费模式的区别。 表1 计费模式 计费模式 包年/包月 按需计费 付费方式 预付费 后付费 计费周期 按订单的购买周期计费。 秒级计费,按小时结算。 适用计费项 图规格(边数)、数据存储空间、和公网带宽费用 图规格(边数)、数据存储空间、和公网带宽费用 变更规格 支持变更图实例规格。 支持变更图实例规格。 适用场景 适用于可预估资源使用周期的场景,价格比按需计费模式更优惠。对于长期使用者,推荐该方式。 适用于计算资源需求波动的场景,可以随时开通,随时删除。 父主题: 计费模式
  • 创建委托 如下示例表示:为FuntionGraph赋予VPC Administrator权限,仅在授权区域生效。 按照如下参数设置委托,创建委托的具体步骤请参见如何创建委托。 登录 统一身份认证 服务( IAM )控制台。 在统一身份认证服务(IAM)的左侧导航窗格中,选择“委托”页签,单击右上方的“+创建委托”。 图1 创建委托 开始配置委托。 图2 填写基本信息 委托名称:serverless-trust。 委托类型:选择“云服务”。 云服务:选择“ 函数工作流 FunctionGraph”。 持续时间:选择“永久”。 描述:填写描述信息。 单击“下一步”,进入委托选择页面,在右方搜索框中搜索需要添加的权限并勾选。此处以添加VPC Administrator权限为例。 图3 选择策略 表2 委托权限示例 权限名称 使用描述/场景 VPC Administrator 虚拟私有云服务管理员。 单击“下一步”,选择权限的作用范围。 图4 根据业务需要选择对应的权限
  • 应用场景 若您在FunctionGraph服务中使用如下场景,请先创建委托。创建委托时授予的权限类型请您根据实际业务需要进行调整,比如前期您在开发阶段授予Admin权限,后期在生产环境中建议您调整为细粒度最小使用权限,保证业务所需权限的同时,也降低权限过大的风险。具体对应授权项参见表1 常见授权项选择进行选择。 表1 常见授权项选择 场景 Admin权限 细粒度最小使用权限 说明 使用 自定义镜像 SWR Administrator 暂不支持 SWR Admin: 容器镜像服务 (SWR)管理员,拥有该服务下的所有权限。 如何创建自定义镜像,请参见使用容器镜像部署函数。 挂载SFS文件系统 SFS Administrator 暂不支持 SFS Administrator:弹性文件服务(SFS)管理员,拥有该服务下的所有权限。 如何挂载SFS文件系统,请参见添加SFS容量型文件系统。 挂载sfs turbo文件系统 SFS Turbo ReadOnlyAccess sfsturbo:shares:getShare(查询单个文件系统详细信息) sfsturbo:shares:showFsDir(查询目录是否存在) SFS Turbo ReadOnlyAccess:弹性文件服务SFS Turbo的只读权限。 sfsturbo:shares:getShare:您拥有SFS服务下查询单个文件系统信息的权限。 sfsturbo:shares:showFsDir:您拥有SFS服务下查询目录是否存在的权限。 如何挂载挂载sfs turbo文件系统,请参见添加sfs turbo文件系统。 挂载E CS 共享目录 ECS ReadOnlyAccess ecs:cloudServers:get(查询云服务器详情) ECS ReadOnlyAccess:弹性云服务器的只读访问权限。 ecs:cloudServers:get:您拥有ECS服务下查询云服务器信息的权限。 如何挂载ECS共享目录,请参见添加ECS共享目录。 配置预留实例策略 AOM ReadOnlyAccess aom:metric:get(查询指标) aom:metric:list(查询指标列表) AOM ReadOnlyAccess: 应用运维管理 服务只读权限。 aom:metric:get:您拥有AOM服务下查询某个指标信息的权限。 aom:metric:list:您拥有AOM服务下查询指标列表详情的权限。 使用DIS触发器 DIS Administrator 暂不支持 数据接入服务 (DIS)管理员,拥有该服务下的所有权限。 如何创建DIS触发器,请参见使用DIS触发器。 使用DMS触发器 DMS ReadOnlyAccess dms:instance:get(查看实例详情信息) DMS ReadOnlyAccess:分布式消息服务只读权限。 dms:instance:get:您拥有DMS服务下查看实例详情信息的权限。 配置跨域VPC访问 VPC Administrator vpc:ports:get(查询端口) vpc:ports:create(创建端口) vpc:vpcs:get(查询VPC) vpc:subnets:get(查询子网) vpc:vips:delete(虚IP解绑VM) vpc:securityGroups:get(查询安全组列表或详情) 拥有VPC Administrator权限的用户可以对VPC内所有资源执行任意操作。在函数配置跨VPC访问时,则函数必须配置具备VPC管理权限的委托。 VPC细粒度最小使用权限:您拥有VPC服务下虚IP解绑VM、查询端口、创建端口、查询VPC、查询子网、查询安全组列表或详情的权限。 如何配置跨域VPC访问,请参见配置网络。 DNS 域名 解析 DNS ReadOnlyAccess dns:recordset:get(查询租户Record Set资源) dns:zone:get(查询租户zone) dns:recordset:list(查询Record Set列表) dns:zone:list(查询zone列表) DNS ReadOnlyAccess:云解析服务只读权限,拥有该权限的用户仅能查看云解析服务资源。在函数配置调用DNS服务的接口解析内网域名时,则函数必须具备读取DNS资源权限的委托。 DNS细粒度最小使用权限:您拥有DNS服务下查询租户Record Set资源列表和查询租户zone列表的权限。 如何调用DNS服务的接口解析内网域名,请参见解析DNS内网域名。 开启异步通知 目标服务为OBS时: OBS Administrator obs:bucket:HeadBucket(获取桶元数据) obs:bucket:CreateBucket(创建桶) obs:object:PutObject(PUT上传、POST上传、复制对象、追加写对象、初始化上传段任务、上传段、合并段) OBS Administrator:对象存储服务管理员,拥有该服务下的所有权限。 OBS细粒度最小使用权限:您拥有OBS服务下获取桶元数据、创建通、PUT上传、POST上传、复制对象、追加写对象、初始化上传段任务、上传段、合并段的权限。 如何配置异步通知请参见配置函数异步。 目标服务为 SMN 时: SMN Administrator smn:topic:publish(发布消息) smn:topic:list(查询主题列表) SMN Administrator: 消息通知 服务管理员,拥有该服务下的所有权限。 SMN细粒度最小使用权限:您拥有SMN服务下发布消息、查询主题列表的权限。 如何配置异步通知请参见配置函数异步。 目标服务为DIS时: DIS Administrator 暂不支持 DIS Administrator:数据接入服务管理员,拥有该服务下的所有权限。 如何配置异步通知请参见配置函数异步。
  • 函数监控指标 表1 FunctionGraph支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) count 调用次数 该指标用于统计函数调用次数。 单位:次 ≥ 0 counts 函数 5分钟 failcount 错误次数 该指标用于统计函数调用错误次数。 以下两种情况都会记入错误次数: 函数请求异常,导致无法执行完成且返回200。 函数自身语法错误或者自身执行错误。 单位:次 ≥ 0 counts 函数 5分钟 failRate 错误率 该指标用于统计函数调用错误次数在总调用次数中的占比率。 单位:% 0% ≤X≤ 100% 函数 5分钟 rejectcount 被拒绝次数 该指标用于统计函数调用被拒绝次数。 被拒绝次数是指并发请求太多,系统流控而被拒绝的请求次数。 单位:次 ≥ 0 counts 函数 5分钟 concurrency 并发数 该指标用于统计函数同时调用处理的最大并发请求个数。 单位:个 ≥ 0 counts 函数 5分钟 reservedinstancenum 预留实例个数 该指标用于统计函数配置的预留实例个数。 单位:个 ≥ 0 counts 函数 5分钟 duration 平均运行时间 该指标用于统计函数调用平均运行时间。 单位:毫秒 ≥ 0 ms 函数 5分钟 maxDuration 最大运行时间 该指标用于统计函数调用最大运行时间。 单位:毫秒 ≥ 0 ms 函数 5分钟 minDuration 最小运行时间 该指标用于统计函数最小运行时间。 单位:毫秒 ≥ 0 ms 函数 5分钟 systemErrorCount 系统错误次数 该指标用于统计函数请求异常,导致无法执行完成的错误次数。单位:次 ≥ 0counts 函数 5分钟 functionErrorCount 函数错误次数 该指标用于统计函数自身语法错误或者自身执行错误次数。单位:次 ≥ 0counts 函数 5分钟 payPerUseInstance 弹性实例个数 该指标用于统计函数使用的弹性实例个数。单位:个 ≥ 0 counts 函数 5分钟 表2 函数流支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) toalCount 调用次数 用于统计函数流调用次数。 单位:次 ≥ 0 counts 函数流 1分钟 errorCount 错误次数 该指标用于统计函数调用错误次数。 单位:次 ≥ 0 counts 函数流 1分钟 running 正在运行数量 该指标用于统计正在运行状态的函数流。 单位:个 ≥ 0 counts 函数流 1分钟 rejectCount 被拒绝次数 该指标用于统计函数流调用被拒绝次数。 单位:个 ≥ 0 counts 函数流 1分钟 averageDuration 平均运行时间 该指标用于统计函数流调用平均耗时。 单位:毫秒 ≥ 0 ms 函数流 1分钟
  • 使用限制 单账号跟踪的事件可以通过 云审计 控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的 CTS /system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到对象存储服务(OBS)或 云日志 服务(LTS),才可在OBS桶或LTS日志组里面查看历史事件信息。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 关闭操作 远程登录目标服务器。 华为云主机 您可以登录弹性云服务器控制台,在“弹性云服务器”列表中,单击“远程登录”登录主机,详细操作请参见在云服务器控制台上登录主机。 非华为云主机 请使用远程管理工具(例如:PuTTY、Xshell等)连接您服务器的弹性IP,远程登录到您的服务器。 在命令窗口执行关闭命令。 临时关闭 在命令窗口执行以下命令临时关闭SELinux。 setenforce 0 在重启系统后将恢复开启状态。 永久关闭 在目录窗口执行以下命令,编辑SELinux的config文件。 vi /etc/selinux/config 找到SELINUX=enforcing,按i进入编辑模式,将参数修改为SELINUX=disabled。 图1 编辑selinux状态 修改完成后,按下键盘Esc键,执行以下命令保存文件并退出。 :wq 执行永久关闭命令并保存退出后,执行以下命令立即重启服务器。 shutdown -r now 执行永久关闭的命令后不会立即生效,重启服务器后才会生效。 重启后运行以下命令,验证SELinux的状态为disabled,表明SELinux已关闭。 getenforce
  • 不同规格主机Agent资源占用一览 Agent运行时,不同规格的云服务器CPU、内存占用情况如表1所示。 表1 Agent资源占用一览 vCPUs规格 Agent运行占用CPU资源比例(峰值) 执行病毒查杀时,内存占用(峰值) 内存占用(峰值) 执行病毒查杀时,内存占用(均值) 1vCPUs 20% 50% 500MB 800MB 2vCPUs 10% 40% 500MB 800MB 4vCPUs 5% 35% 500MB 800MB 8vCPUs 2.5% 32.5% 500MB 800MB 12vCPUs 约1.67% 约31.67% 500MB 800MB 16vCPUs 约1.25% 约31.25% 500MB 800MB 24vCPUs 约0.84% 约30.84% 500MB 800MB 32vCPUs 约0.63% 约30.63% 500MB 800MB 48vCPUs 约0.42% 约30.42% 500MB 800MB 60vCPUs 约0.34% 约30.34% 500MB 800MB 64vCPUs 约0.32% 约30.32% 500MB 800MB
  • 内存占用峰值 Agent运行时,内存占用控制在500MB以内。如果Agent内存占用超过最大内存限制500MB,Agent会在5分钟内自动重启。 如果Agent正在执行病毒查杀任务,内存占用控制在均值800MB。关于病毒查杀的详细介绍请参见病毒查杀。 如果主机可用内存小于50MB,Agent会切换为“静默”状态。如果Agent内存占用超限重启,半小时达10次,Agent切换为“空载”状态;1小时达15次,Agent当天切换为“静默”状态。以下是状态说明: 空载状态:Agent所有防护功能关闭,可通过控制台执行升级、卸载操作。 静默状态:Agent所有防护功能关闭,不可通过控制台执行升级、卸载操作。 Agent后台状态可在Agent安装目录下的conf/framework.conf文件中查看“run_mode”字段。 如果需要将Agent恢复为正常状态,可按以下操作执行: 如果您开启了自保护策略,请先关闭自保护策略再执行以下操作。详细操作参考关闭自保护。 (可选)主机扩容。 主机可用内存小于50MB才需执行此操作。 修改Agent安装目录下的conf/framework.conf文件,将run_mode冒号后面的模式改为normal。 执行以下操作,删除记录重启次数的文件。 Linux:执行命令rm -f /usr/local/hostguard/run/restart.conf。 Windows:找到C:\Program Files\HostGuard\run\restart.conf并删除。 执行以下操作,重启Agent。 Linux:执行命令/etc/init.d/hostguard restart。 Windows: Agent为4.0.17及以下版本: 以管理员administrator权限登录主机。 打开“任务管理器”,选择“服务”页签。 选中Hostwatch,单击鼠标右键选择“停止”,等待状态改变为“已停止”后执行步骤4。 选择中Hostguard,单击鼠标右键选择“停止”。 选中Hostwatch,单击鼠标右键选择“开始”,完成重启。 启动Hostwatch后会自动拉起Hostguard。 Agent为4.0.18及以上版本: 以管理员administrator权限登录主机。 打开cmd命令提示符窗口,依次执行以下命令停止服务。 sc control hostwatch 198 sc control hostguard 198 如图 停止服务所示为正常现象,开启自保护的主机上不会生成sp_state.conf文件。 图1 停止服务 打开“任务管理器”,选择“服务”页签。 选中Hostwatch,单击鼠标右键选择“开始”,完成重启。 启动Hostwatch后会自动拉起Hostguard。
  • CPU占用峰值 Agent运行时,CPU占用控制在1vCPU的20%以内。因此,实际占用比例与您购买的云服务器规格有关,详见不同规格主机Agent资源占用一览。 如果CPU占用比例超过1vCPU的20%,Agent会自动降CPU;自动降CPU后,Agent检测主机时间会延长,但不影响服务使用。如果CPU占用比例超过1vCPU的25%,Agent将自动重启。 Agent定时检测任务会基于使用地时间在每日00:00-04:00执行,全量扫描主机,不会影响主机系统的正常运行。 如果Agent正在执行病毒查杀任务,病毒查杀程序会额外占用部分CPU,占用最多不超过多核的30%。关于病毒查杀的详细介绍请参见病毒查杀。
  • 什么是区域、可用区? 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。
  • 如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。不过,在基础设施、BGP网络品质、资源的操作与配置等方面,中国大陆各个区域间区别不大,如果您或者您的目标用户在中国大陆,可以不用考虑不同区域造成的网络时延问题。 在除中国大陆以外的亚太地区有业务的用户,可以选择“中国-香港”、“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“南非-约翰内斯堡”区域。 在欧洲地区有业务的用户,可以选择“欧洲-巴黎”区域。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
  • 解决措施 在任一集群节点执行如下操作,即可卸载容器集群防护插件。 登录任一集群节点。 在/tmp目录下新建plugin.yaml文件,并将如下脚本内容拷贝至plugin.yaml文件中。 apiVersion: v1 kind: Namespace metadata: labels: admission.gatekeeper.sh/ignore: no-self-managing control-plane: controller-manager gatekeeper.sh/system: "yes" pod-security.kubernetes.io/audit: restricted pod-security.kubernetes.io/audit-version: latest pod-security.kubernetes.io/enforce: restricted pod-security.kubernetes.io/enforce-version: v1.24 pod-security.kubernetes.io/warn: restricted pod-security.kubernetes.io/warn-version: latest name: gatekeeper-system --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: assign.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: assignimage.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: assignmetadata.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: configs.config.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: constraintpodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: constrainttemplatepodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.11.3 labels: gatekeeper.sh/system: "yes" name: constrainttemplates.templates.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: expansiontemplate.expansion.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: expansiontemplatepodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: modifyset.mutations.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.10.0 labels: gatekeeper.sh/system: "yes" name: mutatorpodstatuses.status.gatekeeper.sh --- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.11.3 labels: gatekeeper.sh/system: "yes" name: providers.externaldata.gatekeeper.sh --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: creationTimestamp: null labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-role namespace: gatekeeper-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: creationTimestamp: null labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-role --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-rolebinding namespace: gatekeeper-system roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: gatekeeper-manager-role subjects: - kind: ServiceAccount name: gatekeeper-admin namespace: gatekeeper-system --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-manager-rolebinding roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: gatekeeper-manager-role subjects: - kind: ServiceAccount name: gatekeeper-admin namespace: gatekeeper-system --- apiVersion: admissionregistration.k8s.io/v1 kind: MutatingWebhookConfiguration metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-mutating-webhook-configuration --- apiVersion: admissionregistration.k8s.io/v1 kind: ValidatingWebhookConfiguration metadata: labels: gatekeeper.sh/system: "yes" name: gatekeeper-validating-webhook-configuration 在/tmp目录下新建uninstall.sh文件,并将如下脚本内容拷贝至uninstall.sh文件中。 #!/bin/bash kubectl delete -f /tmp/plugin.yaml kubectl delete ns cgs-provider 执行如下命令卸载容器集群防护插件。 bash /tmp/uninstall.sh 回显如下图类似信息,表示插件卸载完成。
  • 处理办法 您可通过以下方式来改善被频繁暴破攻击的情况,降低风险: 配置SSH登录白名单 SSH登录白名单功能是防护账户破解的一个重要方式,配置后,只允许白名单内的IP登录到服务器,拒绝白名单以外的IP。详细操作请参见配置SSH登录IP白名单。 开启双因子认证 双因子认证功能是一种双因素身份验证机制,结合短信/邮箱验证码,对云服务器登录行为进行二次身份认证。 在“双因子认证”页面,勾选需要开启双因子的主机,单击“开启双因子认证”,开启双因子认证。详细操作请参见双因子认证。 修改默认端口 将默认的远程管理端口“22”、“3389”修改为不易猜测的其他端口。修改端口的操作请参见怎样修改远程登录的端口?。 设置安全组规则,限制攻击源IP访问您的服务端口 建议设置对外开放的远程管理端口(如SSH、远程桌面登录),只允许固定的来源IP进行连接。 您可以通过配置安全组规则来限制攻击源IP访问您的服务端口。如果是远程登录端口,您可以只允许特定的IP地址远程登录到弹性云服务器。 例:仅允许特定IP地址(例如,192.168.20.2)通过SSH协议访问Linux操作系统的弹性云服务器的22端口,安全组规则如下所示: 表1 仅允许特定IP地址远程连接云服务器 方向 协议应用 端口 源地址 入方向 SSH(22) 22 例如:192.168.20.2/32 设置安全强度高的口令 口令复杂度策略检测和弱口令检测可检测出主机系统中使用弱口令的账户,您可以在控制台查看并处理主机中的口令风险。
  • 服务器安装Agent后会访问哪些资源? 华为云服务器在安装Agent后通常情况会访问的设备、IP、端口如表1所示。 表1 新装Agent访问情况说明 源设备 源IP 源端口 目的设备 目的IP 目的端口(监听) 协议 访问说明 备注 HSS Agent Agent管理IP 随机 HSS服务端 HSS服务端-ip1 HSS服务端-ip2 10180 TCP HSS Agent访问HSS服务端节点,主要是获取服务器端下发的策略/配置/指令、下载Agent软件包/升级包、下载特征库、上报告警事件/资产指纹数据库/基线检查结果和在用户授权许可下上传可疑的可执行程序文件。 每个Region的HSS服务端IP地址不同,Agent通过域名访问,访问的域名格式为:hss-agent.{{REGION_ID}}.myhuaweicloud.com.REGION_ID,每个Region会有差异,每个Region的具体域名可以通过Agent安装指南中的安装命令看到HSS服务器域名地址。 元数据服务节点 元数据服务节点IP 80 HSS Agent获取Agent所在服务器的metadata信息,包括获取ECS的uuid、availability_zone、project_id和enterprise_project_id信息。 - 父主题: Agent相关
  • MySQL 在账户破解防护功能中,Linux系统支持MySQL软件的5.6和5.7版本,开启登录失败日志开关的具体的操作步骤如下: 使用root权限登录主机。 查询log_warnings值,命令如下: show global variables like 'log_warnings' 修改log_warnings值,命令如下。 set global log_warnings=2 修改配置文件。 Linux系统中,修改配置文件my.conf,在[MySQLd]中增加log_warnings=2。
  • 集群连接组件(ANP-Agent)安装失败 问题现象 在接入第三方云集群或自建集群过程中,执行以下命令查看集群连接组件(ANP-Agent)安装状态。 kubectl get pods -n hss | grep proxy-agent 界面回显如下所示,表示集群连接组件(ANP-Agent)安装失败。 proxy-agent-5dc5cf6cd7-khdlt 0/1 ImagePullBackOff 0 42h proxy-agent-5dc5cf6cd7-n56bx 0/1 Pending 0 42h
  • 日志保留周期 日志文件 日志描述 文件大小限制 路径下保留的文件 保留周期 hostwatch.log 记录守护进程运行时相关日志。 10MB 保留8个最新的日志文件。 不超过文件大小限制,只要不卸载HSS Agent,会一直保留日志信息。 hostguard.log 记录工作进程运行时相关日志。 10MB 保留8个最新的日志文件。 upgrade.log 记录版本升级时相关日志。 10MB 保留8个最新的日志文件。 hostguard-service.log 记录服务启动时相关日志(脚本)。 100kB 保留2个最新的日志文件。 config_tool.log 记录服务启动时相关日志(程序)。 10kB 保留2个最新的日志文件。 engine.log 记录服务退出时相关日志。 10kB 保留2个最新的日志文件。
  • 日志路径 您需要根据主机的操作系统,查看日志文件。 操作系统 日志所在路径 日志文件 Linux /var/log/hostguard/ hostwatch.log hostguard.log upgrade.log hostguard-service.log config_tool.log engine.log Windows C:\Program Files\HostGuard\log hostwatch.log hostguard.log upgrade.log
共100000条