AWS的所有服务都有图形界面,但是有的时候我们也可以使用命令行来配置服务。具体怎么配置呢,豆子在windows平台上测试了EC2和Auto Scaling这两个服务的命令行工具。
首先,我需要在IAM里面创建一个新的用户,我可不想用自己的master账户来做实验。
登陆IAM界面,创建一个Administrators 组,给予所有的管理权限,然后创建一个新用户Yuan
创建用户的时候会自动生成两个密码,保存好,这个是当使用API命令行用来验证身份用的。如果忘记了,那只能重新生成一份了。
最后还可以配置用户密码和MFA加强安全性。
用户设置好了,接下来我需要下载对应的命令行工具
EC2 命令行工具下载
http://developer.amazonwebservices.com/connect/entry.jspa?categoryID=88&externalID=351
Auto Scaling 命令行工具下载
http://aws.amazon.com/developertools/2535
我把这两个压缩文件对应的BIN和Lib都解压到C:\AWS\AWSCLI文件架中,这样显得更整洁一些,当然我也可以把他们放在不同的地方,只要对应的环境变量路径正确就行。
下一步,就需要配置环境变量了。
对于EC2工具而言,链接的时候会自动查询4个环境变量,分别是
JAVA_HOME
EC2_HOME
AWS_ACCESS_KEY
AWS_SECRET_KEY
http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/set-up-ec2-cli-linux.html
后面两个变量就是用户创建生成的时候自动生成的2个密码;他们并不是一定要配置成环境变量,也可以每次执行命令的时候通过-O和-W指定,不过这样很麻烦,预先配置之后直接输入命令就行了。
类似的,Auto Scaling 会查询
JAVA_HOME
AWS_AUTO_SCALING_HOME
AWS_CREDENTIAL_FILE
http://docs.aws.amazon.com/AutoScaling/latest/DeveloperGuide/UsingTheCommandLineTools.html
第三个文件的作用和EC2的后两个变量作用一样,都是用来验证用户的,可以预先把他们写入一个文件,然后通过环境变量指向这个文件就行了。如果不使用这个文件,也可以给IAM用户生成公钥和私钥进行签名验证,有兴趣的童鞋可以看看这里
http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/verify-signature.html
具体环境变量的配置方法可以在系统属性里面手动添加,也可以全都写成批处理的DOS命令。记得Path变量也要指向JAVA和命令行工具的BIN 路径。
手动添加
脚本文件添加
@echo off
set EC2_HOME=C:\AWS\AWSCLI
set AWS_AUTO_SCALING_HOME=C:\AWS\AWSCLI
set PATH=%PATH%;%EC2_HOME%\bin
set JAVA_HOME=C:\Program Files (x86)\Java\jre7
set AWS_CREDENTIAL_FILE=C:\AWS\AWSCLI\CREDENTIAL.TXT
"%JAVA_HOME%\bin\java" -version
最后我们来运行看看结果
工作正常!现在可以用命令行来创建EC2实例和Auto Scaling了。