华为云用户手册

  • 通过 APM 提供的访问控制能力合理分配用户权限 建议对不同角色的 IAM 用户设置不同的权限,避免权限过大导致数据泄露或被误操作 为了更好的进行权限隔离和管理,建议您配置独立的IAM管理员,授予IAM管理员IAM策略的管理权限。IAM管理员可以根据您业务的实际诉求创建不同的用户组,用户组对应不同的数据访问场景,通过将用户添加到用户组并将IAM策略绑定到对应用户组,IAM管理员可以为不同职能部门的员工按照最小权限原则授予不同的数据访问权限。详情请参见登录保护及登录验证策略。 建议通过企业项目进行业务逻辑隔离 您在华为云账号中给员工创建IAM用户组后,可以在企业管理服务控制台创建企业项目,并在企业项目中为用户组授予相应的权限,实现人员授权及权限控制。企业项目可将企业分布在不同区域的资源按照企业项目进行统一管理,同时可以为每个企业项目设置拥有不同权限的用户组。详情请参见通过IAM为企业中的用户和用户组进行授权
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFG....”,则调用接口时将“X-Auth-Token: ABCDEFG....”加到请求消息头即可,如下所示。 Content-Type: application/json X-Auth-Token: ABCDEFG....
  • 伙伴提交商机(PO)时需要注意什么? 1)PO商机必须是伙伴已经投入足够的努力,包括客户会谈、需求对齐、方案讨论等活动,从客户侧获得的确定性项目需求,不能是公开招标、道听途说、简单猜想的客户需求,且面向的客户是华为云的已有客户或者潜在客户。 2) 伙伴提交的PO应当满足:客户有采购或获取华为可提供的产品/服务/解决方案的意愿或规划,已经有初步的投资计划或预算,客户非常有可能在一年或更短的时间内进行采购,或者正处于采购计划的初期阶段,如顶层设计、需求规划、准备标书等。一旦机会点验证完成后,就可以投入销售资源,期待将此机会点转化成交易。 3)在共享商机给华为之前,需要获取客户的相关授权,避免在未经客户同意的情况下将客户敏感商业秘密提供给华为。 父主题: 共享给华为(PO)
  • 当前有哪些激励政策? ①当前面向合作伙伴的激励政策: 《2023年合作伙伴生态核心图机会点共享专项激励》,该政策已过期,后续会延续,政策负责人盛亚会; ② 向华为云内部员工的激励政策:《SaaS销售专项激励》、《 华为云计算 云生态专项激励方案》; ③PCE的核心是商机互换,伙伴共享3个PO机会点即有可能获取华为的HO机会点,在共享商机过程中可获得华为云销售及服务支持,这是PCE面向伙伴的主要权益。 上述具体激励要求和标准请参看相关发文,以实际发文为准。 父主题: 机会点共享
  • 为什么增加了客户指标? 根据《2025年华为云中国区合作伙伴销售激励政策》中价值新客激励门槛R和基数都是按客户维度统计的,故设置了客户维度的指标。如:2025年1月A伙伴有10个客户有业绩,则该伙伴价值新客2025M1账期有10个门槛指标值和10个基数指标值。 伙伴可筛选价值新客的指标导出所有客户的指标值。 若伙伴针对某个客户的门槛指标有疑问,可在页面筛选客户名称,点击详情查看具体的指标明细。针对有疑问的订单或业绩可以反馈问题。 父主题: 指标管理
  • 为什么有的指标有明细,有的没有明细? 当某个指标是根据当前伙伴账号的业绩直接生成的,那么该指标可以查看指标明细。 当某个指标是伙伴维度,可能涉及多个账号的业绩汇总结果,那么该指标无法直接查看指标明细,需要伙伴在所有有业绩的账号下查看各个账号的指标明细。 当某个指标是增量或增长率等是基于某个指标的计算结果时,该指标无法直接查看指标明细,需要伙伴在具体的指标中分别查看两个账期的指标明细。 当某个指标不是基于伙伴业绩生成的,那么该指标也无法查看指标明细。 父主题: 指标管理
  • 怎样的机会点才可以算入目前一线的PO/HO考核? 目前算入考核的Offering范围,是进入能力图的基线解决方案(含华为Lead与伙伴lead)、白名单联营商品(5个)【清单 后续可能刷新】。 ①PO范围如下,其余不计入PO统计数量,系统中通过offering关联来识别。 a. 基线解决方案,含华为lead&伙伴lead b. 联营商品白名单(具体名单由云商店提供并管理) PO代表处归属:伙伴录入的机会点中最终客户所在地代表处,为该PO的归属代表处。 PO状态:签单完成 ②HO范围:其余不计入HO统计数量,系统中通过offering关联来识别。 a. 基线解决方案,含华为lead&伙伴lead b. 联营商品白名单(具体名单由云商店提供并管理) HO代表处归属:代表处提交的HO,算作该代表处的HO数量 HO状态:签单完成 父主题: 机会点共享
  • 烟感设备样例 场景说明 有一款烟感设备,具有如下特征: 具有烟雾报警功能(火灾等级)和温度上报功能。 支持远程控制命令,可远程打开报警功能。比如火灾现场温度,远程打开烟雾报警,提醒住户疏散。 该款烟感设备,设备能力比较弱,无法按照设备接口定义的JSON格式上报数据,只能上报简单的二进制数据。 产品模型定义 在烟感产品的开发空间,完成产品模型定义。 level:火灾级别,用于表示火灾的严重程度。 temperature:温度,用于表示火灾现场温度。 SET_ALARM:打开或关闭告警命令,value=0表示关闭,value=1表示打开。响应命令result用于上报修改后告警值。 图1 模型定义-smokedetector
  • 入门实践 表1 常用最佳实践 实践 描述 批量迁移GitLab内网仓库到CodeArts Repo CodeArts Repo现有迁仓能力只支持公网之间迁移,缺少客户内网自建代码托管平台往Repo迁移的快速方案,因此提供批量迁移内网代码托管平台仓库到Repo的脚本。 如何批量将外部仓库导入CodeArts Repo CodeArts Repo现有迁仓能力只支持公网之间迁移,缺少客户内网自建代码托管平台往Repo迁移的快速方案,因此提供批量迁移内网代码托管平台仓库到Repo的脚本。 HE2E DevOps实践之管理代码 本文以“DevOps全流程示例项目”为例,介绍如何在项目中进行代码开发。
  • 节省计划的每小时承诺消费是什么意思? 购买节省计划即代表您承诺一定期限(1年或3年)达到的每小时消费金额。每小时承诺消费表示承诺的每小时最低消费金额,在此数值范围内的按需账单将享受节省计划的特有优惠,且能被节省计划抵扣。 示例:假设华北-北京四c6.xlarge.4的价格为1.46元/台/小时,购买的节省计划对应优惠为3.22折,您选择的每小时承诺消费为10元。 那么,该份节省计划每小时可以抵扣的c6.xlarge.4的实例台数为:10/(1.46*0.322) = 21.27台。
  • 定义 节省计划(Savings Plans,简称SP)是华为云面向用户提供的一种用户权益服务,提供按需消费优惠和按需账单灵活抵扣的能力。您可以通过承诺一定期限内(1年或3年)的稳定消费用量(以每小时消费金额为单位)来获取节省计划。每小时账单中不超过承诺消费金额的部分,会在享受一定优惠后,被节省计划的承诺金额抵扣;超过承诺消费金额的部分,将按正常按需价格收取费用。 由于节省计划只是一种用户权益,因此只购买节省计划并无意义,节省计划搭配按需计费的实例才能真正产生价值。节省计划只提供消费优惠,不会影响资源的运行状态。
  • 优势 消费优惠:相比按需计费模式,节省计划为您提供大幅度的价格优惠。使用时长为3年、付费方式为全预付的节省计划,可为您节省最高可达73%的云服务使用成本。 消费灵活性:相比包年包月的计费模式,节省计划为您提供更多灵活性。在您购买的节省计划生效后,您正常按需使用云服务,系统将会自动识别符合抵扣条件的账单,以一定优惠的价格进行费用抵扣。您无需关注资源的到期时间,并可以随时开通、释放资源,不会产生退订、变更等额外成本。
  • 生命周期 生效、失效机制 当完成一个节省计划的购买后,实例的开始时间以当前小时零分零秒为开始时间,即购买后立即可以抵扣按需资源。生效时间和失效时间均按整点计算。 示例:用户在2022-12-06 13:45:20购买了一个节省计划,有效期为一年,则该节省计划的生效时间为2022-12-06 13:00:00,失效时间为2023-12-06 12:59:59。如果用户已经持有满足匹配要求的按需付费实例,则从2022-12-06 13:00~14:00的小时账单开始抵扣。 节省计划到期后,不能继续抵扣按需资源账单,因此您需要保证账号余额充足。
  • 获取ROMA Connect的授权地址和业务地址 ROMA Connect侧,授权地址也称租户面IAM 域名 ,业务地址也称ROMA外部API网关域名。相关的地址请联系ROMA Connect侧的技术工程师获取。 两个地址的获取方式示例如下,此处仅是参考,请联系ROMA Connect侧的技术工程师以实际环境获取为准。 租户面IAM域名:需要先知道绑定的账号所对应的Region,查看IAM页面的终端节点表,Region所对应的终端节点就是租户面IAM域名。 ROMA外部API网关域名:需要先知道绑定的账号所对应的Region,查看API页面的终端节点表,Region所对应的终端节点就是ROMA外部API网关域名。
  • 下面以华为云上的ROMA Connect举例说明。 登录访问ROMA Connect的管理控制台,例如https://console.huaweicloud.com/iam/?region=cn-north-4&locale=zh-cn#/iam/agencies。 选择左侧菜单里的“委托”。 单击界面右上角的“创建委托”。 填写委托相关信息。然后单击下一步。 委托名称请根据需要自行填写。委托类型请选“普通”,委托的账号就是运营管理员在运营管理台配置的“平台租户名”。持续时间根据需要选择。 委托的账号必须是主账号,不能是子账号。 资产发布者和资产订阅者创建ROMA Connect授权委托时,使用的委托账号必须与运营管理员配置的平台租户是同一个ROMA Connect上的同一个用户,运营管理员配置的平台租户会在资产发布者进行来源授权的界面上进行提示,请看"委托账号"对应的值。 资产发布者和资产订阅者创建ROMA Connect授权委托时指定的区域必须与运营管理员配置的区域是同一个区域,如果创建委托不清楚具体区域,请在“授权”里选择“所有资源(包括未来在所有区域下创建的项目)”。 选择作用范围和拥有的权限。 作用范围请根据实际需要填写,权限请选择“ROMA FullAccess”。
  • 获取ROMA Connect委托授权 下面以华为云上的ROMA Connect举例说明。具体的项目请以实际环境为准进行获取。 登录访问ROMA Connect的管理控制台,例如https://console.huaweicloud.com/iam/?region=cn-north-4&locale=zh-cn#/iam/agencies。 单击界面右上角的“创建委托”。 填写委托相关信息。 委托名称请根据需要自行填写。委托类型请选“普通”,委托账号必须是与运营管理员在运营管理台配置的“平台租户名”一致。持续时间根据需要选择。 委托的账号必须是主账号,不能是子账号。
  • ModelArts入门实践 本章节列举了一些常用的实践案例,方便您快速了解并使用ModelArts完成AI开发。 表1 常用最佳实践 分类 实践案例 描述 适用人群 ModelArts Standard模型训练 基于ModelArts Standard上运行GPU训练任务 本案例介绍了如何使用ModelArts Standard专属资源池提供的计算资源,结合SFS和OBS存储,在ModelArts Standard的训练环境中开展单机单卡、单机多卡、多机多卡分布式训练。 面向熟悉代码编写和调测的AI工程师,同时了解SFS和OBS云服务 从 0 制作自定义镜像并用于训练(Pytorch+CPU/GPU) 本案例介绍如何从0开始制作镜像,并使用该镜像在ModelArts Standard平台上进行训练。镜像中使用的AI引擎是Pytorch,训练使用的资源是CPU或GPU。 面向熟悉代码编写和调测的AI工程师,同时熟悉docker容器知识 从 0 制作自定义镜像并用于训练(MindSpore+Ascend) 本案例介绍如何从0开始制作镜像,并使用该镜像在ModelArts Standard平台上进行训练。镜像中使用的AI引擎是MindSpore,训练使用的资源是Ascend。 主流开源大模型基于Standard适配PyTorch NPU训练指导 本案例基于ModelArts Standard供的昇腾计算资源,指导用户完成Llama、Qwen、ChatGLM、Yi、Baichuan等常见开源大模型的预训练、SFT微调、LoRA微调训练过程。 面向熟悉代码编写和调测的AI工程师 ModelArts Standard推理部署 使用Standard一键完成商超商品识别模型部署 本案例以“商超商品识别”模型为例,介绍从AI Gallery订阅模型,一键部署到ModelArts Standard,并进行在线推理预测的体验过程。 面向AI开发零基础的用户 从0-1制作自定义镜像并创建AI应用 针对ModelArts不支持的AI引擎,您可以构建自定义镜像,并将镜像导入ModelArts,创建为模型。本案例详细介绍如何使用自定义镜像创建模型,并部署成在线服务。 面向熟悉代码编写和调测的AI工程师,同时熟悉docker容器知识 主流开源大模型基于Standard适配PyTorch NPU推理指导 本案例基于ModelArts Standard供的昇腾计算资源,指导用户完成Llama、Qwen、ChatGLM、Yi、Baichuan等常见开源大模型的推理部署、模型评测、模型量化等功能。 面向熟悉代码编写和调测的AI工程师 ModelArts Standard自动学习 使用Standard自动学习实现垃圾分类 本案例基于华为云AI开发者社区AI Gallery中的数据集资产,让零AI基础的开发者使用ModelArts Standard的自动学习功能完成“图像分类”AI模型的训练和部署。 面向AI开发零基础的用户 使用Standard自动学习实现口罩检测 本案例基于华为云AI开发者社区AI Gallery中的数据集资产,让零AI基础的开发者使用ModelArts Standard的自动学习功能完成“物体检测”AI模型的训练和部署。依据开发者提供的标注数据及选择的场景,无需任何代码开发,自动生成满足用户精度要求的模型。 ModelArts Standard开发环境 使用ModelArts VS Code插件调试训练ResNet50图像分类模型 本案例以Ascend Model Zoo为例,介绍如何通过VS Code插件及ModelArts Standard的Notebook进行云端数据调试及模型开发。 面向熟悉代码编写和调测的AI工程师 ModelArts Lite Server 主流开源大模型基于Lite Server适配PyTorch NPU训练指导 本案例基于ModelArts Lite Server供的昇腾计算资源,指导用户完成Llama、Qwen、ChatGLM、Yi、Baichuan等常见开源大模型的预训练、SFT微调、LoRA微调训练过程。 面向熟悉代码编写和调测的AI工程师,同时熟悉Linux和Docker容器基础知识 主流开源大模型基于Lite erver适配PyTorch NPU推理指导 本案例基于ModelArts Lite Server提供的昇腾计算资源,指导用户完成Llama、Qwen、ChatGLM、Yi、Baichuan等常见开源大模型的推理部署、模型评测、模型量化等功能。
  • SDK列表 表1提供了Config服务支持的SDK列表,您可以在GitHub仓库查看SDK更新历史、获取安装包以及查看指导文档。 表1 SDK列表 编程语言 Github地址 参考文档 Java huaweicloud-sdk-java-v3 Java SDK使用指导 Python huaweicloud-sdk-python-v3 Python SDK使用指导 Go huaweicloud-sdk-go-v3 Go SDK使用指导 NodeJs huaweicloud-sdk-nodejs-v3 NodeJs SDK使用指导 PHP huaweicloud-sdk-php-v3 PHP SDK使用指导
  • 示例简介 该示例展示了如何通过Java版本SDK查询资源详情、资源关系和资源历史。 资源清单 默认展示资源的部分属性,如果您需要查看某个资源的资源详情,可按如下操作查看。 资源关系 记录了您在华为云上的不同资源之间的关联情况。 资源历史 是过去某段时间内资源不同状态的集合。对接服务上报Config的资源属性和资源关系的变化,都会在资源时间线中生成一条记录,该记录会包含资源变更情况的详细信息,默认的保存期限为7年。
  • 返回结果示例 class ShowResourceDetailResponse { id: 81fi****a864 name: zh****ng provider: iam type: users regionId: global projectId: projectName: epId: 0 epName: default checksum: 522u****e689 created: 2023-09-18T12:56:30.000Z updated: 2023-09-18T12:56:30.000Z provisioningState: Succeeded state: Normal tags: {} properties: {pwd_status=false, pwd_strength=high, group_list=[f588****54c5], role_list=[], last_login_time=2023-09-18T12:57:45Z, virtual_mfa_device=false, login_protect={enabled=false}, credentials=[], policy_list=[], access_mode=default, is_root_user=false, enabled=true} } class ShowResourceRelationsResponse { relations: [class ResourceRelation { relationType: contains fromResourceType: iam.groups toResourceType: iam.users fromResourceId: f587****54c5 toResourceId: 81fa****a864 }] pageInfo: class PageInfo { currentCount: 1 nextMarker: null } } class ShowResourceHistoryResponse { items: [class HistoryItem { domainId: 39f4****ea39 resourceId: 81fa****a864 resourceType: iam.users captureTime: 2023-09-21T15:39:27.632Z status: ResourceChanged.CREATE relations: [class ResourceRelation { relationType: isContainedIn fromResourceType: iam.users toResourceType: iam.groups fromResourceId: 81fa****a864 toResourceId: b04e****8dd2 }] resource: class ResourceEntity { id: 81fa****a864 name: zh****ng provider: iam type: users regionId: global projectId: projectName: epId: 0 epName: default checksum: 00ce****f053 created: 2023-09-18T12:56:30Z updated: 2023-09-18T12:56:30Z provisioningState: Succeeded state: null tags: {} properties: {pwd_status=false, pwd_strength=high, group_list=[b04e****8dd2], role_list=[], virtual_mfa_device=false, login_protect={enabled=false}, credentials=[], policy_list=[], access_mode=default, enabled=true} } }] pageInfo: class PageInfo { currentCount: 1 nextMarker: null } }
  • 返回结果示例 class CreatePolicyAssignmentsResponse { policyAssignmentType: "policyAssignmentType" id: "id" name: "name" description: "description" policyFilter: class PolicyFilterDefinition {} period: "period" state: "state" created: "created" updated: "updated" policyDefinitionId: "policyDefinitionId" customPolicy: "customPolicy" parameters: {} createdBy: "createdBy" } class ShowPolicyAssignmentResponse { policyAssignmentType: "policyAssignmentType" id: "id" name: "name" description: "description" policyFilter: class PolicyFilterDefinition {} period: "period" state: "state" created: "created" updated: "updated" policyDefinitionId: "policyDefinitionId" customPolicy: "customPolicy" parameters: {} createdBy: "createdBy" }
  • 调整D CS 实例带宽 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 在“缓存管理”页面,单击DCS缓存实例的名称。 在缓存实例的“基本信息”栏中单击带宽后的“调整带宽”。 图1 调整带宽 在“调整带宽”页面,设置带宽参数。 实例默认为手动调整带宽的方式,可根据需要设置目标带宽值。如果开启“自动弹性带宽调整”功能白名单,实例带宽调整方式支持选择“手动调整”或“自动弹性带宽调整”(如果控制台不支持选择带宽调整方式,请联系客服开启“自动弹性调整带宽”功能白名单)。 目标带宽值只支持设置为8的整数倍。如果设置的带宽值不是8的整数倍,订单提交后会自动按照向下取整的方式调整带宽。例如输入的带宽值为801,则按照800 Mbit/s的目标带宽调整带宽。 变更页面显示的变更后费用为该实例额外购买的带宽计费金额,不包含原实例费用。 调整带宽的计费方式仅支持按需计费(按小时结算费用)。 您可以根据需要多次调整带宽,单个计费周期(1小时)中如果有多次带宽变更,该计费周期以最大带宽费用收费。例如将一个Redis实例(默认带宽值为256 Mbit/s)的宽带变更为2048 Mbit/s后,在一个计费周期内再次将带宽值变更为512 Mbit/s,实例在该计费周期将按照2048 Mbit/s的带宽值扣费。 手动调整 手动调整实例的目标带宽值。集群实例多个分片需要调整带宽时,可以对多个分片单独设置不同的目标带宽,也可以同时勾选多个分片后,单击页面左上角的“批量调整带宽”,统一设置带宽值。 图2 手动设置新带宽值 手动调整目标带宽后,确认新的带宽值及带宽费用后,在“带宽调整确认”处勾选确认,再单击“提交订单”。 调整带宽任务的状态为“成功”后,新的带宽值立即生效。 自动弹性带宽调整 开启“自动带宽扩展”并根据需要设定自动带宽扩容策略,如表1。 系统会根据您设定的自动带宽扩容策略自动执行带宽扩展,如果触发带宽扩展,单分片最高可扩展至2048Mbit/s。如果您已对实例带宽进行过手动调整,自动弹性带宽调整结果会覆盖已手动调整的结果。 图3 设置自动带宽扩容策略 表1 设定自动带宽扩容策略 带宽扩容策略 说明 瞬时带宽使用率不小于 触发带宽自动扩容的瞬时带宽使用率阈值,单位:%。 计算公式: 瞬时带宽使用率=瞬时使用带宽/分片带宽。该公式中的“瞬时使用带宽”取监控指标“网络瞬时输出流量”和“网络瞬时输入流量”中较大的值。 扩容目标: 当实例单分片的瞬时带宽使用率达到设置的阈值时,会触发该分片带宽自动扩容,扩容后瞬时带宽使用率会降低到比设置的阈值低10%。 例如将该阈值设置为70%,则当分片的瞬时带宽使用率达到70%时,会触发该分片带宽自动扩容,扩容后的瞬时带宽使用率会降低到60%。因此,扩容后的分片带宽=瞬时使用带宽/60%。 观测窗口 带宽弹性的观测窗口,单位:分钟。默认值:1。 例如观测窗口时间设置为1分钟时,则带宽监控数据取值为1分钟内的监控数据。 静默时间 扩容操作的静默时间,单位:秒。默认值:0。 当带宽自动扩容后,如果再次监测到瞬时带宽使用率超过阈值,实例在设置的静默时间内不会立即扩容,设置静默时间可以避免实例连续进行带宽自动扩容。 设置自动带宽扩展参数后,在“带宽调整确认”处勾选确认,再单击“确定”。
  • 约束与限制 企业版Redis暂不支持调整带宽。 只有在运行中的实例支持调整带宽,如果是变更中、故障中、重启中等其他状态下的实例不支持调整实例带宽。 实例单分片带宽的调整范围在单分片的基准带宽(默认带宽)到最大可调整的带宽之间。通常在实例节点所在物理机带宽资源充足的前提下,实例可调整的单分片最大带宽为2048 Mbit/s。 目标带宽只支持设置为8的整数倍。如果设置的值不为8的整数倍,订单提交后将自动向下取8的倍数。 调整带宽的计费方式仅支持按需计费(按小时结算费用),请注意配置费用的变化。
  • 如何查看基准带宽和调整后的带宽 在手动调整带宽的页面,可以查看实例每个分片的“基准带宽”和“当前带宽”。对于已经调整过带宽的实例,“当前带宽”即调整后的带宽值。 图4 查看带宽值 实例带宽与单分片带宽的关系如下: 单机/主备实例带宽=单分片带宽。 读写分离实例带宽=单分片带宽 * 副本数。 集群实例带宽=单分片带宽 * 分片数,当各分片带宽值不同时,集群实例带宽值为各个分片带宽值之和。 例如图4中是一个3分片的集群实例,每个分片调整后的带宽为800 Mbit/s,该集群实例总带宽为2400 Mbit/s。
  • 开启/关闭客户端IP透传 登录分布式缓存服务管理控制台。 在管理控制台左上角单击,选择实例所在的区域。 单击左侧菜单栏的“缓存管理”。 在“缓存管理”页面,单击需要开启客户端IP透传的缓存实例名称。 在“连接信息”栏中单击“客户端IP透传”后的,可以修改客户端IP透传的状态。 图1 开启或关闭客户端IP透传 查看客户端IP(以执行Client List为例)。 通过network=vpc的记录,查看其中addr值即为客户端IP的值。 图2 开启客户端IP透传前 图3 开启客户端IP透传后 开启客户端IP透传后,新建的客户端连接且发送Redis命令后生效,旧的客户端连接仍然只能显示198.19地址。
  • 迁移步骤 分别在华为云ECS和源端转发服务器上安装Nginx,本文以ECS操作系统为Centos7.x为例进行安装,不同操作系统命令稍有不同。 执行以下命令,添加Nginx到yum源。 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm 添加完之后,执行以下命令,查看是否已经添加成功。 yum search nginx 添加成功之后,执行以下命令,安装Nginx。 sudo yum install -y nginx 执行以下命令安装stream模块。 yum install nginx-mod-stream --skip-broken 启动Nginx并设置为开机自动运行。 sudo systemctl start nginx.service sudo systemctl enable nginx.service 在本地浏览器中输入服务器地址(ECS公网IP地址),查看安装是否成功。 如果出现下面页面,则表示安装成功。 在源端Redis添加源端转发服务器的白名单。 在源端转发服务器配置安全组。 获取华为云ECS的公网IP地址。 配置源端转发服务器安全组入方向,添加华为云ECS的公网IP地址,并放开来自华为云ECS访问请求的端口(以6379为例)。 配置源端转发服务器的Nginx转发配置。 登录Linux源端转发服务器,执行命令打开并修改配置文件。 cd /etc/nginx vi nginx.conf 转发配置示例如下: stream { server { listen 6379; proxy_pass {source_instance_address}:{port}; } } 其中,6379为源端转发服务器本机监听端口,{source_instance_address}和{port}为源端Redis实例的连接地址和端口。 配置目的:通过访问源端转发服务器本机监听端口6379,访问源端Redis。 注意:以上配置必须配置在如下图所示的位置。 图2 配置位置要求 重启Nginx服务。 service nginx restart 验证启动是否成功。 netstat -an|grep 6379 端口在监听状态,Nginx启动成功。 图3 验证结果 配置华为云ECS的Nginx转发配置。 登录Linux华为云ECS,执行命令打开并修改配置文件。 cd /etc/nginx vi nginx.conf 配置示例如下: stream { server { listen 6666; proxy_pass {source_ecs_address}:6379; } } 其中,6666为华为云ECS本机监听端口,{source_ecs_address}为源端转发服务器公网IP地址,6379为源端转发服务器Nginx的监听端口。 配置目的:通过访问华为云ECS本机监听端口6666,访问源端转发服务器。 注意:以上配置必须配置在如下图所示的位置。 图4 配置位置要求 重启Nginx服务。 service nginx restart 验证启动是否成功。 netstat -an|grep 6666 端口在监听状态,Nginx启动成功。 图5 验证结果 在华为云ECS执行以下命令测试6666端口的网络连接。 redis-cli -h {target_ecs_address} -p 6666 -a {password} 其中,{target_ecs_address}为华为云ECS公网IP地址,6666为华为云ECS监听端口,{password}为源端Redis密码,如无密码可不填。 图6 连接示例 准备迁移工具RedisShake。 登录华为云ECS。 在华为云ECS中执行以下命令下载RedisShake,本文以下载2.0.3版本为例进行说明。您可以根据实际需要下载其他RedisShake版本。 wget https://github.com/tair-opensource/RedisShake/releases/download/release-v2.0.3-20200724/redis-shake-v2.0.3.tar.gz 执行命令解压RedisShake文件。 tar -xvf redis-shake-v2.0.3.tar.gz 配置RedisShake的配置文件。 执行命令进入解压后的目录。 cd redis-shake-v2.0.3 修改配置文件redis-shake.conf。 vim redis-shake.conf 修改源端Redis信息配置: source.type 源端redis实例类型,单机、主备、proxy集群实例都选择standalone,cluster实例选择cluster。 source.address 华为云ECS公网IP地址和映射源端转发服务器的端口(华为云ECS监听端口6666),用英文冒号隔开。 source.password_raw 源端待迁移Redis实例的密码,如未设置密码,无需填写。 修改目标端DCS信息配置: target.type 华为云Redis实例类型,单机、主备、proxy集群实例都选择standalone,cluster实例选择cluster。 target.address 华为云Redis实例的连接地址和端口,用英文冒号隔开。 target.password_raw 华为云Redis实例的密码,如未设置密码,无需填写。 按下Esc键退出编辑模式,输入:wq!按回车键保存配置并退出编辑界面。 执行命令启动RedisShake并使用rump(在线全量)模式开始数据迁移。 ./redis-shake.linux -conf redis-shake.conf -type rump 图7 迁移过程 图8 迁移结果 迁移完成后,请使用redis-cli工具连接源Redis和目标Redis,确认数据的完整性。 分别连接源Redis和目标Redis。 连接操作请参考redis-cli连接。 输入info keyspace,查看keys参数和expires参数的值。 对比源Redis和目标Redis的keys参数分别减去expires参数的差值。如果差值一致,表示数据完整,迁移正常。 迁移验证完成后,建议及时清理RedisShake配置文件中的配置。
  • 约束与限制 Rump模式不支持增量数据迁移,建议您先停止源端Redis的写入再进行迁移,防止数据不一致。 该方案配置只支持同DB映射迁移,异DB映射迁移该方案配置不适用。 源端为多DB使用(有非DB0的DB使用),华为云DCS为Proxy集群时,DCS需要开启多DB模式,否则会迁移失败(单DB0的Proxy集群不支持select命令)。 源端为多DB使用(有非DB0的DB使用),华为云DCS为Cluster集群时,该方案不支持(DCS Cluster集群只支持DB0模式)。 开启了SSL的目标实例不支持数据迁移,需要关闭目标实例SSL后再进行迁移,开启或关闭SSL的操作请参考配置Redis SSL 数据加密 传输。
  • 在线迁移数据 使用如下命令同步源Redis集群和目标Redis集群数据: ./redis-shake shake.toml 执行日志中出现如下信息,代表全量数据同步完成,进入增量同步阶段: syncing aof 执行日志出现如下信息时,代表增量同步无新增内容,可手动停止同步(Ctrl + C): write_ops=[0.00], src-*, syncing aof, diff=[0] 图1 RedisShake在线迁移示意图
  • 配置RedisShake工具 登录弹性 云服务器ECS 。 在ECS中执行以下命令下载RedisShake。本文以下载4.3.2版本为例,您可以根据实际需要下载其他RedisShake版本。 wget https://github.com/tair-opensource/RedisShake/releases/download/v4.3.2/redis-shake-v4.3.2-linux-amd64.tar.gz 执行命令解压RedisShake文件。 mkdir redis-shake-v4.3.2 tar -C redis-shake-v4.3.2 -xzvf redis-shake-v4.3.2-linux-amd64.tar.gz 执行命令进入解压后的文件目录。 cd redis-shake-v4.3.2 编辑RedisShake工具配置文件shake.toml,补充源端与目标端信息。 vim shake.toml 修改内容如下: [sync_reader] #源端实例是Redis Cluster集群时,配置为true cluster = true #源端Cluster集群任意一个节点的IP地址与端口 address = {redis_ip}:{redis_port} #如果无密码,本项不填 password = {source_redis_password} [redis_writer] #目标端实例是Redis Cluster集群时,配置为true cluster = true #目标端Cluster集群任意一个节点的IP地址与端口 address = {redis_ip}:{redis_port} #如果无密码,本项不填 password = {target_redis_password} 修改后按下Esc键退出编辑模式,输入:wq!按回车键保存配置并退出编辑界面。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全