AWS CLI 安装配置
AWS CLI 安装配置
访问AWS的服务,基本有以下三种方式,本文将会介绍如何初始化配置AWS 命令行接口(Command Line Interface, CLI),以访问AWS服务。
1. AWS Command Line Interface 是什么?
AWS Command Line Interface (AWS CLI) 是一种开源工具,让您能够在命令行终端程序中使用命令与AWS 服务进行交互。使用 AWS CLI 运行命令时,可从终端程序的命令提示符实现与基于浏览器的 AWS Management Console所提供的功能等同的功能。常用的命令行终端程序,根据操作系统的不同而有所不同:
- Linux Shell
使用常见Shell 程序(例如 bash、zsh 和 tcsh)在 Linux 或 macOS 中运行命令。
- Windows 命令行
在Windows 上,在 Windows 命令提示符(cmd)处或在 PowerShell 中运行命令。
- 远程
通过远程终端程序(如PuTTY 或 SSH)在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上运行命令,或者使 用AWS Systems Manager 运行命令。
所有能够通过AWS Management Console实现的操作,均可通过 AWS API 和 AWS CLI 实现。新的 AWS IaaS 功能和服务在发布时或在 180 天发布期内都会通过 API 和 CLI 提供全部 AWS Management Console 功能。
2. AWS CLI的安装
根据自己的操作系统,下载相应的 安装包安装。安装过程很简单,在此不再赘述。
在安装完成之后,运行以下两个命令来验证AWS CLI是否安装成功。参考以下示例,在MacOS上打开Terminal程序。如果是Windows系统,打开cmd。
where aws / which aws 查看AWS CLI安装路径
aws --version 查看AWS CLI版本
carl@MBP-Carls-MacBook-Pro ~ % where aws
/usr/local/bin/aws
carl@MBP-Carls-MacBook-Pro ~ % which aws
/usr/local/bin/aws
carl@MBP-Carls-MacBook-Pro ~ % aws --version
aws-cli/2.4.6 Python/3.8.8 Darwin/19.6.0exe/x86_64 prompt/off
提示:
AWS CLI v1和v2两个版本使用相同的aws命令。如果两个版本都安装了,启动AWS CLI 时会启动在search path 中找到的第一个版本。如果之前安装了v1版本,可通过以下方式解决:
推荐 – 卸载v1,仅使用v2。
在相对应操作系统上使用不同的名字为其中的一个aws命令创建symbolic link (symlink) oralias。例如,可以在Linux and macOS上使用 symbolic link or alias , 或在Windows上使用 DOSKEY。
3 初始化配置AWS CLI
在使用AWS CLI前,可使用aws configure命令,完成初始化配置。
carl@MBP-Carls-MacBook-Pro~ % aws configure
AWS Access Key ID [None]: AKIA3GRZL6WIQEXAMPLE
AWS Secret Access Key [None]: k+ci5r+hAcM3x61w1example
Default region name [None]: ap-east-1
Default output format [None]: json
AWS Access Key ID 及AWS Secret Access Key可在AWS管理控制台获取,AWS CLI将会使用此信息作为用户名、密码连接AWS服务。
点击AWS管理控制台右上角的用户名 --> 选择Security Credentials
- 点击Create New Access Key以创建一对Access Key ID 及Secret Access Key,并保存(且仅能在创建时保存)
Default region name,用以指定要连接的AWS 区域代码。
Default output format,用以指定命令行输出内容的格式,默认使用JSON作为所有输出的格式。也可以使用以下任一格式:
- JSON(JavaScript Object Notation)
- YAML: 仅在 AWS CLI v2 版本中可用
- Text
- Table
4 配置AWS CLI profile
一般企业会将IT环境分为诸如生产环境、UAT环境、DEV环境等,各环境的区域有可能不同,所使用的用户名、密码也有可能不同,如果每次都需要使用aws configure切换环境,会比较麻烦,而且容易出错。那么,如何快速、简单、方便的在AWSCLI 中区别这些环境呢?可以使用–profile参数预先设置所需不同环境。
carl@MBP-Carls-MacBook-Pro~ % aws configure --profile Production
AWS Access Key ID [None]: AKIA3GRZL6WIQUEXAMPLE
AWS Secret Access Key [None]: k+ci5r+hAcM3x61w1example
Default region name [None]:
Default output format [None]:
carl@MBP-Carls-MacBook-Pro~ % aws configure --profile UAT
AWS Access Key ID [None]: AKIA3GRZL6WIQUEXAMPLE
AWS Secret Access Key [None]: k+ci5r+hAcM3x61w1example
Default region name [None]: us-east-1
Default output format [None]: json
carl@MBP-Carls-MacBook-Pro~ % aws configure list-profiles
default
Production
UAT
通过上述示例,可以观察到,我们在第一次运行aws configure命令时,并未指–profile参数,所以默认会使用default这个profile。
通过aws configure命令所配置的信息都存储到了计算机本地硬盘上的config及Credentials两个文件中,文件默认保存路径根据操作系统的不同而不同。
以MacOS为例,如下图:
如上图所示,因为Production profile的region、output均为默认值,所以在config文件中并没有显示它们的值。
如上图所示,使用aws configure命令在配置profile过程中输入的access key id(用户名)、secret access key(密码) 均被明文保存在了credentials文件中
可运行以下命令查看某个profile的配置。
提示:profile的值在输入时区分大小写。
carl@MBP-Carls-MacBook-Pro~ % aws configure get region --profile UAT
us-east-1
carl@MBP-Carls-MacBook-Pro~ % aws configure get region --profile default
ap-east-1
5 验证到AWS服务的连接
准备就绪,现在可以针对某个aws服务执行相应操作了。
以下示例为查看Production环境中所有的IAM用户列表。
carl@MBP-Carls-MacBook-Pro ~ % aws iam list-users --profile Production
{
"Users": [
{
"Path": "/",
"UserName": "yang",
"UserId": "AIDA3EXAMPLE",
"Arn": "arn:aws:iam::7**********1:user/yang",
"CreateDate": "2021-04-09T22:24:51+00:00",
"PasswordLastUsed": "2021-05-28T07:19:45+00:00"
},
{
"Path": "/",
"UserName": "jiang",
"UserId": "AIDA3EXAMPLE",
"Arn": "arn:aws:iam::7**********1:user/jiang",
"CreateDate": "2021-05-24T02:56:01+00:00",
"PasswordLastUsed": "2021-08-06T02:40:12+00:00"
},
]
}
更多推荐
所有评论(0)