什么是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系统,并假设系统已经安装并可用unzipglibcgroffless软件包。支持所有主要的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账户一起使用。

类似文章