华为云用户手册

  • 方式一:手动下载开发包使用GoLand新建工程并编译 以安装OBS Go SDK最新版本为例,步骤如下: 下载OBS Go SDK开发包。 解压该开发包,可以看到其中包含obs文件夹(SDK源码)、main文件夹和examples文件夹(示例代码)和README.MD(SDK版本特性描述文件)。 使用GoLand新建Go工程,将obs、examples、main文件夹拷贝至新建工程中的src文件夹下。 右键单击建好的Go工程,运行弹出菜单中的“Build Project”命令编译工程并等待编译完成。 编译成功后,您的目录结构应该像下面这样: ├── bin ├── pkg ├── src -----├── examples -----├── main -----└── obs └── README.MD
  • 准备访问密钥 OBS通过用户账号中的AK和SK进行签名验证,确保通过授权的账号才能访问指定的OBS资源。获取访问密钥前,请确保访问OBS的 IAM 子用户已开启编程访问,开启方式详见修改或查看IAM用户信息。以下是对AK和SK的解释说明: AK:Access Key ID,接入键标识,用户在 对象存储服务 系统中的接入键标识,一个接入键标识唯一对应一个用户,一个用户可以同时拥有多个接入键标识。对象存储服务系统通过接入键标识识别访问系统的用户。 SK:Secret Access Key,安全接入键,用户在对象存储服务系统中的安全接入键,是用户访问对象存储服务系统的密钥,用户根据安全接入键和请求头域生成鉴权信息。安全接入键和接入键标识一一对应。 访问密钥分永久访问密钥(AK/SK)和临时访问密钥(AK/SK和SecurityToken)两种。每个用户最多可创建两个有效的永久访问密钥。临时访问密钥只在设置的有效期内能够访问OBS,过期后需要重新获取。出于安全性考虑,建议您使用临时访问密钥访问OBS,或使用永久访问密钥访问OBS时,定期更新您的访问密钥(AK/SK)。两种密钥的获取方式如下。 永久访问密钥: 登录OBS控制台。 单击页面右上角的用户名,并选择“我的凭证”。 在“我的凭证”页面,单击左侧导航栏的“访问密钥”。 在“访问密钥”页面,单击“新增访问密钥”。 在弹出的“新增访问密钥”对话框中,输入登录密码和对应验证码。 用户如果未绑定邮箱和手机,则只需输入登录密码。 用户如果同时绑定了邮箱和手机,可以选择其中一种方式进行验证。 单击“确定”。 在弹出的“下载确认”提示框中,单击“确定”后,密钥会直接保存到浏览器默认的下载文件夹中。 打开下载下来的“credentials.csv”文件既可获取到访问密钥(AK和SK)。 每个用户最多可创建两个有效的访问密钥。 为防止访问密钥泄露,建议您将其保存到安全的位置。如果用户在此提示框中单击“取消”,则不会下载密钥,后续也将无法重新下载。如果需要使用访问密钥,可以重新创建新的访问密钥。 临时访问密钥: 临时AK/SK和SecurityToken是系统颁发给用户的临时访问令牌,通过接口设置有效期,范围为15分钟至24小时,过期后需要重新获取。临时AK/SK和SecurityToken遵循权限最小化原则。使用临时AK/SK鉴权时,临时AK/SK和SecurityToken必须同时使用。 获取临时访问密钥的接口请参考获取临时AK/SK和securitytoken。 OBS属于全局级服务,所以在获取临时访问密钥时,需要设置Token的使用范围取值为domain,表示获取的Token可以作用于全局服务,全局服务不区分项目或者区域。
  • 方案架构 系统升级时,开发人员第一次部署应用会创建出一组灰度负载,此时灰度负载中的系统版本为新版本,此时Service将部分流量转发至灰度负载上,由测试人员在灰度负载中进行版本验证。版本验证结束后,开发人员开始第二次部署应用升级现网服务,此时Service将全部流量转发至灰度负载上并升级现网服务,现网服务升级到最新版本后,Service将全部流量转发回现网负载并释放灰度负载,完成新系统的发布。 图1 灰度发布原理
  • 前提条件 已有可用项目,如果没有,请先新建 CodeArts 项目。 具有创建应用的权限,参考权限管理。 服务包含以下资源,并定义为v1版本: 已有CCE集群,示例:cce-demo; CCE集群中已创建无状态工作负载,示例:deployment-doc; CCE集群中已创建服务,示例:service-doc; CCE集群中已创建路由,示例:ingress-doc; CCE集群中已安装nginx-ingress插件。
  • 适用场景 包年/包月计费模式需要用户预先支付一定时长的费用,适用于长期、稳定的业务需求。以下是一些适用于包年/包月计费模式的业务场景: 稳定业务需求:对于长期运行且资源需求相对稳定的业务,如企业官网、在线商城、博客等,包年/包月计费模式能提供较高的成本效益。 长期项目:对于周期较长的项目,如科研项目、大型活动策划等,包年/包月计费模式可以确保在整个项目周期内资源的稳定使用。 业务高峰预测:如果能预测到业务高峰期,如电商促销季、节假日等,可提前购买包年/包月资源以应对高峰期的需求,避免资源紧张。 数据安全要求高:对于对数据安全性要求较高的业务,包年/包月计费模式可确保资源的持续使用,降低因资源欠费而导致的数据安全风险。
  • 计费周期 包年/包月GeminiDB Mongo实例的计费周期是根据您购买的时长来确定的(以UTC+8时间为准)。一个计费周期的起点是您开通或续费资源的时间(精确到秒),终点则是到期日的23:59:59。 例如,如果您在2023/03/08 15:50:04购买了一台时长为一个月的GeminiDB Mongo实例,那么其计费周期为:2023/03/08 15:50:04 ~ 2023/04/08 23:59:59。
  • 计费示例 假设您在2023/03/08 15:50:04购买了一个包年/包月GeminiDB Mongo实例(规格:4 vCPUs 16GB,节点数量:3,存储空间:100GB,备份空间:110GB(赠送100GB,后续收费空间10GB)),计费资源包括实例规格(vCPU、内存、节点数量)、存储空间、备份空间、公网带宽。购买时长为一个月,并在到期前手动续费1个月,则: 第一个计费周期为:2023/03/08 15:50:04 ~ 2023/04/08 23:59:59 第二个计费周期为:2023/04/08 23:59:59 ~ 2023/05/08 23:59:59 2023/04/08 23:59:59~2023/05/01 23:59:59期间,使用免费备份空间50GB。 2023/05/01 23:59:59~2023/05/08 23:59:59期间,使用计费备份空间10GB,计费时长168小时。 您需要为每个计费周期预先付费,各项GeminiDB Mongo资源单独计费,计费公式如表2所示。 表2 计费公式 资源类型 计费公式 资源单价 实例规格(vCPU和内存) 实例规格单价 * 购买时长 * 节点数量 请参见云数据库 GeminiDB价格详情中的“集群-规格费用”。 存储空间 存储空间单价 * 购买时长 * 存储空间(GB) 请参见云数据库 GeminiDB价格详情中的“集群磁盘空间计费信息”。 备份空间 备份空间单价 *计费时长 * ( 备份空间 - 存储空间)(GB) 说明: 计费时长:备份超过免费空间大小的使用时长。 请参见云数据库 GeminiDB价格详情中的“备份空间计费信息”。 公网带宽 按固定带宽值计费 请参见弹性公网IP价格详情。 图2给出了上述示例配置的费用计算过程。 图中价格仅供参考,实际计算请以云数据库 GeminiDB价格详情中的价格为准。 图2 包年/包月GeminiDB Mongo费用计算示例
  • 到期后影响 图3描述了包年/包月GeminiDB Mongo实例各个阶段的状态。购买后,在计费周期内实例正常运行,此阶段为有效期;实例到期而未续费时,将陆续进入宽限期和保留期。 图3 包年/包月GeminiDB Mongo实例生命周期 到期预警 包年/包月GeminiDB Mongo实例在到期前第7天内,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到华为云账号的创建者。 到期后影响 当您的包年/包月GeminiDB Mongo实例到期未续费,首先会进入宽限期,实例状态变为“已过期”。宽限期内您可以正常访问GeminiDB Mongo实例,但以下操作将受到限制: 变更实例规格 包年/包月转按需 退订 如果您在宽限期内仍未续费包年/包月GeminiDB Mongo实例,那么就会进入保留期,实例状态变为“已冻结”,您将无法对处于保留期的包年/包月资源执行任何操作。 保留期到期后,如果包年/包月GeminiDB Mongo实例仍未续费,那么实例将被释放,数据无法恢复。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。
  • 适用计费项 包年包月包含以下计费项。 表1 适用计费项 计费项 说明 实例规格 对所选的实例规格进行计费,包括vCPU和内存。 存储空间 对数据库存储空间进行计费,包年包月计费方式的存储空间如果超过当前容量,超出的部分将按需计费。 备份空间 GeminiDB Mongo提供了部分免费存储空间,用于存放您的备份数据,其总容量为您购买存储容量的100%。 备份存储用量超过购买存储容量的100%,超出部分将按照备份计费标准收费,计费方式为按需计费(每小时扣费一次),不足一小时按照实际使用时长收费。 公网带宽(可选) GeminiDB Mongo实例支持公网访问,公网访问会产生带宽流量费;GeminiDB Mongo数据库实例在云内部网络产生的流量不计费。 假设您计划购买一个规格为4vCPUs 16GB,3个节点,存储空间容量为12GB的GeminiDB Mongo实例。在购买数据库实例页面底部,您将看到所需费用的明细(不包含备份空间费用),如图1所示。 图1 配置费用 配置费用将包括以下部分: 数据库实例:根据所选实例规格计算的费用。 数据库存储:对数据库存储空间进行计费。 备份空间费用,使用后按照统一标准计费,购买时不包含在配置费用中,可通过云数据库 GeminiDB价格详情查看。
  • 变更配置后对计费的影响 当前包年/包月GeminiDB Mongo实例的规格不满足您的业务需要时,您可以在控制台发起变更规格操作,变更时系统将按照如下规则为您计算变更费用: 实例升配:新配置价格高于老配置价格,此时您需要支付新老配置的差价。 实例降配:新配置价格低于老配置价格,此时华为云会将新老配置的差价退给您。 实例降配会影响云数据库性能,通常不建议您这样操作。这里以资源升配且无任何优惠的场景为例,假设您在2023/04/08购买了一个包年/包月GeminiDB Mongo实例(4vCPUs 16GB 3节点),购买时长为1个月,计划在2023/04/18变更规格为8vCPUs 32GB 3节点。旧配置价格为3130.00 元/月,新配置价格为6010.00 元/月。计算公式如下: 升配费用=新配置价格*剩余周期-旧配置价格*剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。本示例中,剩余周期=12(4月份剩余天数)/ 30(4月份最大天数)+ 8(5月份剩余天数)/ 31(5月份最大天数)=0.6581,代入公式可得升配费用=6100*0.6581-3130*0.6581=1895.33(元) 更多信息请参见变更资源规格费用说明。
  • 步骤3:用户登录并验证权限 用户创建完成后,可以使用新用户的用户名及身份凭证登录华为云验证权限,即“GeminiDB ReadOnlyAccess”权限。更多用户登录方法请参见用户登录华为云方法。 在华为云登录页面,单击右下角的“IAM用户登录”。 在“IAM用户登录”页面,输入账号名、用户名及用户密码,使用新创建的用户登录。 账号名为该IAM用户所属华为账号的名称。 用户名和密码为账号在IAM创建用户时输入的用户名和密码。 如果登录失败,您可以联系您的账号主体,确认用户名及密码是否正确,或是重置用户名及密码,重置方法请参见忘记IAM用户密码。 登录成功后,进入华为云控制台,请先切换至授权区域。 图13 切换至授权区域 在“服务列表”中选择GeminiDB Mongo接口,进入主界面,单击右上角“购买数据库实例”,如果提示权限不足,表示“GeminiDB ReadOnlyAccess”已生效。 在“服务列表”中选择除GeminiDB Mongo接口服务外的任一服务,如“弹性云服务器”,如果提示权限不足,表示“GeminiDB ReadOnlyAccess”已生效。
  • 计费示例 假设您在2023/04/18 9:59:30购买了一个按需计费实例(规格:4vCPUs 16GB,节点数量:3,存储容量:100GB,备份存储:110GB(赠送100GB,后续收费空间10GB)),计费资源包括计算资源(vCPU和节点数量)和存储容量,然后在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秒。 10:00:00 ~ 10:45:00期间,使用免费备份空间。 10:45:00 ~ 10:45:46期间,使用计费备份空间10GB,计费时长46秒。 您需要为每个计费周期付费,各项GeminiDB Mongo实例单独计费,计费公式如表2所示。产品价格详情中标出了实例的每小时价格,您需要将每小时价格除以3600,得到每秒价格。 表2 计费公式 资源类型 计费公式 资源单价 计算资源(vCPU和节点数量) 实例规格单价 * 计费时长 请参见云数据库 GeminiDB价格详情中的“集群-规格费用”。 存储容量 存储容量单价 * 购买时长 请参见云数据库 GeminiDB价格详情中的“集群磁盘空间计费信息”。 备份空间 备份空间单价 * 计费时长 * ( 备份容量 - 存储空间)(GB) 说明: 计费时长:备份超过免费空间大小的使用时长。 请参见云数据库 GeminiDB价格详情中的“备份空间计费信息。 公网流量 按固定带宽值采用阶梯计费 0Mbit/s~5Mbit/s(含):均为一个统一的单价 大于5Mbit/s:按每Mbit/s计费 请参见弹性 云服务器价格 详情中的“带宽价格”,或者弹性公网IP价格详情。 图2给出了上述示例配置的费用计算过程。 图中价格仅供参考,实际计算请以云数据库 GeminiDB价格详情中的价格为准。 在按需付费模式下,价格计算器上的金额如果遇小数点,则保留小数点后两位,第三位四舍五入。如遇四舍五入后不足¥0.01,则按¥0.01展示。 图2 按需计费GeminiDB Mongo费用计算示例
  • 变更配置后对计费的影响 如果您在购买按需计费实例后变更了实例配置,会产生一个新订单并开始按新配置的价格计费,旧订单自动失效。 如果您在一个小时内变更了实例配置,将会产生多条计费信息。每条计费信息的开始时间和结束时间对应不同配置在该小时内的生效时间。 例如,您在9:00:00购买了一台按需计费实例,实例规格为 4vCPUs 16GB,并在9:30:00升配为 8vCPUs 32GB,那么在9:00:00 ~ 10:00:00间会产生两条计费信息。 第一条对应9:00:00 ~ 9:30:00,实例规格按照 4vCPUs 16GB计费。 第二条对应9:30:00 ~ 10:00:00,实例规格按照 8vCPUs 32GB计费。
  • 计费周期 按需计费GeminiDB Mongo实例按秒计费,每一个小时整点结算一次费用(以GMT+8时间为准),结算完毕后进入新的计费周期。计费的起点以GeminiDB Mongo实例创建成功的时间点为准,终点以实例删除时间为准。 实例从创建到启动需要一定时长,计费的起点是创建成功的时间点,而非开始创建的时间。您可以在实例详情页“基本信息”页签查看这个时间,创建成功的时间点对应界面上的“创建时间”。 例如,您在8:45:30购买了一个按需计费的GeminiDB Mongo实例,相关资源包括计算资源(vCPU和节点数量)、存储容量和备份存储,然后在8:55:00将其删除,则计费周期为8:00:00 ~ 9:00:00,在8:45:30 ~ 8:55:30间产生费用,该计费周期内的计费时长为600秒。
  • 适用计费项 按需计费包含以下计费项。 表1 适用计费项 计费项 说明 实例规格 对所选的实例规格进行计费,包括vCPU和内存。 存储空间 对数据库存储空间进行计费,按需计费的存储空间费用按照实际使用量每小时计费。 备份空间 GeminiDB Mongo提供了部分免费存储空间,用于存放您的备份数据,其总容量为您购买存储容量的100%。 备份存储用量超过购买存储容量的100%,超出部分将按照备份计费标准收费,计费方式为按需计费(每小时扣费一次),不足一小时按照实际使用时长收费。 公网带宽(可选) GeminiDB Mongo实例支持公网访问,公网访问会产生带宽流量费;GeminiDB Mongo数据库实例在云内部网络产生的流量不计费。 假设您计划购买一个规格为4vCPUs 16GB,3个节点,存储空间容量为100GB的GeminiDB Mongo实例。在购买数据库实例页面底部,您将看到所需费用的明细(不包含备份空间费用),如图1所示。 图1 配置费用 配置费用将包括以下部分: 云数据库虚拟机:根据所选配置(包括vCPU和内存)计算的费用。 云数据库存储空间:根据所选存储空间计算的费用。 备份空间费用,使用后按照统一标准计费,购买时不包含在配置费用中,可通过云数据库 GeminiDB价格详情查看。
  • 操作步骤 获取安装包。 进入官网下载链接地址:https://www.mongodb.com/download-center#community。 在“Version”中选择“4.0.27”,在“Platform”中选择“RedHat/CentOS 7.0 ”(Platform要与弹性云服务器的操作系统版本保持一致),在“Package”中选择“tgz”。如图1所示。 图1 MongoDB官网页面 单击“Download”下载4.0.27版本的二进制安装包,安装包名称为“mongodb-linux-x86_64-rhel70-4.0.27.tgz”。 将安装包上传到弹性云服务器上。 创建并登录弹性云服务器,请参见购买弹性云服务器和登录弹性云服务器。 在弹性云服务器上,解压安装包。 tar zxvf mongodb-linux-x86_64-rhel70-4.0.27.tgz 进入安装包的“bin”文件夹下,获取客户端工具。 cd mongodb-linux-x86_64-rhel70-4.0.27/bin 其中,常用工具包含如下: MongoDB客户端mongo。 数据导出工具mongoexport。 数据导入工具mongoimport。 使用客户端工具前,需要对工具赋予执行权限。 执行chmod +x mongo,赋予连接实例的权限。 执行chmod +x mongoexport,赋予导出数据的权限。 执行chmod +x mongoimport,赋予导入数据的权限。 客户端安装成功后,您可以通过客户端连接实例。 连接副本集实例,请参见通过内网连接副本集实例。 注:如果执行MongoDB客户端时出现类似无法找到libcrypto.so.10的错误,请检查您下载的客户端是否与弹性云服务器操作系统匹配。
  • 使用须知 mongoexport和mongoimport工具仅支持全量数据迁移。为保障数据一致性,迁移操作开始前请停止源数据库的相关业务,并停止数据写入。 建议您尽量选择在业务低峰期迁移数据,避免在迁移过程中对业务造成影响。 不支持迁移系统库admin和local。 确保源库中系统库admin和local没有创建业务集合,如果已经有业务集合,必须在迁移前将这些业务集合从admin和local库中迁移出来。 导入数据之前,确保源端有必要的索引,即在迁移前删除不需要的索引,创建好必要的索引。 如果选择迁移分片集群,必须在目标库创建好要分片的集合,并配置数据分片。同时,迁移前必须要创建好索引。
  • 前提条件 准备弹性云服务器或可访问GeminiDB Mongo 数据库的设备。 通过内网连接GeminiDB Mongo数据库实例,需要创建并登录弹性云服务器,请参见购买弹性云服务器和登录弹性云服务器。 通过公网地址连接GeminiDB Mongo数据库实例,需具备以下条件。 为实例中的节点绑定公网地址,如何绑定公网地址,请参见绑定弹性公网IP。 保证本地设备可以访问GeminiDB Mongo 数据库绑定的公网地址。 在已准备的弹性云服务器或可访问GeminiDB Mongo 数据库的设备上,安装数据迁移工具。 安装数据迁移工具,请参见如何安装MongoDB客户端。 MongoDB客户端会自带mongoexport和mongoimport工具。
  • 前提条件 准备弹性云服务器或可访问GeminiDB Mongo 的设备。 通过内网连接GeminiDB Mongo 数据库实例,需要创建并登录弹性云服务器,请参见购买弹性云服务器和登录弹性云服务器。 通过公网地址连接GeminiDB Mongo数据库实例,需具备以下条件。 为实例中的节点绑定公网地址,如何绑定公网地址,请参见绑定弹性公网IP。 保证本地设备可以访问GeminiDB Mongo 数据库绑定的公网地址。 在已准备的弹性云服务器或可访问GeminiDB Mongo 的设备上,安装数据迁移工具。 安装数据迁移工具,请参见如何安装MongoDB客户端。 MongoDB客户端会自带mongodump和mongorestore工具。 MongoDB客户端版本须和实例相匹配,若版本不匹配则会有兼容性问题出现。
  • 使用须知 mongodump和mongorestore工具仅支持全量数据迁移。为保障数据一致性,迁移操作开始前请停止源数据库的相关业务,并停止数据写入。 建议您尽量选择在业务低峰期迁移数据,避免在迁移过程中对业务造成影响。 不支持迁移系统库admin和local。 确保源库中系统库admin和local没有创建业务集合,如果已经有业务集合,必须在迁移前将这些业务集合从admin和local库中迁移出来。 导入数据之前,确保源端有必要的索引,即在迁移前删除不需要的索引,创建好必要的索引。 如果选择迁移分片集群,必须在目标库创建好要分片的集合,并配置数据分片。同时,迁移前必须要创建好索引。 如果使用mongodump工具备份失败(示例:备份进度至97%时报错),建议您尝试增大虚拟机磁盘空间,预留部分冗余空间,再重新执行备份。 客户侧使用的是rwuser账号,仅支持操作客户业务库表。所以,在使用时建议指定库和表,仅对业务数据执行导入导出。不指定库表,全量进行导入导出,可能会遇到权限不足的问题。
  • 连接方式介绍 GeminiDB Mongo副本集实例支持通过内网和公网的方式连接。 表1 连接方式 连接方式 使用场景 说明 内网连接 系统默认提供内网IP地址。 当应用部署在弹性云服务器上,且该弹性云服务器与数据库实例处于同一区域、同一VPC内时,建议使用内网IP通过弹性云服务器连接数据库实例。 安全性高,可实现数据库实例的较好性能。 公网连接 不能通过内网IP地址访问数据库实例时,使用公网访问,建议单独绑定弹性公网IP连接弹性云服务器(或公网主机)与数据库实例。 降低安全性。 为了获得更快的传输速率和更高的安全性,建议您将应用迁移到与您的数据库实例在同一VPC子网内,使用内网连接。 用户需要购买弹性公网IP,请参见弹性公网IP计费说明。 。 父主题: 连接副本集实例
  • 使用须知 目标实例必须与弹性云服务器在同一个虚拟私有云和子网内才能访问。 该弹性云服务器必须处于目标实例所属安全组允许访问的范围内。 如果目标实例所属安全组为默认安全组, 则无需设置安全组规则。 如果目标实例所属安全组非默认安全组,请查看安全组规则是否允许该弹性云服务器访问。 如果安全组规则允许弹性云服务器访问,即可连接实例。 如果安全组规则不允许弹性云服务器访问,需要在实例安全组添加一条入方向的访问规则。具体操作请参考设置安全组规则。
  • 典型应用 游戏场景 兼容MongoDB协议,游戏应用可以将一些游戏数据,如用户装备、用户积分等存储其中。游戏玩家活跃高峰期,对并发能力要求较高,可以快速灵活添加计算节点以应对高并发场景。 优势: 灵活 游戏开服6小时内需多次扩容,GeminiDB Mongo计算节点增加,扩容性能倍数提升,可灵活轻松应对。 数据恢复快 表级时间点恢复,支持游戏快速回档。 稳定扩容 扩容期间性能稳定,不影响游戏体验。
  • general/hwsecurity/cybersecurity三种类型的差异 检查项类型 检查项名称 检查内容 general hwsecurity cybersecurity 是否默认满足 初始配置 文件系统配置 应当对系统关键目录进行分区挂载 - - - 否 确保禁用不需要的文件系统 - - - 否 确保无需修改的分区以只读方式挂载 - - - 否 确保无需挂载设备的分区以nodev方式挂载 - - - 否 确保无可执行文件的分区以noexec方式挂载 - - - 否 确保无需SUID和SGID的分区以nosuid方式挂载 - - - 否 避免使用USB存储 √ - - 是 软件服务配置 禁止安装X Window系统 - - - 是 禁止启用debug-shell服务 √ - - 是 禁止启用rsync服务 √ - - 是 禁止启用avahi服务 √ √ - 是 禁止启用SNMP服务 √ √ - 是 禁止启用squid服务 √ √ - 是 避免启用samba服务 √ √ - 是 禁止启用FTP服务 √ √ - 是 禁止启用TFTP服务 √ √ - 是 禁止启用DNS服务 √ - - 是 禁止启用NFS服务 √ √ - 是 禁止启用rpcbind服务 √ √ √ 否 禁止启用LDAP服务 √ √ - 是 禁止启用DHCP服务 √ √ - 是 禁止安装CUPS服务软件 - - - 是 禁止安装NIS服务软件 - - - 是 禁止安装telnet软件 - - - 是 禁止安装NIS客户端 - - - 是 禁止安装LDAP客户端 - - - 是 禁止安装调测类工具 - - - 是 禁止安装开发编译类工具 - - - 是 禁止安装网络嗅探类工具 - - - 是 软件升级配置 确保配置GPG公钥 - - - 是 确保配置启用gpgcheck - - - 是 确保配置软件仓库源 - - - 是 文件完整性检查 确保安装AIDE - - - 否 应当定期检查文件完整性 - - - 否 通用进程加固 确保启用ASLR √ - - 是 确保core dump配置正确 √ - - 是 应当合理限制用户可打开文件数量 - - - 否 确保链接文件保护配置正确 √ - - 是 确保dmesg访问权限配置正确 √ √ - 否 确保内核符号地址受限访问 √ √ - 是 应当合理限制进程ptrace能力 - - - 否 禁止全局加解密策略配置为LEGACY - - - 是 系统服务 时间同步服务 应当正确配置ntpd服务 - - - 否 应当正确配置chronyd服务 - - - 是 定时任务服务 确保cron服务正常运行 √ - - 是 确保cron配置权限正确 √ √ - 否 SSH服务 确保/etc/ssh/sshd_config权限配置正确 √ √ - 是 确保SSH私钥文件权限配置正确 √ √ √ 否 确保SSH公钥文件权限配置正确 √ √ √ 否 确保启用IgnoreRhosts √ - - 是 应当合理配置认证黑白名单 - - - 否 确保SSH使能PAM认证 √ - - 是 禁止SSH root登录 - - √ 否 禁止SSH空口令登录 √ - - 是 禁止使用HostbasedAuthentication √ - - 是 确保配置Warning Banner文件路径 √ √ - 否 确保正确配置SSH日志级别 √ √ - 是 应当配置SSH服务侦听IP - - - 否 应当正确配置SSH并发未认证连接数 √ - - 否 禁止使用X11Forwarding √ √ - 否 应当配置SSH MaxSessions不超过10 √ - - 是 应当正确配置MaxAuthTries √ - - 否 禁止使用PermitUserEnvironment √ - - 是 应当配置LoginGraceTime不超过60秒 √ √ - 否 确保配置空闲超时间隔时间 √ √ - 否 禁止使用AllowTcpForwarding √ √ - 否 确保SSH KexAlgorithms配置强算法 √ √ - 是 确保SSH MACs配置强算法 √ √ - 是 确保SSH Ciphers配置强算法 √ √ - 是 禁止配置SSH将弃用的选项 √ - - 是 网络服务 禁用不使用的网络协议和设备 避免使用不常见网络协议 - - - 否 避免使用无线网络 - - - 是 内核网络协议栈 禁止系统响应ICMP广播报文 √ √ - 是 禁止接收ICMP重定向报文 √ √ - 否 禁止转发ICMP重定向报文 √ - - 是 应当忽略所有ICMP请求 - - - 否 确保忽略伪造的ICMP报文 √ - - 是 确保启用反向地址过滤 √ √ - 否 禁止IP转发 √ √ - 是 禁止接收源路由报文 √ √ - 否 确保启用TCP-SYN cookie保护 √ √ - 是 应当启用日志记录可疑的网络包 √ - - 否 避免启用tcp_timestamps - - - 否 确保TIME_WAIT TCP协议等待时间已配置 √ - - 是 应当合理配置SYN_RECV状态队列数量 - - - 否 禁止使用ARP代理 - - - 是 防火墙配置 配置firewalld服务 应当启用firewalld服务 - - - 是 确保iptables未启用 - - - 是 确保nftables未启用 - - - 是 应当配置正确的默认区域 - - - 否 应当确保网络接口绑定正确区域 - - - 否 避免开启不必要的服务和端口 - - - 否 配置iptables服务 应当启用iptables服务 - - - 否 确保firewalld未启用 - - - 否 确保nftables未启用 - - - 是 应当正确配置iptables默认拒绝策略 - - - 否 应当正确配置iptables loopback策略 - - - 否 应当正确配置iptables INPUT策略 - - - 否 应当正确配置iptables OUTPUT策略 - - - 否 应当正确配置iptables INPUT、OUTPUT关联策略 - - - 否 配置nftables服务 应当启用nftables服务 - - - 否 确保iptables未启用 - - - 是 确保firewealld未启用 - - - 否 应当配置nftables默认拒绝策略 - - - 否 应当配置nftables loopback策略 - - - 否 应当正确配置nftables input策略 - - - 否 应当正确配置nftables output策略 - - - 否 应当正确配置nftables input、output关联策略 - - - 否 日志审计 auditd 确保auditd审计已启用 √ - - 是 应当在启动阶段启用auditd - - - 否 应当正确配置audit_backlog_limit - - - 否 确保配置单个日志大小限制 - - - 是 确保审计日志rotate已启用 - - - 否 确保审计日志不被自动删除 - - - 是 应当合理配置磁盘空间阈值 - - - 是 避免配置审计日志限速阈值过小 - - - 是 应当配置sudoers审计规则 - √ √ 否 应当配置登录审计规则 - - - 是 应当配置会话审计规则 - - - 是 应当配置时间修改审计规则 - √ √ 否 应当配置SELinux审计规则 - - - 否 应当配置网络环境审计规则 - - √ 否 应当配置文件访问控制权限审计规则 - - - 否 应当配置文件访问失败审计规则 - - - 否 应当配置文件删除审计规则 - - - 否 应当配置账号信息修改审计规则 - √ √ 否 应当配置文件系统挂载审计规则 - - - 否 应当配置提权命令审计规则 - - - 否 应当配置内核模块变更审计规则 - - - 是 应当配置修改sudo日志文件审计规则 - - - 否 rsyslog 确保rsyslog服务已启用 √ √ √ 否 确保系统认证相关事件日志已记录 - - - 是 确保cron服务日志已记录 √ - - 是 应当正确配置各服务日志记录 - - - 是 应当正确配置rsyslog默认文件权限 √ √ √ 否 确保rsyslog日志rotate已配置 - - - 否 应当配置发送日志到远程日志服务器 - - - 否 应当仅在指定的日志主机上接收远程rsyslog消息 - - - 否 确保rsyslog转储journald日志已配置 - - - 否 账号与口令管理 账号管理 禁止无需登录的账号拥有登录能力 - - - 否 禁止存在不使用的账号 - - - 否 应当正确设置账号有效期 - - - 否 禁止存在UID为0的非root账号 - - - 是 确保UID唯一 - - - 是 确保GID唯一 - - - 是 确保账号名唯一 - - - 是 确保组名唯一 - - - 是 确保/etc/passwd中的组都存在 - - - 是 确保账号拥有自己的Home目录 - - - 是 确保账号Home目录权限是750或更严格 - - - 是 避免账号Home目录下存在.forward文件 - - - 是 避免账号Home目录下存在.netrc文件 - - - 是 确保用户PATH变量被严格定义 - - - 是 口令管理 确保配置口令复杂度 √ √ √ 否 确保限制重用历史口令次数 √ √ √ 否 确保口令中不包含账号字符串 - - - 是 确保口令使用SHA512算法加密 √ √ √ 否 确保口令过期时间设置正确 √ √ √ 否 确保口令过期告警时间设置正确 √ √ - 是 应当设置口令修改周期设置正确 √ √ √ 否 确保不活跃口令锁定时间不超过30天 √ - - 是 确保Grub已设置口令保护 - - - 是 确保单用户模式已设置口令保护 - - - 是 身份认证 登录管理 确保登录失败一定次数后锁定账号 √ √ √ 否 避免root用户本地接入系统 - - - 否 确保会话超时时间设置正确 √ √ √ 否 确保Warning Banner包含合理的信息 确保本地登录Warning Banner包含合理的信息 √ √ - 否 确保远程登录Warning Banner包含合理的信息 √ √ - 否 确保motd文件包含合理的信息 √ √ - 否 确保/etc/issue权限配置正确 √ √ - 是 确保/etc/issue.net权限配置正确 √ √ - 是 确保/etc/motd权限配置正确 √ √ - 是 访问控制 SELinux 应当启用enforce模式 - - - 是 应当正确配置SELinux策略 - - - 是 避免标签为unconfined_service_t的服务存在 - - - 否 确保SETroubleshoot服务未安装 - - - 是 确保M CS 转换服务未安装 - - - 是 特权命令 确保su受限使用 √ √ √ 否 确保su命令继承用户环境变量不会引入提权 √ √ √ 否 确保普通用户通过sudo运行特权程序 - - - 否 确保配置sudo日志文件 √ - - 否 禁止使用SysRq键 - √ - 否 系统文件权限 确保/etc/passwd权限配置正确 √ - - 是 确保/etc/passwd-权限配置正确 √ - - 是 确保/etc/shadow权限配置正确 √ - - 是 确保/etc/shadow-权限配置正确 √ - - 是 确保/etc/group权限配置正确 √ - - 是 确保/etc/group-权限配置正确 √ - - 是 确保/etc/gshadow权限配置正确 √ - - 是 确保/etc/gshadow-权限配置正确 √ - - 是 确保全局可写目录已设置sticky位 - - - 是 禁止存在无属主或属组的文件或目录 - - - 是 禁止存在全局可写的文件 - - - 是 禁止存在空链接文件 - - - 是 禁止存在隐藏的可执行文件 - - - 是 确保删除文件非必要的SUID和SGID位 - - - 是 确保umask是027或更严格 √ √ √ 否 “√”表示执行。 “-”表示不执行。
  • 创建rf_admin_trust委托(可选) 进入华为云官网,打开控制台管理界面,鼠标移动至个人账号处,打开“ 统一身份认证 ”菜单。 图1 控制台管理界面 图2 统一身份认证菜单 进入“委托”菜单,搜索“rf_admin_trust”委托。 图3 委托列表 如果委托存在,则不用执行接下来的创建委托的步骤 如果委托不存在时执行接下来的步骤创建委托 单击步骤2界面中的“创建委托”按钮,在委托名称中输入“rf_admin_trust”,选择“云服务”,选择“ RFS ”,单击“完成”。 图4 创建委托 单击“立即授权”。 图5 委托授权 在搜索框中输入“Tenant Administrator”权限,并勾选搜索结果,单击“下一步”。 图6 选择策略 选择“所有资源”,并单击“确定”完成配置。 图7 设置最小授权范围 “委托”列表中出现“rf_admin_trust”委托则创建成功。 图8 委托列表
  • 约束与限制 部署该解决方案之前,需 注册华为账号 并开通华为云,完成实名认证,且账号不能处于欠费或冻结状态,请根据 资源和成本规划 预估价格,确保余额充足。如果计费模式选择“包年包月”,请确保账户余额充足以便一键部署资源的时候可以自动支付;或者在一键部署的过程进入费用中心,找到“待支付订单”并手动完成支付。 该解决方案部署成功后,搭建WGCLOUD运维监控平台大约用时10分钟,完成后方可参考开始使用进行验证。 如果选用IAM委托权限部署资源,请确保使用的华为云账号有IAM的足够权限,具体请参考创建rf_admin_trust委托(可选);如果使用华为主账号或admin用户组下的IAM子账户可不选委托,将采用当前登录用户的权限进行部署。
  • 请求示例 更新租户指定ID批量异步任务详情,任务模式为全量+增量,公网网络类型。 https://{endpoint}/v5/054ba152d480d55b2f5dc0069e7ddef0/batch-async-jobs/bd4193aa-072d-4ce6-beec-adffc7252341 { "jobs" : [ { "type" : "all", "params" : { "job_id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "base_info" : { "name" : "DRS-1234", "job_type" : "sync", "engine_type" : "oracle-to-gaussdbv5", "job_direction" : "up", "task_type" : "FULL_INCR_TRANS", "net_type" : "eip", "charging_mode" : "on_demand", "enterprise_project_id" : "0", "description" : "", "expired_days" : "14", "tags" : [ { "key" : "test", "value" : "test" } ] }, "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "endpoint_name" : "oracle", "ip" : "10.154.217.239", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl", "db_password" : "******" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" } } ], "alarm_notify" : { "alarm_to_user" : true, "topic_urn" : "urn:smn:cn-north-4:f2c2468c3ee7410c862a461ca073d2f2:test", "delay_time" : 60 }, "speed_limit" : [ { "begin" : "16:00", "end" : "15:59", "speed" : "10" } ], "policy_config" : { "ddl_trans" : false }, "db_object" : { "object_scope" : "table", "target_root_db" : { "db_name" : "target_db_name", "db_encoding" : "utf8" }, "object_info" : { "source_db1" : { "name" : "source_db1", "all" : false, "tables" : { "source_tb1" : { "type" : "table", "name" : "source_tb1", "all" : true }, "source_tb2" : { "type" : "table", "name" : "source_tb2", "all" : true } } } } }, "node_info" : { "spec" : { "node_type" : "medium" } } } }, { "type" : "endpoint", "params" : { "job_id" : "dc6016cf-f3b6-4c2d-b4d7-5084b0fjb20r", "source_endpoint" : [ { "db_type" : "oracle", "endpoint_type" : "offline", "endpoint_role" : "so", "endpoint" : { "endpoint_name" : "oracle", "ip" : "10.154.227.134", "db_port" : "1521", "db_user" : "ORACLE_USER", "db_name" : "serviceName.orcl", "db_password" : "******" }, "ssl" : { "ssl_link" : false } } ], "target_endpoint" : [ { "db_type" : "gaussdbv5", "endpoint_type" : "cloud", "endpoint_role" : "ta", "endpoint" : { "id" : "f59e6118-da89-4fdb-9b98-65f56709928a", "endpoint_name" : "cloud_gaussdbv5", "instance_id" : "c2c7579bc09c490b9d8009db715aeb0ain14", "db_user" : "root", "db_password" : "******" }, "cloud" : { "region" : "cn-north-4", "project_id" : "9dc8c0f3f74c4dbb23c29cf0318ee561", "az_code" : "cn-north-4a,cn-north-4g,cn-north-4c" }, "vpc" : { "vpc_id" : "2cb5d364-ae63-4fbb-85b7-7d59f4a88f8f", "subnet_id" : "2cb54324-ae63-4fbb-85b7-7d59f4a88f8f", "security_group_id" : "039a3s89-665a-43e2-9b4f-bda7d9ee148d" }, "ssl" : { "ssl_link" : false } } ] } } ] }
  • 响应示例 状态码: 202 Accepted { "jobs" : [ { "id" : "c7debc9c-8e09-4a5d-8dd6-cc44f78jb20r", "name" : "DRS-1234", "status" : "Success" }, { "id" : "dc6016cf-f3b6-4c2d-b4d7-5084b0fjb20r", "name" : "DRS-2345", "status" : "Failed", "error_code" : "DRS.10000010", "error_msg" : "Job does not exist, please check job ID" } ] } 状态码: 400 Bad Request { "error_code" : "DRS.10000001", "error_msg" : "Failed." }
  • 响应参数 状态码: 202 表35 响应Body参数 参数 参数类型 描述 jobs Array of objects 批量更新指定ID异步任务响应体。 详情请参见表36。 表36 jobs字段数据结构说明 参数 参数类型 描述 id String 任务ID。 name String 任务名称。 status String 操作结果。 error_code String 错误码。 error_msg String 错误描述。 状态码: 400 表37 响应Body参数 参数 参数类型 描述 error_code String 错误码。 最小长度:12 最大长度:12 error_msg String 错误描述。 最小长度:1 最大长度:512
  • 响应示例 状态码: 200 OK { "name" : "DRS-mysql", "type" : "mysql", "endpoint" : { "endpoint_name" : "mysql", "ip" : "127.0.0.1", "db_port" : "3306", "db_user" : "root" }, "description" : "description", "connection_id" : "835e1d79-24ac-411d-a1c8-22c000280659", "ssl" : { "ssl_link" : false }, "create_time" : 1716879012121, "enterprise_project_id" : "0" } 状态码: 400 Bad Request { "error_code" : "DRS.10010065", "error_msg" : "Connection manager name is already exists." }
共100000条