如果系统预置的DMS for RabbitMQ权限,不满足您的授权要求,可以创建自定义策 略。自定义策略中可以添加的授权项(Action)请参考细粒度策略支持的授权项。
目前华为云支持以下两种方式创建自定义策略:
● 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服 务、操作、资源、条件等策略内容,可自动生成策略。
● JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内 容;也可以直接在编辑框内编写JSON格式的策略内容。
具体创建步骤请参见:创建自定义策略。本章为您介绍常用的DMS for RabbitMQ自定 义策略样例。
说明
DMS for RabbitMQ服务的权限与策略基于分布式消息服务DMS,因此在IAM服务中为 RabbitMQ分配用户与权限时,请选择并使用“DMS”的权限与策略。
用户指南 1 权限管理
DMS for RabbitMQ 自定义策略样例
● 示例1:授权用户删除实例和重启实例
{ "Version": "1.1", "Statement": [ {
"Effect": "Allow", "Action": [ "
dms:instance:delete dms:instance:modifyStatus "
] } ] }
● 示例2:拒绝用户删除实例
拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略 中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先。
如果您给用户授予DMS FullAccess的系统策略,但不希望用户拥有DMS
FullAccess中定义的删除实例权限,您可以创建一条拒绝删除实例的自定义策略,
然后同时将DMS FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可 以对DMS FullAccess执行除了删除实例外的所有操作。拒绝策略示例如下:
{ "Version": "1.1", "Statement": [ {
"Effect": "Deny", "Action": [
"dms:instance:delete"
] } ] }
2 环境准备
创建RabbitMQ实例前,您需要创建虚拟私有云(Virtual Private Cloud,以下简称 VPC),并且已配置好安全组与子网。VPC为RabbitMQ实例提供一个隔离的、用户自 主配置和管理的虚拟网络环境,提升云服务资源的安全性,简化用户的网络部署。
如果用户已有VPC,可重复使用,不需要多次创建。
创建 VPC
步骤1 登录管理控制台。
步骤2 在管理控制台左上角单击 ,选择区域。
说明
此处请选择与您的应用服务相同的区域。
步骤3 在管理控制台左上角单击 ,选择“网络 > 虚拟私有云”。
步骤4 单击“创建虚拟私有云”,进入“创建虚拟私有云”界面。
步骤5 根据界面提示创建虚拟私有云。如无特殊需求,界面参数均可保持默认。关于创建 VPC的详细信息可以参考《虚拟私有云用户指南》。
创建虚拟私有云时,会同时创建子网,若需要额外创建子网,请参考步骤6。如果不需 要额外创建子网,请执行步骤7。
步骤6 在左侧导航栏,单击“子网”,进入“子网”界面。单击“创建子网”。根据界面提 示创建子网。如无特殊需求,界面参数均可保持默认。
关于创建子网的详细信息可以参考《虚拟私有云用户指南》。
步骤7 在左侧导航栏,选择“访问控制 > 安全组”,进入“安全组”界面。根据界面提示创 建安全组。如无特殊需求,界面参数均可保持默认。
关于创建安全组的详细信息可以参考《虚拟私有云用户指南》。
----结束
用户指南 2 环境准备
3 购买实例
操作场景
目前,DMS提供RabbitMQ类型的队列服务,RabbitMQ实例采用物理隔离的方式部 署,租户独占RabbitMQ实例。支持用户自定义规格和自定义特性,您可以根据业务需 要定制相应计算能力和存储空间的RabbitMQ实例。
RabbitMQ是一款基于AMQP协议的开源服务,用于在分布式系统中存储转发消息,服 务器端用Erlang语言(支持高并发、分布式以及健壮的容错能力等特点)编写,支持 多种语言的客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、
ActionScript、XMPP、STOMP、AJAX等。
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层的 一个开放标准协议,为面向消息的中间件设计,主要特征为面向消息、队列、路由、
可靠性、安全。
前提条件
RabbitMQ实例运行于虚拟私有云,购买实例前,需保证有可用的虚拟私有云,并且已 配置好安全组与子网。
操作步骤
步骤1 登录管理控制台。
步骤2 在管理控制台左上角单击 ,选择区域。
说明
此处请选择与您的应用服务相同的区域。
步骤3 在管理控制台左上角单击 ,选择“应用中间件 > 分布式消息服务RabbitMQ版”,
进入分布式消息服务RabbitMQ专享版页面。
步骤4 单击页面右上方的“购买RabbitMQ实例”。
步骤5 选择“计费模式”、“区域”、“项目”和“可用区”。
步骤6 设置“实例名称”和“企业项目”。
步骤7 设置实例信息。
1. 版本:RabbitMQ的版本号,当前仅支持RabbitMQ 3.7.17。
2. 实例类型:支持“单机”和“集群”。
– 单机:表示部署一个RabbitMQ代理。
– 集群:表示部署多个RabbitMQ代理,实现高可靠的消息存储。
3. CPU架构:当前仅支持“x86计算”,保持默认值即可。
4. 规格:根据实际情况选择规格。
说明
为了保证服务的稳定可靠,RabbitMQ采用了默认的40%高水位配置。当内存占用率到达 40%高水位后,会触发流控,生产者发送消息会被阻塞。为了避免高水位的产生,请及时 消费积压在队列中的消息。
5. 代理个数:根据实例情况选择代理个数。
仅在华东-上海一、华东-上海二、华北-北京四和华南-广州区域需要选择。
6. 存储空间:选择RabbitMQ实例的磁盘类型和储存空间总量。
如何选择磁盘类型请参考磁盘类型及性能介绍。
– 单机实例的取值范围200GB ~ 90000GB/100GB ~ 90000GB,具体以控制台 为准。
– 集群实例的取值范围为:100GB*代理数 ~ 90000GB、200GB*代理数 ~ 90000GB、300GB*代理数 ~ 90000GB。
7. 虚拟私有云:选择已经创建好的虚拟私有云和子网。
虚拟私有云可以为您的RabbitMQ实例构建隔离的、能自主配置和管理的虚拟网络 环境。
8. 安全组:选择已经创建好的安全组。
安全组是一组对弹性云服务器的访问规则的集合,为同一个VPC内具有相同安全 保护需求并相互信任的弹性云服务器提供访问策略。
您可以单击右侧的“管理安全组”,跳转到网络控制台的安全组页面,查看或创 建安全组。
用户指南 3 购买实例
图3-1 设置实例信息
步骤8 设置连接RabbitMQ实例的用户名和密码。
步骤9 设置实例购买时长。
当选择了“包年/包月”计费模式时,页面才显示“购买时长”参数,您需要根据业务 需要选择。
步骤10 单击“更多配置”,设置更多相关信息。
1. 设置“公网访问”。
您可以选择是否打开公网访问开关。
如果选择了开启,表示访问RabbitMQ实例可以通过弹性IP访问。这时页面会显示
“弹性IP地址”,在“弹性IP地址”区域,您可下拉选择已有的弹性IP。另外,您 可单击右侧的“创建弹性IP”,跳转到网络控制台的弹性公网IP页面,购买弹性公 网IP。
图3-2 购买 RabbitMQ 实例时公网访问设置
说明
– 公网访问与VPC内访问相比,可能存在网络丢包和抖动等情况,且访问时延有所增加,
因此建议仅在业务开发测试阶段开启公网访问进行调试。
– 如果用户在虚拟私有云的服务页面手动解绑定或删除EIP,DMS服务会自动关闭相应 RabbitMQ实例的公网访问功能。
2. 设置“SSL”。
客户端连接实例时SSL认证的开关。开启SSL,则数据加密传输,安全性更高。
SSL开关在实例创建完成后不支持修改,请明确是否需要开启。
3. 设置“标签”。
标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种 维度(例如用途、所有者或环境)对云资源进行分类。
– 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标 签键值对。另外,您可以单击右侧的“查看预定义标签”,系统会跳转到标 签管理服务页面,查看已经预定义的标签,或者创建新的标签。
– 您也可以直接在“标签键”和“标签值”中设置标签。
当前每个RabbitMQ实例最多支持设置20个不同标签,标签的命名规格,请参考管 理实例标签章节。
4. 设置实例的描述信息。
步骤11 填写完上述信息后,单击“立即购买”,进入“规格确认”页面。
步骤12 确认实例信息无误且阅读并同意《华为云用户协议》后,如果“计费模式”选择“包 年/包月”,单击“去支付”。根据界面提示信息,支付费用。如果“计费模式”选择
“按需付费”,单击“提交”。
步骤13 在实例列表页面查看实例是否创建成功。
创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。
● 当实例的“状态”变为“运行中”时,说明实例创建成功。
● 如果创建实例失败,在信息栏的“创建失败任务”中查看创建失败的实例。请参 考删除实例,删除创建失败的RabbitMQ实例,然后重新购买。如果重新购买仍然 失败,请联系客服。
----结束
用户指南 3 购买实例