aws cli管理aws云资源

2014年7月20日 发表评论 阅读评论

aws cli 是AWS 服务的统一管理工具,其基于python开发,是在boto基础上的增强和封装 。其提供了我们一种类似于操作linux命令一样的方式操作aws 的全系统产品资源。本篇就结合aws cli 的安装、示例、及官方手册相关的东西做一个整个和打包。

一、aws cli 的安装 

安装方式分为 pip 自动安装 或 源码包安装,pip 安装相对简单:

# sudo pip install awscli

源码包安装方式是将aws cli 包下载并解压后,进入其目录通过install 完成安装,其在github的托管页面为:https://github.com/aws/aws-cli ,下载好源码包后,可以通过下面的方式进行安装:

# cd <path_to_awscli>
# python setup.py install

有新版本需要做升级操作时,也可以通过下面的方式进行升级:

# pip install --upgrade awscli

二、aws cli 主机环境变量

可以在任一台能连接外网的主机上安装完aws cli 包,并且在该上配置好环境变量,就可以操作线上账号下的所有机器资源了。环境变量的配置也很简单 ,主要有三项,如下:

# vim ~/.aws/config
[default]
aws_access_key_id=<default access key>
aws_secret_access_key=<default secret key>
region=ap-southeast-1

注:

1、在windows下的配置文件路径为%UserProfile%.awsconfig 。

2、在环境变量中还可以配置其他参数,或多个区域实例,具体可以参看github上的帮助文档。

三、使用

默认情况下aws命令接受的输入和输出格式数据格式都是json格式,不过也可以通过参数,指定输出的为table表格式或text文件格式,具体可以使用aws help查看帮助手册。默认aws cli 的包文件存放路径为 /usr/local/lib/python2.7/dist-packages/awscli  ,也可以进该目录下的examples 查看帮助。

以ec2下的两个用法为例

简单用法:

# aws ec2 describe-regions
{
    "Regions": [
        {
            "Endpoint": "ec2.eu-west-1.amazonaws.com",
            "RegionName": "eu-west-1"
        },
        {
            "Endpoint": "ec2.sa-east-1.amazonaws.com",
            "RegionName": "sa-east-1"
        },
        {
            "Endpoint": "ec2.us-east-1.amazonaws.com",
            "RegionName": "us-east-1"
        },
        {
            "Endpoint": "ec2.ap-northeast-1.amazonaws.com",
            "RegionName": "ap-northeast-1"
        },
        {
            "Endpoint": "ec2.us-west-2.amazonaws.com",
            "RegionName": "us-west-2"
        },
        {
            "Endpoint": "ec2.us-west-1.amazonaws.com",
            "RegionName": "us-west-1"
        },
        {
            "Endpoint": "ec2.ap-southeast-1.amazonaws.com",
            "RegionName": "ap-southeast-1"
        },
        {
            "Endpoint": "ec2.ap-southeast-2.amazonaws.com",
            "RegionName": "ap-southeast-2"
        }
    ]
}

复杂用法:

# aws ec2 describe-tags  --filters "Name=key,Values=Name"  --output=table
-----------------------------------------------------------------------------
|                               DescribeTags                                |
+---------------------------------------------------------------------------+
||                                  Tags                                   ||
|+------+--------------+-----------------+---------------------------------+|
||  Key | ResourceId   |  ResourceType   |              Value              ||
|+------+--------------+-----------------+---------------------------------+|
||  Name|  i-a092e7f6  |  instance       |  AMZ-SIN-SpringBoard-255-13     ||
||  Name|  i-680bbe40  |  instance       |  AMZ-SIN-Eve-2-20               ||
||  Name|  i-983360cf  |  instance       |  VPN                            ||
||  Name|  i-d3360084  |  instance       |  BS                             ||
||  Name|  i-5e613208  |  instance       |  UA                             ||
||  Name|  i-a3d6088b  |  instance       |  AMZ-SIN-FacebookWallE-0-10     ||
||  Name|  i-02391d54  |  instance       |  AMZ-SIN-VPCGateway-255-254     ||
||  Name|  i-908a3cb8  |  instance       |  AMZ-SIN-Deploy-255-40          ||
||  Name|  i-317ad719  |  instance       |  AMZ-SIN-LBSMaster-254-201      ||
||  Name|  i-c454ecec  |  instance       |  AMZ-SIN-MobileContent-1-21     ||
||  Name|  i-efe329c7  |  instance       |  AMZ-SIN-Test-255-203           ||
||  Name|  i-312aa619  |  instance       |  AMZ-SIN-IPS-5-10               ||
||  Name|  i-1725ab41  |  instance       |  BS1                            ||
||  Name|  i-6cb5ef3a  |  instance       |  BS3                            ||
|+------+--------------+-----------------+---------------------------------+|

其他命令也较多,如 aws iam list-users 查看用户信息。由于命令比较多,这里就不再一一列举。官方的pdf手册我已上传到百度云盘

中文用户指面

英文命令手册




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

分类: 虚拟化云和自动化 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.