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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
3月前
|
缓存 NoSQL 网络协议
【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
【Azure Redis 缓存 Azure Cache For Redis】在创建高级层Redis(P1)集成虚拟网络(VNET)后,如何测试VNET中资源如何成功访问及配置白名单的效果
|
4月前
|
开发框架 运维 NoSQL
函数计算产品使用问题之如何通过内网连接Redis,并开放白名单
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
1月前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(一)
数据的存储--Redis缓存存储(一)
|
1月前
|
存储 缓存 NoSQL
数据的存储--Redis缓存存储(二)
数据的存储--Redis缓存存储(二)
数据的存储--Redis缓存存储(二)
|
1月前
|
消息中间件 缓存 NoSQL
Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。
【10月更文挑战第4天】Redis 是一个高性能的键值对存储系统,常用于缓存、消息队列和会话管理等场景。随着数据增长,有时需要将 Redis 数据导出以进行分析、备份或迁移。本文详细介绍几种导出方法:1)使用 Redis 命令与重定向;2)利用 Redis 的 RDB 和 AOF 持久化功能;3)借助第三方工具如 `redis-dump`。每种方法均附有示例代码,帮助你轻松完成数据导出任务。无论数据量大小,总有一款适合你。
67 6
|
1月前
|
缓存 NoSQL 关系型数据库
redis和缓存及相关问题和解决办法 什么是缓存预热、缓存穿透、缓存雪崩、缓存击穿
本文深入探讨了Redis缓存的相关知识,包括缓存的概念、使用场景、可能出现的问题(缓存预热、缓存穿透、缓存雪崩、缓存击穿)及其解决方案。
158 0
redis和缓存及相关问题和解决办法 什么是缓存预热、缓存穿透、缓存雪崩、缓存击穿
|
8天前
|
缓存 NoSQL Redis
Redis 缓存使用的实践
《Redis缓存最佳实践指南》涵盖缓存更新策略、缓存击穿防护、大key处理和性能优化。包括Cache Aside Pattern、Write Through、分布式锁、大key拆分和批量操作等技术,帮助你在项目中高效使用Redis缓存。
64 22
|
7天前
|
缓存 NoSQL 中间件
redis高并发缓存中间件总结!
本文档详细介绍了高并发缓存中间件Redis的原理、高级操作及其在电商架构中的应用。通过阿里云的角度,分析了Redis与架构的关系,并展示了无Redis和使用Redis缓存的架构图。文档还涵盖了Redis的基本特性、应用场景、安装部署步骤、配置文件详解、启动和关闭方法、systemctl管理脚本的生成以及日志警告处理等内容。适合初学者和有一定经验的技术人员参考学习。
60 7
|
11天前
|
存储 缓存 监控
利用 Redis 缓存特性避免缓存穿透的策略与方法
【10月更文挑战第23天】通过以上对利用 Redis 缓存特性避免缓存穿透的详细阐述,我们对这一策略有了更深入的理解。在实际应用中,我们需要根据具体情况灵活运用这些方法,并结合其他技术手段,共同保障系统的稳定和高效运行。同时,要不断关注 Redis 缓存特性的发展和变化,及时调整策略,以应对不断出现的新挑战。
41 10
|
11天前
|
缓存 监控 NoSQL
Redis 缓存穿透的检测方法与分析
【10月更文挑战第23天】通过以上对 Redis 缓存穿透检测方法的深入探讨,我们对如何及时发现和处理这一问题有了更全面的认识。在实际应用中,我们需要综合运用多种检测手段,并结合业务场景和实际情况进行分析,以确保能够准确、及时地检测到缓存穿透现象,并采取有效的措施加以解决。同时,要不断优化和改进检测方法,提高检测的准确性和效率,为系统的稳定运行提供有力保障。
41 5

热门文章

最新文章