CLI(AWS 命令行接口)
AWS CLI 是一个开源工具,让用户可以在命令行shell中使用命令与AWS服务进行交互。它可以让我们使用简单的命令,完成与基于浏览器的AWS管理控制台相同的功能。作为一名极客,我们在使用AWS 时,需要掌所CLI的各种操作来提升我们的效率,所以在《跟我学AWS》中,CLI做为首个被介绍的功能,后续我们很多服务介绍中都会使用CLI来进行操作
示例 将文件上传到AWS S3
将本地机器上的一个文件上传的到s3 上,我们可以这么操作
如果各项配置正确的话,上面命令运行完成后,我们会有photo 存储桶中看到me.jpg文件,相比我们基于浏览器的管理控制台操作上传是不是方便很多
如何安装CLI
在官网中有介绍使用pip来安装CLI,基于python 2版本2.7+ 或python 3版本3.4+,但是用户在对照执行的时候,很容易出错,报pip或pip3命令不存在,为了解决这些问题,用户又要绕一圈解决pip问题,最后还不一定成功,下面我将介绍使用一个比较有保障的方法来安装CLI
2020年1月10起,AWS CLI版本1.17和更高版本将不在支持python 2.6或python3.3,需要python2.7,python3.4或更高版本才能成功安装AWS CLI,更多信息,请参阅官方信息
通过/usr/local/bin/aws --version 我们可以看到CLI已经安装成功,可以将/usr/local/bin/aws添加到环境变量中或用aws 别名代替,后面的操作通过aws就可以直接操作了
如何在CLI中配置AWS 账号信息
使用CLI与AWS 进行交互时,AWS需要知道你是谁?你要操作哪个区域的资源,你想要交互的格式(默认JSON),因此,我们需要提前配置账号信息
aws configure命令可以帮我们进行配置账号信息
上面四个参数中,AWS Access Key ID和 AWS Secret Access Key是在IAM中对应用户的安全证书下配置,一个用户同时最多两对密钥,创建时就是记住这个值,这个值后面不会再展示。Default region name 表示你要操作的区域,示例中ap-east-1代表香港,AWS 上所有的区域值可参考Region表,如果你在CLI需要切换Region,比如从香港切换到法兰克福,需要重新执行aws configure ,在Default region name中设置你要操作Region。Default output format用于指定输出格式(有三个值:json/text/table, 默认json)
配置完账号信息后,我们就可以通过CLI 操作该账号被授权的AWS 资源
实战最优
在使用aws configure 时,我们可以加上一个 --profile参数 ,然后设置一个标识,执行完aws configure 后,会将对应的密钥信息存在~/.aws/credentials文件中,会将对应的region,output format信息保存在 ~/.aws/config文件中,这些配置信息将与我们设置的标识关联,如果不使用--profile 设置标识,在两个文件中将使用default关联
如果我们要在一台机器上设置多个密钥,上面这种方面将很有效,我们在使用aws命令时,可以带上我们设置的标识,aws命令也将使用对应标识的密钥与aws进行交互,如果不指定,将以default对应的密钥进行操作
上面命令访问s3 列表 时,将以dev 标识对应的密钥进行。如果我们知道dev就是默认要操作密钥,而每次带-- profile dev又很麻烦,我们可以通过临时设置 :export AWS_PROFILE=dev 来使我们后面aws 命令操作都以dev对应的密钥进行
在工作中,我们通常会在多个AWS主账号上做一些操作。比如作为技术顾问,我们会对接多个客户的账户。或者在一个主账号下有多个账户(开发,测试),不同账户的密钥功能,权限不一样,如何在一台电脑上有效配置保存这些密钥保障工作中不混淆也是非常重要的事情
最后更新于