一个python包,用于指示此ec2实例是否应为一个实例,并且仅用于在自动缩放组中执行任务。

chesne的Python项目详细描述


py chesney

CircleCI

一个python包,用于指示aws ec2实例是否是指定在自动缩放组中执行特殊任务的实例。

动机

假设您有一组ec2实例,通过一个自动伸缩组部署,它们都从共享网络驱动器提供web内容。

现在,假设您希望指定其中一个ec2实例为,并且只指定将共享内容备份到另一个位置。

如果启动配置设置了every实例来执行备份,那么它们最终可能都会相互践踏,并且会有大量的流量浪费。如果手动将一个实例配置为执行备份的特殊情况,那么当该实例关闭时会发生什么情况?

(当然,您可能决定让一个完全独立的ec2实例连接到网络驱动器来执行备份,这样您的web服务器就不会承担多个责任。这是个好主意。我假设您的项目不值得使用这样的基础设施,您很高兴有多个实例承担多个责任。)

chesney通过确保它只为自动缩放组中的oneec2实例返回true,并为所有其他实例返回false来解决此问题。这意味着您可以将所有实例配置为——例如——执行每日检查以查看它们是否是唯一的,然后仅在它们是时启动备份。

安装

pip install chesney

命令行用法

python -m chesney [--log-level LEVEL]

将返回truefalse

代码使用

importchesneyifchesney.is_appointed():# Do the thingelse:# Don't do the thing.

权限

必须使用以下权限运行chesney

  • autoscaling:DescribeAutoScalingGroups
  • ec2:DescribeInstances

IAM策略如下:

PolicyName:AllowChesneyPolicyDocument:Statement:-Effect:AllowAction:-"autoscaling:DescribeAutoScalingGroups"-"ec2:DescribeInstances"Resource:-"*"

开发

先决条件

chesney需要python 3.x。

安装依赖项

pip install -e .[dev]

运行测试

python test.py

更改日志

v1.0-2018-12-03

  • 初次发布。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android Studio中的Java错误,但不是Eclipse   java如何使用jsp更新数据库中的文件?   jsoup如何在java中从较大的子字符串中提取多个子字符串?   java RestFB:当页面的URI具有页面名称时,无法获取页面帖子   java可以让Maven做我们在ANT构建中正在做的事情。xml   java如何在JasperReports中动态包含来自Servlet的图像?   java在hibernate中用新集更新旧集   从导出为可运行的Java应用程序创建、解析和管理XML文件。jar文件   在Java中使用数组的基础知识   调试从JAVA程序调用的MATLAB函数   java实现了Iterable hands错误大小的备份   JAVA木卫一。FileNotFoundException:请求的资源不可用   java Android Spring 1.0.1使用基本身份验证删除   java如何使用com解析和对象在一个数字数组中的值。fasterxml。杰克逊。数据绑定。对象映射器   比较两个字符串时发生java NullPointerException