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

简介: 本文将为您介绍如何通过lifecycleHook实现弹性伸缩组中实例自动加入/移除MongoDB白名单。相关介绍lifecycleHook通过关联OOS模板的方式来实现自动化管理MongoDB白名单的工作,关于lifecycleHook与OOS如何协作,你可以查看兄弟文章AutoScaling 通过lifecycleHook自动添加Redis白名单。

本文将为您介绍如何通过lifecycleHook实现弹性伸缩组中实例自动加入/移除MongoDB白名单。

相关介绍

lifecycleHook通过关联OOS模板的方式来实现自动化管理MongoDB白名单的工作,关于lifecycleHook与OOS如何协作,你可以查看兄弟文章AutoScaling 通过lifecycleHook自动添加Redis白名单

模板介绍

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

ACS-ESS-LifeCycleModifyMongoDBIPWhitelist模板具有以下行为方式:

根据指定的实例ID列表获取Private IP列表;
将Private IP列表添加/移除MongoDB实例白名单列表;
该模板同时支持回调功能:

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

参数指定

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

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

注意事项

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

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

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

  1. metadata必须为JSON字符串格式;
  2. metadata中的键,必须与OOS模板参数一一对应;
  3. OOS模板中不存在默认值的参数必须指定,存在默认值的参数可选择是否指定以覆盖默认值。

最佳实践

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

image

image

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

image

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

image

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

image

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

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

https://yqfile.alicdn.com/c157447eb79cbf46fd845faca9e2a8804cc98fb3.png

目录
相关文章
|
NoSQL MongoDB 数据库
MongoDB 自动删除集合中过期的数据——TTL索引
简介 ​ TTL (Time To Live, 有生命周期的) 索引是特殊单字段索引,MongoDB可以用来在一定时间后自动从集合中删除文档的特殊索引。 这对于某些类型的数据非常好,例如机器生成的事件数据,日志和会话信息,这些信息只需要在数据库中保留一段时间。 ​ 创建 TTL 索引,只需要在使用 db.collection.createIndex() 方法,对字段值为日期或者包含日期的数组设置 expireAfterSeconds 选项即可。 1、如果字段是一个数组,并有多个日期值时,MongoDB使用最低(即最早)日期值来计算失效阈值。 2、如果字段不是日期类型也不是一个包含日期的数组
1203 0
|
DataWorks NoSQL 关系型数据库
DataWorks操作报错合集之在使用 DataWorks 进行 MongoDB 同步时遇到了连通性测试失败,实例配置和 MongoDB 白名单配置均正确,且同 VPC 下 MySQL 可以成功连接并同步,但 MongoDB 却无法完成同样的操作如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
308 1
|
运维 NoSQL MongoDB
(2)MongoDB副本集自动故障转移原理(含客户端)
前文我们搭建MongoDB三成员副本集,了解集群基本特性,今天我们围绕下图聊一聊背后的细节。
(2)MongoDB副本集自动故障转移原理(含客户端)
|
SQL NoSQL JavaScript
MongoDB 自动增长
MongoDB 自动增长
197 0
|
弹性计算 NoSQL
创建Mongodb和ECS并自动添加访问白名单
云数据库 MongoDB版,采用三节点副本集的架构保证服务的高可用。本文介绍如何通过阿里云资源编排服务(ROS),创建一台ECS服务器和一个Mongodb版云数据库,并把ECS加入到Mongodb的访问白名单中。 先试为快,一步创建 >> 创建ECS实例 创建ECS实例的详细说明,请移步 通
5387 0
|
6月前
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
6月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
533 79
|
6月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
310 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉

热门文章

最新文章

推荐镜像

更多