亚马逊与EC2交互的官方工具有点笨拙而且很难处理.我必须设置一堆环境变量,为EC2存储单独的私钥,向我的PATH添加额外的项目,等等.它们都输出制表符分隔的行,这些行是数百个字符长而没有标题,因此解释它们有点痛苦.他们设置SSH密钥对的说明为您提供了一个不受密码保护的密码,而不是让您使用现有密钥对.程序都只是有点笨重,并不是很好的Unix程序.
那么,有没有更容易使用的命令行工具来访问EC2?我知道有ElasticFox,并且有基于Web的控制台,它确实使这个过程更容易,但我想知道是否有其他人编写了更好的命令行工具来与EC2进行交互.
我有点晚了,但我有一个解决方案!
我发现Amazon AMI工具存在同样的问题.它们是一个不错的参考实现,但是当你有多个实例时很难使用它们.我写了一个替换命令行工具作为另一个项目的一部分,称为Rudy,可以回答你的大多数问题
这些命令比亚马逊的AMI工具更直观:
rudy-ec2 instances -C
rudy-ec2 groups -A -p 8080 -a 11.22.33.44 group-name
rudy-ec2 volumes -C -s 100
rudy-ec2 images
...
所有配置都在一个文件(~/.rudy/config
)中.
它可以输出多种格式(yaml,json,csv,tsv,当然还有常规文本):
rudy-ec2 -f yaml snapshots --- :awsid: snap-2457b24d :progress: 100% :created: "2009-05-08T15:24:17.000Z" :volid: vol-4ee10427 :status: completed
关于私钥,没有EC2工具允许使用密码创建私钥来引导公共实例,因为API不支持它.但是,如果您创建自己的图像,则可以使用私钥.
这里有更多信息:
GitHub项目
rudy-ec2简介