AutoScaling 通过lifecycleHook自动添加Redis白名单

简介: 弹性伸缩核心数据库组件不包含Redis实例,想要自动化配置伸缩组实例到Redis白名单中,是一件相当麻烦的事情。弹性伸缩与OOS运维编排合作,通过lifecycleHook的方式为大家提供了一种简单,可靠的自动化添加Redis白名单的方案。

弹性伸缩核心数据库组件不包含Redis实例,想要自动化配置伸缩组实例到Redis白名单中,是一件相当麻烦的事情。弹性伸缩与OOS运维编排合作,通过lifecycleHook的方式为大家提供了一种简单,可靠的自动化添加Redis白名单的方案。

OOS 简介

什么是OOS

Operation Orchestration Service,简称OOS,是全面、免费的云上自动化运维平台,提供运维任务的管理和执行。典型使用场景包括:事件驱动运维,批量操作运维,定时运维任务,跨地域运维等,OOS为重要运维场景提供审批,通知等功能。OOS帮您实现标准化运维任务,从而实践运维即代码(Operations as Code)的先进理念。关于OOS更详细的介绍请查阅 运维编排服务

OOS核心概念

模板:

OOS通过模板来定义具体的运维动作。OOS为用户提供了大量的通用模板来应对丰富的运维场景,同时,OOS允许用户方便的创建和修改模板来实现自定义运维动作。例如,ACS-ESS-LifeCycleModifyRedisIPWhitelist为用户提供了将弹性伸缩创建出来的实例的private ip添加Redis白名单的运维动作。关于模板的定义与语法,请查看 模板

执行:

模板定义了一个具体的运维动作,通过模板,我们可以创建出一个执行,即按照模板中定义的任务按照一定的顺序依次执行。我们可以手动触发一次执行,并观察其运行结果和状态是否符合预期,然后再将其应用于自动化流程。关于OOS执行的更多内容请查看 执行

关联模板

模板介绍

ACS-ESS-LifeCycleModifyRedisIPWhitelist模板负责添加/移除Redis白名单操作。当您需要实现自动化添加/移除Redis白名单操作时,您需要针对扩缩容流程分别设置两条OOS类型lifecycleHook。

模板具有如下行为:

  1. 根据指定的实例ID列表获取Private IP列表;
  2. 将Private IP列表添加/移除Redis实例IP列表;

该模板同时支持回调功能:

  1. 执行成功时,通过回调通知lifecycleHook继续执行挂起的伸缩活动;
  2. 执行失败时,通过回调通知lifecycleHook回滚挂起的伸缩活动;
  3. 当无回调时,lifecycleHook挂起的伸缩活动将在超时后,执行hook指定的策略。

参数指定

用户可以创建类型为OOS的lifecycleHook,并选择OOS系统模板ACS-ESS-LifeCycleModifyRedisIPWhitelist。在选择了指定的系统模板之后,你需要为模板运行配置合适的参数,例如目标Redis实例的ID,实例ID列表,lifecycleHook ID信息等。由于实例ID列表,lifecycleHook ID等信息只有在运行时才能获取到,你需要通过伪参数的提供占位符信息,支持的伪参数信息如下:

  1. ${scalingGroupId},当前伸缩活动所属的伸缩组id;
  2. ${instanceIds},当前伸缩活动关联的实例列表;
  3. ${regionId},当前伸缩活动执行的地域;
  4. ${lifecycleActionToken},伸缩活动的等待状态标识符,用于提前结束当前的挂起活动;
  5. ${lifecycleHookId},关联生命周期挂钩id。

注意事项

使用ACS-ESS-LifeCycleModifyRedisIPWhitelist模板时您需要注意:

  1. 当您创建该模板的lifecycleHook时,您需要将伸缩组中存量的实例列表手动添加到Redis白名单中,否则,当移除一个Redis白名单中不存在的实例私网IP时,将出现错误。

当指定生命周期挂钩关联一个OOS模板时,用户需要通过生命周期挂钩的通知标识(NotificationMetadata,简称metadata)为创建OOS执行指定所需的参数。针对OOS模板的metadata,你需要注意:

  1. metadata必须为JSON字符串格式;
  2. metadata中的键,必须与OOS模板参数一一对应;
  3. OOS模板中不存在默认值的参数必须指定,存在默认值的参数可选择是否指定以覆盖默认值。
  1. OOS模板通过扮演指定的角色 OOSServiceRole 执行关联的运维操作,因此您需要确保该角色存在,并具有相应的权限。

