提供amazon ec2实例的ploy插件。
ploy_ec2的Python项目详细描述
概述
ploy-ec2插件提供了Amazon EC2与ploy的集成。
安装
ploy_ec2最好与easy_install、pip或在buildout中与zc.recipe.egg一起安装。
大师级
要使用ploy-ec2,您需要一个amazon帐户和AWS keys。
一旦你拿到了你的密钥,你应该把它们放在一个安全的位置,并在你的ploy.conf中引用它们。 此外,您还需要设置主控形状的区域:
[ec2-master:ec2eu] access-key-id = ~/.aws/ec2.id secret-access-key = ~/.aws/ec2.key region = eu-west-1
您还可以设置AWS_ACCESS_KEY_ID和AWS_SECRET_ACCESS_KEY环境变量。
您需要为每个要使用的region定义一个主控形状。
实例
每个实例都有以下强制设置:
- image
- 此实例将使用的Amazon Machine Image (AMI)启动。
- keypair
- 要使用的SSH keypair的名称。
- placement
- 启动实例的{a7}。
- securitygroups
- 应该将此实例分配给Securitygroups的名称。
以下设置是可选的:
instance_type
ip
- startup_script
- 脚本的路径,该脚本将在实例创建和首次启动后立即运行。 这使用User Data功能,需要AMI支持。
volumes
snapshots
device_map
delete-volumes-on-terminate
安全组
description
- connections
[ec2-securitygroup:app-server] description = The production server connections = tcp 22 22 0.0.0.0/0 tcp 80 80 0.0.0.0/0
体积
您可以通过ec2-volume节定义卷。 节的id不能以vol-开头。 可以将size声明为GB数。
如果卷不存在,则自动创建。
[ec2-volume:a-volume-name] size = 100 [ec2-instance:foo] ... volumes = a-volume-name /dev/sdf
宏扩展
例如,展开宏时不会复制ip和volumes选项。
指纹验证
自动ssh指纹验证通过检查指纹是否在实例的控制台输出中工作。
重新启动或停止/启动实例后,将刷新控制台输出。 问题是,默认情况下指纹不再包含在控制台中。 要解决这个问题,您需要在重新启动时以某种方式记录指纹。 使用ubuntu的一种方法是在/var/lib/cloud/scripts/per-boot/ssh-keys添加一个包含以下内容的脚本:
#!/bin/sh
/usr/bin/ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
确保脚本是可执行的。
更改日志
1.2.0-2015年9月3日
- 检查卷的状态,如果卷仍处于连接状态,则给出有用的错误消息。 [fschulze]
- 允许通过ec2-volume节定义卷。 [fschulze]
- 修复了ploy debug -c命令对控制台输出的支持。 [fschulze]
- 重用ploy.plain中的init_ssh_密钥以获取更多选项和错误检查。 [fschulze]
1.1.1-2015-01-22
- 仅当设备映射在配置中时才设置,前一个None默认值 不总是有效的。 [fschulze]
- 修复了status命令的控制台输出可用性测试。 [fschulze]
- 如果指纹不在控制台输出中,则显示更好的错误消息。 [fschulze]
- 如果快速启动,同一名称可以有多个实例 停了下来。请求主机状态时处理该情况。 [fschulze]
1.1.0-2014年10月27日
- 请求主机状态时打印所有EC2实例的状态。 [fschulze]
1.0.0-2014年7月19日
- 添加了文档。 [fschulze]
1.0b4-2014年7月15日
- 修复来自ploy和ec2实例的实例之间的混淆。 [fschulze]
1.0b3-2014年7月8日
- 启用ploy后,将snapshotslist命令移到此处。 [fschulze]
- 将awsome先生重命名为ploy,将awsome.ec2先生重命名为p洛伊·埃克2。 [fschulze]
1.0b2-2014年5月15日
- 将conn重命名为ec2_conn,以允许重用BaseInstance中的conn。 [fschulze]
- 将setuptools git从setup.py移到.travis.yml,只需要 发布和测试。 [fschulze]
1.0b1-2014年3月24日
- 初次发行 [fschulze]