提供amazon ec2实例的ploy插件。

ploy_ec2的Python项目详细描述


概述

ploy-ec2插件提供了Amazon EC2ploy的集成。

安装

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_IDAWS_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

宏扩展

例如,展开宏时不会复制ipvolumes选项。

指纹验证

自动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]

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

推荐PyPI第三方库


热门话题
找不到足够的连续内存会导致OOM吗?   java如何计算一个矩形可以放入另一个矩形的次数?   谷歌地图api java   java Autowired批注在AuthenticationSuccessHandler中返回null   Java电话号码格式正则表达式   eclipse我希望能够同时选择多个复选框?Java SWT   java j2objc可以用于生成不适用于iOS的目标C代码吗?   使用cUrl将PHP post数组转换为java servlet   java playpac4j和Play 2.5:@requireAuthentication注释导致stacktrace   java为什么在Javamail中连接超时?   java使用SwingUtilities。main方法中的invokeLater()   如何在名为from Unity的Java插件中创建Android处理程序