运维编排场景系列-----一键批量重置实例密码
当需要在页面上就可以实现批量选择实例,并输入实例需要重置的密码,简便化重置多台实例密码。此时使用OOS服务可以实现此功能。
前提条件
- 实例状态为启动中(
Starting
)时,无法重置实例密码 - 被安全控制的ECS实例的
OperationLocks
不能标记为"LockReason" : "security"
。
模版说明:
本模版主要功能为:
- 获取实例
- 检查实例运行状态是否符合修改密码
- 修改密码
- 重启ECS实例
FormatVersion: OOS-2019-06-01
Description:
en: Reset ECS instance password and reboot instance.
zh-cn: 重置实例密码,并重启ECS实例。
name-en: ResetPasswordAndRebootInstance
name-zh-cn: 重置实例密码及重启实例
Parameters:
Targets:
Type: Json
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: ALIYUN::ECS::Instance
Password:
Type: String
Description:
en: The ECS instance, 8 to 30 characters in length, which must include three types of characters:uppercase and lowercase letters, numbers, and special symbols.
zh-cn: 实例密码,长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。
MinLength: 8
MaxLength: 30
RateControl:
Description:
en: Concurrency ratio of task execution.
zh-cn: 任务执行的并发比率。
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Description: The RAM role to be assumed by OOS.
Type: String
Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
Description:
en: Views the ECS instances.
zh-cn: 获取ECS实例。
Action: ACS::SelectTargets
Properties:
ResourceType: ALIYUN::ECS::Instance
Filters:
- '{{ Targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: Instances.Instance[].InstanceId
- Name: checkInstanceReady
Action: ACS::CheckFor
Description: Check the ECS instance is running status.
Properties:
Service: ECS
API: DescribeInstances
Parameters:
InstanceIds:
- '{{ ACS::TaskLoopItem }}'
NotDesiredValues:
- Starting
PropertySelector: Instances.Instance[].Status
Outputs:
instanceIds:
Type: List
ValueSelector: Instances.Instance[]
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
- Name: ModifyInstanceAttribute
Action: ACS::ExecuteAPI
Description:
en: Upgrade ECS instance temporary bandwidth.
zh-cn: 升级ECS实例临时带宽。
Properties:
Service: ECS
API: ModifyInstanceAttribute
Parameters:
InstanceId: '{{ ACS::TaskLoopItem }}'
Password: '{{ Password }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
- Name: rebootInstance
Action: ACS::ECS::RebootInstance
Description:
en: Restarts the ECS instances.
zh-cn: 重启实例。
Properties:
instanceId: '{{ ACS::TaskLoopItem }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
模版参数说明:
参数 | 说明 | 示例 |
---|---|---|
Targets | 根据实例标签(tags)或实例ID(InstanceId)选定需要的实例。 | i-11111111111 |
Password | 实例的密码。长度为8至30个字符,必须同时包含大小写英文字母、数字和特殊符号中的三类字符。特殊符号可以是:() ~!@#$%^&*-_+={}[]:;'<>,.?/` |
qwer1234Q |
RateControl | 固定参数。 - 速率控制类型:并发控制 - 并发速率:1 - 最大错误次数:0 |
|
OOSAssumeRole | 可选参数。 - (默认设置)当前账号的已有权限:执行您使用的账号的权限动作。请确保您拥有创建自定义镜像涉及的所有ECS API调用权限。 - 指定RAM角色,使用该角色的权限:如果指定了RAM角色名称,OOS扮演该RAM角色执行运维任务。 |
当前账号的已有权限 |
操作步骤
- 请访问运维编排OOS的控制。
- 单击我的模版,单击创建模板按钮,选取空白模板。
- 将上述提供的模板粘贴到yaml栏,输入名称ResetPasswordAndRebootInstance或自定义名称,点击创建模板。
- 单击创建执行。
- 保持基本信息的默认设置,单击下一步:设置参数。
- 完成参数设置填写,单击下一步:确认。
- 查看参数设置是否无误,确认无误后单击创建执行。
- 在执行管理中查看创建的运维任务。
- 执行结果
系列文章
主题文章
最佳实践
玩转运维编排服务的权限:Assume Role+Pass Role
阿里云运维编排新功能:一键批量克隆ECS
批量在多台ECS内执行命令
场景系列
运维编排场景系列----更新ECS镜像
运维编排场景系列----给ECS实例自动打TAG
运维编排场景系列----从实例中拷贝文件到OSS
运维编排场景系列----给实例加到SLS机器组
运维编排场景系列----检测MFA功能状态
运维编排场景系列----每日统计多Region实例的运行状态
运维编排场景系列----如何使用jq
运维编排场景系列----分批到机器上运行命令
运维编排场景系列----更新镜像后自动更新伸缩配置镜像
运维编排场景系列----向Linux实例上传文件
运维编排场景系列----运行远端shell脚本
运维编排场景系列----在ECS实例上运行Ansible-playbook
运维编排场景系列----下载JVM堆栈到OSS
运维编排系列场景----将实例的固定公网IP转换为其它新EIP
运维编排场景系列----自动定时升级临时带宽
运维编排场景系列----批量更新云助手客户端
运维编排系列场景----批量释放实例
运维编排场景系列----ECS实例系统快照下载到本地
运维编排场景系列----批量更换系统盘
运维编排场景系列----自动创建多个区域同类型存储空间

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
hyperledger fabric 源码调试(orderer)环境搭建教程
前言 接触hyperledger fabric有一段时间了,看文档搭集群写链码都做过,但要深入理解还是通过源码比较直观,遂决定部署起来。同多机器部署一样,官文对源码调试的描述较少,网上有些前辈已经写过但少有明确每一步的原因,本系列文尝试依据个人理解来描述构建fabric源码调试环境的步骤,去掉docker这层障碍,并给出思考过程。 之前有写过一篇hyperledger fabric 多机部署的教程,基于first-network示例,这次也是以它为基准,以便在遇到问题的时候更容易从官方文档找到解决方案。需要先走通first-network的搭建,有些配置项需要参考它。 官文链接:https://hyperledger-fabric.readthedocs.io/en/release-1.4/build_network.html 分析 fabric模块划分比较细,采用docker是为了简化部署,同时在官方提供的文档中也大量采用shell脚本来引导,需要先大致明确几个概念: docker: 应用容器工具,可以将应用运行所需要的一些环境打包进去,方便移植。 docker-comp...
-
下一篇
Spark整合Ray思路漫谈
作者:祝威廉,资深数据架构,11年研发经验。同时维护和开发多个开源项目。擅长大数据/AI领域的一些思路和工具。现专注于构建集大数据和机器学习于一体的综合性平台,降低AI落地成本相关工作上。 什么是Ray 之前花了大概两到三天把Ray相关的论文,官网文档看了一遍,同时特意去找了一些中文资料看Ray当前在国内的发展情况(以及目前国内大部分人对Ray的认知程度)。 先来简单介绍下我对Ray的认知。 首先基因很重要,所以我们先需要探查下Ray最初是为了解决什么问题而产生的。Ray的论文显示,它最早是为了解决增强学习的挑战而设计的。增强学习的难点在于它是一个需要边学习,边做实时做预测的应用场景,这意味会有不同类型的tasks同时运行,并且他们之间存在复杂的依赖关系,tasks会在运行时动态产生产生新的tasks,现有的一些计算模型肯定是没办法解决的
相关文章
文章评论
共有0条评论来说两句吧...