-
责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的
云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 与传统的本地数据中心相比,云计算的运营方和使用方分离,提供了更好的灵活性和控制力,有效降低了客户的运营负担。正因如此,云的安全性无法由一方完全承担,云安全工作需要华为云与您共同努力,如图1所示。 华为云:无论在任何云服务类别下,华为云都会承担基础设施的安全责任,包括安全性、合规性。该基础设施由华为云提供的物理数据中心(计算、存储、网络等)、虚拟化平台及云服务组成。在PaaS、SaaS场景下,华为云也会基于控制原则承担所提供服务或组件的安全配置、漏洞修复、安全防护和入侵检测等职责。 客户:无论在任何云服务类别下,客户数据资产的所有权和控制权都不会转移。在未经授权的情况,华为云承诺不触碰客户数据,客户的内容数据、身份和权限都需要客户自身看护,这包括确保云上内容的合法合规,使用安全的凭证(如强口令、多因子认证)并妥善管理,同时监控内容安全事件和账号异常行为并及时响应。 图1 华为云安全责任共担模型 云安全责任基于控制权,以可见、可用作为前提。在客户上云的过程中,资产(例如设备、硬件、软件、介质、虚拟机、操作系统、数据等)由客户完全控制向客户与华为云共同控制转变,这也就意味着客户需要承担的责任取决于客户所选取的云服务。如图1所示,客户可以基于自身的业务需求选择不同的云服务类别(例如IaaS、PaaS、SaaS服务)。不同的云服务类别中,每个组件的控制权不同,这也导致了华为云与客户的责任关系不同。 在On-prem场景下,由于客户享有对硬件、软件和数据等资产的全部控制权,因此客户应当对所有组件的安全性负责。 在IaaS场景下,客户控制着除基础设施外的所有组件,因此客户需要做好除基础设施外的所有组件的安全工作,例如应用自身的合法合规性、开发设计安全,以及相关组件(如中间件、数据库和操作系统)的漏洞修复、配置安全、安全防护方案等。 在PaaS场景下,客户除了对自身部署的应用负责,也要做好PaaS服务中间件、数据库、网络控制的安全配置和策略工作。 在SaaS场景下,客户对客户内容、账号和权限具有控制权,客户需要做好自身内容的保护以及合法合规、账号和权限的配置和保护等。 传统本地部署(On-Prem):由客户在自有数据中心内部署和管理软件及IT基础设施,而非依赖于远程的云服务提供商; 基础设施即服务(IaaS):由云服务提供商提供计算、网络、存储等基础设施服务,如弹性云服务器 E
CS 、
虚拟专用网络 VPN、
对象存储服务 OBS; 平台即服务(PaaS):由云服务提供商提供应用程序开发和部署所需要的平台,客户无需维护底层基础设施,如
AI开发平台 ModelArts、云数据库
GaussDB ; 软件即服务 (SaaS):由云服务提供商提供完整应用软件,客户直接应用软件而无需安装、维护应用软件及底层平台和基础设施,如华为云会议 Meeting。 父主题: 安全
-
Exchange 表5 Exchange约束与限制(3.x.x版本) 限制项 约束和限制 默认Exchange 创建Vhost后会自动生成7个默认Exchange:(AMQP default)、amq.direct、amq.fanout、amq.headers、amq.match、amq.rabbitmq.trace、amq.topic。 绑定Exchange RabbitMQ 3.x.x版本中,名为“(AMQP default)”的Exchange不能绑定任何Exchange。 “Internal”为“是”的Exchange只能绑定Exchange,不能绑定Queue。 删除Exchange 默认Exchange不支持删除。 表6 Exchange约束与限制(AMQP-0-9-1版本) 限制项 约束和限制 绑定Exchange Exchange不支持绑定Exchange,只支持绑定Queue。 Exchange名称 Exchange名称包含特殊字符,例如“%”、“|”、“/”、“.”,会导致Exchange名称与监控页面不一致,在监控页面中特殊字符会以“_”显示。例如:Exchange名称为Exchange.1%1|2_3/,此时监控中显示的Exchange名为“Exchange_1_1_2_3_”。 单个Exchange的最大Binding数量 256个。
-
消息 表9 消息约束与限制(3.x.x版本) 限制项 约束和限制 消息大小 单条消息的最大长度为50MB。 服务端限制了单条消息的最大长度,请勿发送大于此长度的消息,否则生产失败。 表10 消息约束与限制(AMQP-0-9-1版本) 限制项 约束和限制 消息大小 单条消息的最大长度为4MB。 服务端限制了单条消息的最大长度,请勿发送大于此长度的消息,否则生产失败。 消息保留时间 默认2天。 延时消息最大保留时间 7天。 消息最大重试次数 16次。 超过重试次数后,若未配置死信队列则丢弃消息,否则路由到死信队列中。 是否支持事务消息 不支持。
-
Vhost 表3 Vhost约束与限制(3.x.x版本) 限制项 约束和限制 删除Vhost 创建实例时自动生成的默认Vhost,不支持删除。 Vhost名称 Vhost名称以特殊字符开头,例如点号“.”,可能会导致监控数据无法显示。Vhost名称包含特殊字符,例如“%”、“|”、“/”,会导致Vhost名称与监控页面不一致,在监控页面中特殊字符会以“_”显示。例如:Vhost名称为Vhost.1%1|2_3/,此时监控中显示的Vhost名为“Vhost.1_1_2_3_”。 在
云监控 中特殊字符“.”按5个字符计算长度。如果RabbitMQ 3.x.x版本实例的Vhost名称包含“.”,且经此规则计算后的总长度超过256个字符,可能会导致监控数据无法显示。 表4 Vhost约束与限制(AMQP-0-9-1版本) 限制项 约束和限制 删除Vhost 创建实例时自动生成的默认Vhost,不支持删除。 Vhost名称 Vhost名称包含特殊字符,例如“%”、“|”、“/”、“.”,会导致Vhost名称与监控页面不一致,在监控页面中特殊字符会以“_”显示。例如:Vhost名称为Vhost.1%1|2_3/,此时监控中显示的Vhost名为“Vhost_1_1_2_3_”。
-
Queue 表7 Queue约束与限制(3.x.x版本) 限制项 约束和限制 绑定Queue 名为“(AMQP default)”的Exchange不能绑定任何Queue。 “Internal”为“是”的Exchange只能绑定Exchange,不能绑定Queue。 惰性队列 RabbitMQ 3.8.35及以上版本支持惰性队列。 仲裁队列 RabbitMQ 3.8.35及以上版本支持仲裁队列。 单一活跃消费者 RabbitMQ 3.8.35及以上版本支持单一活跃消费者特性。 Queue名称 Queue名称以特殊字符开头,例如点号“.”,可能会导致监控数据无法显示。Queue名称包含特殊字符,例如“%”、“|”、“/”,会导致Queue名称与监控页面不一致,在监控页面中特殊字符会以“_”显示。例如:Queue名称为Queue.1%1|2_3/,此时监控中显示的Queue名为“Queue.1_1_2_3_”。 在云监控中特殊字符“.”按5个字符计算长度。如果RabbitMQ 3.x.x版本实例的Queue包含“.”,且经此规则计算后的总长度超过256个字符,可能会导致监控数据无法显示。 表8 Queue约束与限制(AMQP-0-9-1版本) 限制项 约束和限制 Queue名称 Queue名称包含特殊字符,例如“%”、“|”、“/”、“.”,会导致Queue名称与监控页面不一致,在监控页面中特殊字符会以“_”显示。例如:Queue名称为Queue.1%1|2_3/,此时监控中显示的Queue名为“Queue_1_1_2_3_”。 单个Queue的最大消费者数量 5000个。
-
身份策略权限管理 DMS for RabbitMQ服务支持身份策略授权。如表4所示,包括了DMS for RabbitMQ身份策略中的所有系统身份策略。身份策略授权场景的系统身份策略和角色与策略授权场景的并不互通。 表4 DMS for RabbitMQ系统身份策略 系统策略名称 描述 策略类别 DMSReadOnlyAccessPolicy 分布式消息服务只读权限。 系统身份策略 DMSUserAccessPolicy 分布式消息服务普通用户权限(没有实例创建、修改、删除、扩容)。 系统身份策略 DMSFullAccessPolicy 分布式消息服务所有权限。 系统身份策略 DMSServiceLinkedAgencyPolicy 分布式消息服务关联委托策略。 系统身份策略 DMSConsoleFullAccessPolicy 分布式消息服务控制台所有权限。 系统身份策略 表5列出了DMS for RabbitMQ常用操作与系统策略的授权关系,您可以参照该表选择合适的系统身份策略。 表5 常用操作与系统身份策略的关系 操作 DMSReadOnlyAccessPolicy DMSUserAccessPolicy DMSFullAccessPolicy DMSConsoleFullAccessPolicy 创建实例 × × √ √ 修改实例 × × √ √ 删除实例 × × √ √ 变更实例规格 × × √ √ 查询实例信息 √ √ √ √ 除表5以外的系统身份策略,没有任何DMS for RabbitMQ常用操作的权限。
-
角色与策略权限管理 DMS for RabbitMQ服务支持角色与策略授权。默认情况下,管理员创建的
IAM 用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 DMS for RabbitMQ部署时通过物理区域划分,为项目级服务。授权时,“授权范围”需要选择“指定区域项目资源”,然后在指定区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效;如果“授权范围”选择“所有资源”,则该权限在所有区域项目中都生效。访问DMS for RabbitMQ时,需要先切换至授权区域。 如表2所示,包括了DMS for RabbitMQ的所有系统权限。角色与策略授权场景的系统策略和身份策略授权场景的并不互通。 表2 DMS for RabbitMQ系统权限 系统角色/策略名称 描述 类别 依赖关系 DMS FullAccess 分布式消息服务管理员权限,拥有该权限的用户可以操作所有分布式消息服务的功能。 系统策略 无 DMS UserAccess 分布式消息服务普通用户权限(没有实例创建、修改、删除、扩容)。 系统策略 无 DMS ReadOnlyAccess 分布式消息服务的只读权限,拥有该权限的用户仅能查看分布式消息服务数据。 系统策略 无 DMS VPCAccess 分布式消息服务租户委托时需要授权的VPC操作权限。 系统策略 无 DMS KMSAccess 分布式消息服务租户委托时需要授权的KMS操作权限。 系统策略 无 DMS ELBAccess 分布式消息服务租户委托时需要授权的ELB操作权限。 系统策略 无 DMS VPCEndpointAccess 分布式消息服务租户委托时需要授权的VPCEndpoint操作权限。 系统策略 无 DMSAgencyCheckAccessPolicy 分布式消息服务检查租户委托权限需要授权的IAM操作权限。 系统策略 无 DMS BSSAccess 分布式消息服务租户委托时需要授权的BSS操作权限。 系统策略 无 DMS OBSAccess 分布式消息服务租户委托时需要授权的OBS操作权限。 系统策略 无 DMS Administrator 分布式消息服务的管理员权限。 系统角色 依赖Tenant Guest和VPC Administrator,在同项目中勾选依赖的角色。 表3列出了DMS for RabbitMQ常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表3 常用操作与系统策略的关系 操作 DMS FullAccess DMS UserAccess DMS ReadOnlyAccess 创建实例 √ × × 修改实例 √ × × 删除实例 √ × × 变更实例规格 √ × × 查询实例信息 √ √ √ 除表3以外的系统策略,没有任何DMS for RabbitMQ常用操作的权限。
-
RabbitMQ AMQP-0-9-1版本实例 RabbitMQ AMQP-0-9-1版本实例的Queue名称、Vhost名称或Exchange名称包含特殊字符,例如“%”、“|”、“/”、“.”,会导致Queue名称、Vhost名称、Exchange名称与监控页面不一致,在监控页面中特殊字符会以“_”显示。例如:Queue名称为Queue.1%1|2_3/,此时监控中显示的Queue名为“Queue_1_1_2_3_”。 图4 Vhost详情页的Queue名称 图5 监控页的Queue名称
-
RabbitMQ 3.x.x版本实例 RabbitMQ 3.x.x版本实例的队列名称或Vhost名称属于以下任一情况时,可能会导致监控数据无法展示。 RabbitMQ的队列名称以特殊字符开头,例如点号“.”。建议删除带特殊字符的队列。 RabbitMQ的Vhost名称以特殊字符开头,例如点号“.”。建议删除带特殊字符的Vhost。RabbitMQ 3.x.x版本实例在监控页面中,队列名称存在两种显示。如果队列在默认Vhost下,会直接显示队列名。如果队列不在默认Vhost下,队列名称显示为:队列所在的Vhost名称__队列名。例如:队列test01在Vhost-13142708中,此时监控中显示的队列名为“Vhost-13142708__test01”。 在云监控中特殊字符“.”按5个字符计算长度。如果队列名称或Vhost名称包含“.”,且经此规则计算后的总长度超过256个字符,会导致监控数据无法展示。建议删除带“.”的队列或Vhost。 图1 无法展示监控 RabbitMQ 3.x.x版本实例的队列名称或Vhost名称包含特殊字符,例如“%”、“|”、“/”,会导致队列/Vhost名称与监控页面不一致,在监控页面中特殊字符会以“_”显示。例如:队列Queue.1%1|2_3/在默认Vhost中,此时监控中显示的队列名为“Queue.1_1_2_3_”。 图2 Vhost详情页的队列名称 图3 监控页的队列名称
-
RabbitMQ扩容/缩容会影响业务吗? 扩容/缩容RabbitMQ实例的影响如表1所示。 表1 变更实例规格的影响 变更配置类型 影响 代理数量 扩容代理数量过程中会重启RabbitMQ的负载均衡进程,导致节点主备倒换,造成秒级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 变更时长和新增代理数量有关,单个代理的变更时长一般在5~10分钟,总变更时长为(5~10分钟)*新增代理数量。 存储空间 扩容存储空间不会影响业务。 可用存储空间=实际存储空间-用于存储日志的存储空间-格式化磁盘的损耗。例如,实际扩容存储空间到700GB,用于存储日志的数据的存储空间为100GB,格式化磁盘损耗7GB,那么扩容后的可用存储空间为593GB。 预计总变更时长为5分钟内。 代理规格/实例规格 RabbitMQ 3.x.x版本单机实例在变更规格过程中,节点会重启,造成分钟级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 RabbitMQ 3.x.x版本没有配置镜像/仲裁队列的集群实例在变更规格过程中,节点会逐个重启,造成分钟级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 RabbitMQ 3.x.x版本配置了镜像/仲裁队列的集群实例在变更规格过程中,节点会逐个重启,造成秒级业务中断,客户端需要支持自动重连,建议在业务低峰时进行变更。 RabbitMQ 3.x.x版本集群实例在变更规格过程中,变更中的节点连接会切换至其余节点,导致其余节点存在过载风险(比如超过连接数、内存高水位等),建议您在实例规格范围内使用,具体实例规格请参考产品规格。 RabbitMQ AMQP-0-9-1版本单机实例和集群实例在变更规格过程中会有秒级连接闪断,客户端需要支持自动重连,建议在业务低峰时进行变更。 Exchange、Queue和消息需要配置持久化,否则节点重启后,消息可能丢失。设置持久化的方法,请参考配置RabbitMQ持久化。 代理采用滚动重启的方式进行实例变更,变更时长和代理数量有关,单个代理的变更时长一般在5~10分钟,总变更时长为(5~10分钟)*代理数量。 以下示例演示在Java客户端设置消息重试。 ConnectionFactory connectionFactory = new ConnectionFactory();
//设置服务地址
connectionFactory.setHost("localhost");
//设定端口
connectionFactory.setPort(5672);
//自动重试:
connectionFactory.setAutomaticRecoveryEnabled(true);
connectionFactory.setNetworkRecoveryInterval(5);
connectionFactory.setTopologyRecoveryEnabled(true); 父主题: 实例问题
-
变更配置后对计费的影响 当前包年/包月RabbitMQ实例资源的规格不满足您的业务需要时,您可以在RabbitMQ实例控制台发起变更规格操作,变更时系统将按照如下规则为您计算变更费用: 资源升配:新配置价格高于老配置价格,此时您需要支付新老配置的差价。 资源降配:新配置价格低于老配置价格,此时华为云会将新老配置的差价退给您。 这里以资源升配且无任何优惠的场景为例,假设您于2023/04/08在“华北-北京四”区域购买了一个包年/包月RabbitMQ实例(rabbitmq.2u4g.cluster*3),购买时长为1个月,计划在2023/04/18变更规格为rabbitmq.4u8g.cluster*3。旧配置价格为1890 元/月,新配置价格为3780 元/月。计算公式如下: 升配费用=新配置价格*剩余周期-旧配置价格*剩余周期 公式中的剩余周期为每个自然月的剩余天数/对应自然月的最大天数。本示例中,剩余周期=12(4月份剩余天数)/ 30(4月份最大天数)+ 8(5月份剩余天数)/ 31(5月份最大天数)=0.6581,代入公式可得升配费用=3780*0.6581-1890*0.6581=1243.81(元) 更多信息请参见变更资源规格费用说明。
-
适用计费项 分布式消息服务RabbitMQ版对您选择的RabbitMQ实例和RabbitMQ的磁盘存储空间收费。以下计费项支持包年/包月。 表1 适用计费项 计费项 说明 实例费用 包括代理规格和代理数量。 存储空间费用 总存储空间(单个代理的存储空间*代理数量)的费用。随包年/包月RabbitMQ实例创建的存储空间,其计费模式也为包年/包月。 假设您计划购买一个RabbitMQ实例,其存储空间为300GB。在购买RabbitMQ实例页面底部,您将看到所需费用的明细,如图1所示。 图1 配置费用示例 配置费用将包括以下部分: 实例费用:根据所选配置(包括代理规格和代理数量)计算的费用。 存储空间费用:磁盘类型和总磁盘存储空间(单个代理的存储空间*代理数量)的费用。
-
到期后影响 图3描述了包年/包月RabbitMQ实例各个阶段的状态。购买后,在计费周期内RabbitMQ实例正常运行,此阶段为有效期;RabbitMQ实例到期而未续费时,将陆续进入宽限期和保留期。 图3 包年/包月RabbitMQ实例生命周期 到期预警 包年/包月RabbitMQ实例在到期前,系统将向用户推送到期预警消息。预警消息将通过邮件、短信和站内信的方式通知到华为云账号的创建者。 包年资源到期前30天、15天、7天、3天、1天发送到期预警信息。 包月资源到期前15天、7天、3天、1天发送到期预警信息。 到期后影响 资源到期未续费,进入宽限期 如果您的包年/包月RabbitMQ实例到期未续费,RabbitMQ实例会进入宽限期,RabbitMQ实例计费模式会显示“已过期”。宽限期内您可以正常访问RabbitMQ实例,但以下操作将受到限制: 变更实例规格 释放的包年/包月RabbitMQ实例不会进入回收站,会被彻底删除。 资源宽限期到期未续费,进入保留期 如果您在宽限期内仍未续费包年/包月RabbitMQ实例,RabbitMQ实例会进入保留期,RabbitMQ实例状态变为“已冻结”,您将无法对处于保留期的包年/包月RabbitMQ实例执行任何操作。 资源保留期到期未续费,释放且不可恢复 如果包年/包月RabbitMQ实例在保留期到期前仍未续费,那么RabbitMQ实例将被释放,数据无法恢复。释放的实例会被彻底删除,不会进入回收站。 华为云根据客户等级定义了不同客户的宽限期和保留期时长。 关于续费的详细介绍请参见续费概述。
-
计费示例 假设您于2023/03/08 15:50:04在“华北-北京四”区域购买了一个包年/包月RabbitMQ实例(规格:rabbitmq.2u4g.cluster*3,总存储空间:超高I/O 300GB),计费资源包括实例费用(代理规格和代理数量),以及存储空间费用(超高I/O 300GB)。购买时长为一个月,并在到期前手动续费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 您需要为每个计费周期预先付费,各项RabbitMQ资源单独计费,计费公式如表2所示。 表2 计费公式 资源类型 计费公式 资源单价 实例费用 实例规格单价 * 购买时长 请参见分布式消息服务RabbitMQ版价格详情中的“实例价格”。 存储空间费用 存储空间单价 * 购买时长 请参见分布式消息服务RabbitMQ版价格详情中的“存储价格”。 图2给出了上述示例配置的费用计算过程。图中价格仅供参考,实际计算请以分布式消息服务RabbitMQ版价格详情中的价格为准。 图2 包年/包月RabbitMQ实例费用计算示例(华北-北京四区域)
-
适用场景 包年/包月计费模式需要用户预先支付一定时长的费用,适用于长期、稳定的业务需求。以下是一些适用于包年/包月计费模式的业务场景: 稳定业务需求:对于长期运行且资源需求相对稳定的业务,如企业官网、在线商城、博客等,包年/包月计费模式能提供较高的成本效益。 长期项目:对于周期较长的项目,如科研项目、大型活动策划等,包年/包月计费模式可以确保在整个项目周期内资源的稳定使用。 业务高峰预测:如果能预测到业务高峰期,如电商促销季、节假日等,可提前购买包年/包月资源以应对高峰期的需求,避免资源紧张。 数据安全要求高:对于对数据安全性要求较高的业务,包年/包月计费模式可确保资源的持续使用,降低因资源欠费而导致的数据安全风险。