使用AWS CLI操作Eucalyptus私有云

By , January 14, 2013 9:01 pm

翻看Eucalyptus网站上的博客聚合页面,看到Andy Grimm最近写的一篇如何使用AWS CLI操作Eucalyptus私有云的帖子。按照Andy Grimm提供的教程快速地做了一遍,觉得这是个不错的工具,就顺手记录下来。这个帖子参考了Andy Grimm原的原文,但是并不是原文的一个中文翻译版。

原文地址:http://agrimmsreality.blogspot.com/2013/01/using-aws-cli-with-eucalyptus.html

[快速安装]

AWS CLI的安装非常简单。在Ubuntu下都只需要运行如下命令:

sudo apt-get install python-setuptools

sudo easy_install awscli

如果你有幸生活在伟大的防火墙以外的话,你可能不会遇到类似于下面的彩蛋。如果你不幸遇到下面的彩蛋,建议你先花点时间找释迦牟尼、默罕默德、救主耶稣谈谈心,或者找个移民中介帮你办理一些简单的手续。

Downloading http://argparse.googlecode.com/files/argparse-1.2.1.tar.gz
error: Download error for http://argparse.googlecode.com/files/argparse-1.2.1.tar.gz: [Errno 54] Connection reset by peer

[配置AWS帐号]

首先你需要在AWS有一个帐号,然后通过浏览器登录到http://aws.amazon.com/,点击右上角的“我的帐户/控制台”链接,然后在Security Crendentials部分找到你的Access Key ID和Secret Access Key。

创建一个新的配置文件~/aws_config.conf,内容如下:

[default]
aws_access_key_id = AWS_Access_Key_ID
aws_secret_access_key = AWS_Secret_Access_Key
region = us-east-1

将如上文件的属性设置为仅有所有者可读,例如0600。然后设置一个名为AWS_CONFIG_FILE的环境变量,该环境变量的值是如上所述配置文件的全路径,例如:

export AWS_CONFIG_FILE = ~/aws_config.conf

完成如上简单配置之后,可以用如下命令测试一下配置是否成功:

aws help

aws ec2 help

aws ec2 describe-instances

[配置Eucalyptus帐号] 

找到你的botocore安装目录,在Ubuntu 12.04 Server操作系统上,这个目录是/usr/local/lib/python2.7/dist-packages/botocore-0.4.2-py2.7.egg/botocore。在Mac OS X 10.8.2操作系统上,这个目录是/Library/Python/2.7/site-packages/botocore-0.4.2-py2.7.egg/botocore。进入该目录下的data/aws子目录,修改两个文件:

首先修改_regions.json文件,在region的定义最后增加一个条目:

“ecc”: {
“description”: “Eucalyptus Community Cloud”
}

然后修改_services.json文件,在ec2的regions部分的末尾增加一个条目:

“ecc”: “http://eucalyptus.ecc.eucalyptus.com:8773/services/Eucalyptus”

需要说明的是,上面这个设置中所提供的URL是针对桉树社区云服务的。如果您使用的是您自己的私有云,您需要根据您的私有云设置修改这个URL。

创建一个新的配置文件~/euca_config.conf,内容如下:

[default]
aws_access_key_id = EUCA_Access_Key_ID
aws_secret_access_key = EUCA_Secret_Access_Key
region = ecc

如上配置中的EUCA_Access_Key_ID和EUCA_Secret_Access_Key可以从您下载到的eucarc文件中获得。具体的方法可以参考使用桉树社区云服务(Eucalyptus Community Cloud)或者在Mac上安装euca2ools工具这两个链接。

重新设定AWS_CONFIG_FILE环境变量:

export AWS_CONFIG_FILE=~/euca_config.conf

完成如上简单配置之后,可以用如下命令测试一下配置是否成功:

aws ec2 describe-images

如果你需要在AWS和Eucalyptus之间进行切换,只需要重新设定AWS_CONFIG_FILE环境变量即可。(现在大家可以看出Eucalyptus与AWS相兼容的好处了吧。任何一个针对AWS开发的工具,经过简单的配置之后就可以用在Eucalyptus上。)

Leave a Reply

Panorama Theme by Themocracy