AutoScaling 通过lifecycleHook自动添加MongoDB白名单-阿里云开发者社区

开发者社区> tongkn> 正文

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

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
添加到收藏夹
function bookmarkit() {  window.external.addFavorite('http://你的网址','你的网站名称') }  if (document.all)document.write('加入收藏夹')
498 0
ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
ML之FE:基于load_mock_customer数据集(模拟客户)利用featuretools工具实现自动特征生成/特征衍生
38 0
「镁客早报」科大讯飞回应裁员传闻;谷歌Waymo自动驾驶汽车部门在密歇根州建造工厂
马斯克或将建大型强子对撞机挖隧道;百度遭自媒体炮轰,花旗下调其目标股价并列入负面观察。
484 0
ML之FE:基于load_mock_customer数据集(模拟客户,单个DataFrame)利用featuretools工具实现自动特征生成/特征衍生
ML之FE:基于load_mock_customer数据集(模拟客户,单个DataFrame)利用featuretools工具实现自动特征生成/特征衍生
20 0
对于已经添加引用,还找不到类型或名字空间的错误及svn客户端清除用户帐号密码
1 已经添加过引用,却找不到类型或名字空间。 可以看下项目的的.net framework版本是否一致。 项目(例如类库项目)右键(vs解决方案资源管理器)——》属性——》应用程序——》目标框架。 也就是检查一下引用项目与被引用项目的目标框架是否版本一致。
674 0
+关注
tongkn
开发工程师
14
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《Nacos架构&原理》
立即下载
《看见新力量:二》电子书
立即下载
云上自动化运维(CloudOps)白皮书
立即下载