什么是AWS CLI以及如何在Windows、macOS、Docker和Linux上安装?
AWS命令行界面或CLI是一组开源工具,允许您使用命令管理和自动化AWS服务。
AWS CLI支持Windows、Linux和macOS等多个平台,并提供对AWS公共API的直接访问。此外,在CLI环境中可以轻松实现繁琐基础设施任务的自动化。
AWS CLI版本
AWS CLI有两个主要版本可用,即版本1.x,用于向后兼容,而版本2.x是当前的常规发布版本,用于生产使用。它不完全向后兼容,因此使用版本1的AWS CLI的脚本可能与版本2不兼容。
安装AWS CLI
在这里,我们将讨论不同平台上安装AWS CLI。由于版本2.x是本文撰写时的常规发布版本,因此我们只将介绍其安装方法。
Linux
在基于Linux的系统上,官方提供了通过ZIP软件包安装AWS CLI的方法。它需要一个64位/ARM Linux系统,并假设系统已经安装并可用unzip
、glibc
、groff
和less
软件包。支持所有主要的Linux发行版,如CentOS、Fedora、Ubuntu和Amazon Linux。
要在Linux x86(64位)上安装最新版本的AWS CLI,请使用以下命令:
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
要确认安装成功,请运行:
$ aws --version
aws-cli/2.2.5 Python/3.8.8 Linux/4.14.133-113.105.amzn2.x86_64 botocore/2.0.0
macOS
macOS上安装AWS CLI官方提供了GUI和CLI两种方法。要使用GUI方式,从以下链接下载最新版本的AWS CLI软件包:https://awscli.amazonaws.com/AWSCLIV2.pkg,然后双击下载的软件包以启动安装程序。
按照屏幕上的说明完成安装。对于普通安装要求,大多数选项可以保持默认设置。
如果想要使用CLI方式安装,在新的终端中执行以下命令来下载和安装最新的AWS CLI版本:
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
$ sudo installer -pkg AWSCLIV2.pkg -target /
如果计划进行系统范围的安装,则上述命令中需要sudo
。如果想要作为没有管理员权限的本地用户进行安装,官方提供了一个简单的解决办法。
您需要创建一个XML
文件,其中提供了您希望安装AWS CLI的路径/Users/myusername
。此路径应为现有目录或在启动安装程序之前创建的目录,否则将安装失败。
choiceAttribute
customLocation
attributeSetting
/Users/myusername
choiceIdentifier
default
然后,您可以使用curl
下载最新的安装包:
$ curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
一旦您拥有软件包和XML
配置文件,就可以使用以下命令为本地用户安装AWS CLI:
$ 安装程序 -pkg AWSCLIV2.pkg
-target 当前用户主目录
-applyChoiceChangesXML choices.xml
这里的AWSCLIV2.pkg
是我们在之前的步骤中使用curl
下载的包,-target
指定了安装为本地用户,-applyChoiceChangesXML
基本上告诉安装程序我们将使用包含相对安装路径/Users/myusername
或者在XML
中指定的本地目录路径的自定义选择。
作为最后一步,运行以下命令创建AWS CLI正确工作所需的所需符号链接。
$ sudo ln -s /folder/installed/aws-cli/aws /usr/local/bin/aws
$ sudo ln -s /folder/installed/aws-cli/aws_completer /usr/local/bin/aws_completer
如果您的$PATH
包含一个您可以写入的目录,并且您将该目录指定为目标路径,您可以在没有sudo
的情况下运行上述命令。但是如果您的$PATH
中没有可写目录,则必须使用sudo
以获取写入指定目标文件夹的权限。符号链接的默认位置是/usr/local/bin/
。
要验证安装,请使用:
$ which aws
/usr/local/bin/aws
$ aws --version
aws-cli/2.1.29 Python/3.7.4 Darwin/18.7.0 botocore/2.0.0
Windows
对于Windows安装,AWS CLI v2需要Windows 64位版本或更高版本以及管理员权限。
最新的Windows安装程序可以从以下网址下载:https://awscli.amazonaws.com/AWSCLIV2.msi,并使用管理员权限启动以完成安装。
或者,您可以在命令行中使用misexec
进行安装,如下所示:
msiexec.exe /i https://awscli.amazonaws.com/AWSCLIV2.msi
您可以在命令提示符中使用aws --version
验证安装。
C:>aws --version
aws-cli/2.2.7 Python/3.8.8 Windows/10 exe/AMD64 prompt/off
Docker
最后,如果您不想在本地操作系统上安装AWS CLI,并且碰巧可以访问Docker,只需执行单个命令即可执行AWS CLI命令,如下所示:
$ docker run --rm -it amazon/aws-cli command
其中command
是要执行的AWS CLI命令。上述命令将启动一个包含所需AWS CLI设置的容器,并直接继续执行指定的命令,并在完成后退出。
有许多选项可将您现有的AWS CLI凭据、配置和环境变量用作容器的输入,使其更加可用和便携。还有一个alias
选项,可以将长的docker命令简化为像Linux主机这样简单易懂的命令:
$ alias aws='docker run --rm -it amazon/aws-cli'
确保将上述命令添加到您的shell配置文件中以进行持久化。完成后,您可以像这样使用它:
$ aws --version
aws-cli/2.1.29 Python/3.7.3 Linux/4.9.184-linuxkit botocore/2.0.0dev10
简单而且看起来更好。详细了解AWS CLI基于Docker的提供和可能性,请参阅here。
总结
AWS CLI提供了基于命令的体验,以便更轻松地管理您的AWS基础架构,特别是对于重复性任务的控制,最终为自动化和管理Infrastructure as Code(IaC)打开了大门。您已经学习了如何在不同平台上安装它。作为下一步,您可以阅读here以了解如何配置它并将其与您的AWS账户一起使用。