最佳实践

控制台使用

下面以控制台创建自动添加Redis白名单的OOS类型lifecycleHook为例进行使用介绍。

首先,您需要确定OOS模板扮演的角色 OOSServiceRole 存在,并具有相应的权限,否则您需要首先创建该角色。
登录 RAM控制台,点击新建角色。

_

角色类型选择 阿里云 服务.

_

角色名称必须为 OOSServiceRole, 授信服务选择 运维编排服务。点击完成进行创建。

_

为角色添加操作权限。

image

image

针对扩容流程创建类型为OOS模板的生命周期挂钩,这时,弹框提示您选择OOS模板,这里需要选择系统模板ACS-ESS-LifeCycleModifyRedisIPWhitelist。

image

接下来,您需要填充模板使用的参数,此处已经为您自动填充了部分伪参数,您只需要填写目标Redis实例ID,同时选择modifyMode为Append。点击确认,核实您传入的参数。

image

点击创建执行,将回到创建lifecycleHook的弹框。

image

再次点击创建生命周期挂钩,完成创建。

此时您可以执行一条扩容伸缩规则,并在OOS控制台观察模板的执行过程。

image

目录
相关文章
|
机器学习/深度学习 数据采集 算法
数据挖掘实战:个人信贷违约预测(上)
大家好,我是东哥。本次分享一个数据挖掘实战项目:个人信贷违约预测,此项目对于想要学习信贷风控模型的同学非常有帮助,数据和源码在文末。
1211 0
数据挖掘实战:个人信贷违约预测(上)
|
存储 SQL 关系型数据库
OceanBase与MySQL有何区别?
【8月更文挑战第12天】OceanBase与MySQL有何区别?
4396 3
|
消息中间件 负载均衡 Java
springCloud和springCloud alibaba
springCloud和springCloud alibaba
2433 0
|
人工智能 数据可视化 开发者
深度解析基于LangGraph的Agent系统架构设计与工程实践
LangGraph作为Agent 生态中非常热门的框架,今天我将借助 LangGraph,更高效、更优雅的方式构建复杂智能体系统。
2799 2
|
安全 区块链 数据安全/隐私保护
带你读《企业安全建设指南:金融行业安全架构与技术实践》之二:金融行业的信息安全
本书全面、系统地介绍企业信息安全的技术架构与实践,总结了作者在金融行业多年的信息安全实践经验,内容丰富,实践性强。第一部分“安全架构”主要内容:信息安全观、金融行业信息安全的特点、安全规划、内控合规管理、信息安全团队建设、安全培训规划、外包安全管理、安全考核、安全认证等。第二部分“安全技术实战”主要内容:互联网应用安全、移动应用安全、企业内网安全、数据安全、业务安全、邮件安全、活动目录安全、安全检测、安全运营、SOC、安全资产管理和矩阵式监控、信息安全趋势和安全从业者的未来等。
|
SQL 分布式计算 Hadoop
自建Hadoop迁移阿里云MaxCompute实践-持续更新2018/9/13
Hadoop迁移MaxCompute的文章教程应该不少,比如前不久刚刚发布的《Hadoop数据迁移到MaxCompute最佳实践》https://help.aliyun.com/video_detail/88429.
4354 0
|
安全 网络安全
|
安全 Cloud Native Devops
GitHub Action + ACK:云原生 DevOps 落地利器
据信通院《中国 DevOps 现状调查报告(2020年)》显示,63% 的企业已经实践落地 DevOps,采用持续交付流水线打通开发、测试、部署和运维多个环节。但是依然有 20% 的企业反馈实践 DevOps 复杂,自建 Jenkins 需要自部署及插件运维,而 SaaS 化 CI/CD 工具又配置繁琐,希望有更轻量便捷的工具加速其转型落地。
GitHub Action + ACK:云原生 DevOps 落地利器
|
人工智能 安全 云计算
非洲首届奥运赛事将跑在阿里云上!
阿里云将为2026年达喀尔青奥会提供全程云计算与AI支持,覆盖赛事核心应用及服务,助力赛事全面上云,提升运营效率与观众体验。这将是奥运史上首届在非洲举办的综合性赛事,也将首次由云计算和AI技术全面支撑运行。
622 0

热门文章

最新文章