更新升级 专属应用 系统故障 硬件故障 电脑汽车 鸿蒙刷机 鸿蒙开发Linux教程 鸿蒙开发Linux命令
当前位置:HMXT之家 > 鸿蒙开发Linux教程 > 在Linux Mint/macOS系统上安装和使用AWS CLI

在Linux Mint/macOS系统上安装和使用AWS CLI

更新时间:2023-04-16 09:46:34浏览次数:435+次

本文介绍在Linux Mint/macOS系统上安装、配置和使用AWS CLI的方法。

在Linux Mint/macOS上安装AWS CLI的方法

有几种方法可以在Linux Mint/macOS系统上安装AWS CLI。在本指南中,我们将介绍以下方法。

方法1:使用PIP在Linux Mint、macOS上安装AWS CLI

这是在Linux Mint、macOS上安装AWS CLI最常见、最简单的方法:

pip:90.2或更高。

setuptools:36.2.0或更高版本。

满足要求后,您可以使用以下命令在virtualenv中安装AWS CLI:

python3 -m pip install awscli

##或

python -m pip install awscli

如果您没有使用virtualenv,那么您可以使用以下命令进行全局安装:

sudo python3 -m pip install awscli

##或

sudo python -m pip install awscli

示例执行输出:

\

您还可以为特定用户安装CLI:

python3 -m pip install --user awscli

##或

python -m pip install --user awscli

您也可以升级到最新的可用版本:

python3 -m pip install --upgrade awscli

##或

python -m pip install --upgrade awscli

在macOS上安装期间,您可能会遇到关于El Capitan中distutils附带的six版本的错误。要解决此问题,请使用--ignore-installed选项,如下所示:

sudo python -m pip install awscli --ignore-installed six

方法2:使用捆绑安装程序安装AWS CLI

您可以使用捆绑安装程序从Linux Mint、macOS上的命令行安装AWS CLI。您需要安装Python和python-venv软件包。然后,使用以下命令获取最新版本的AWS CLI:

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

或者,您可以使用以下命令提取特定版本,例如1.16.312:

curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"

提取文件:

unzip awscli-bundle.zip

现在运行捆绑安装程序:

sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

安装程序将在/usr/local/aws中安装AWS CLI,并在/usr/local/bin目录中创建符号链接AWS。-b选项用于创建一个符号链接,允许用户通过从任何目录输入AWS来运行AWS CLI。

此安装将使用默认的Python版本来运行。如果您有另一个Python安装,例如Python3,您可以在安装过程中使用以下命令指定它:

sudo /usr/bin/python3 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

使用下面的命令来识别Python的位置:

which python3

##或

which python

示例执行输出:

\

在Linux Mint/macOS上配置AWS CLI的方法

安装完成后,使用以下命令验证已安装的版本:

$ aws --version

aws-cli/1.27.82 Python/3.10.6 Linux/5.15.0-43-generic botocore/1.29.82

在使用AWS CLI之前,我们需要配置AWS凭据。下面进行配置命令、环境变量、共享凭据文件、配置文件、IAM角色。

a.使用配置命令

其中最简单的方法是运行以下命令:

$ aws configure

AWS Access Key ID: MY_ACCESS_KEY

AWS Secret Access Key: MY_SECRET_KEY

Default region name [us-west-2]: eu-west-1

Default output format [None]: json

b.使用环境变量

您还可以使用环境变量配置,如下所示:

export AWS_ACCESS_KEY_ID=<access_key>

export AWS_SECRET_ACCESS_KEY=<secret_key>

c.使用共享凭据文件

这种方法包括创建一个INI格式的文件,如下所示:

mkdir ~/.aws

创建文件:

$ vim ~/.aws/credentials

[default]

aws_access_key_id=MYACCESSKEY

aws_secret_access_key=MYSECRETKEY

[testing]

aws_access_key_id=MYACCESKEY

aws_secret_access_key=MYSECRETKEY

适当地替换所有变量。您还可以将共享凭据文件放置在与上面指定的位置不同的位置,并使用以下命令导出路径:

export AWS_SHARED_CREDENTIALS_FILE=/path/to/shared_credentials_file

d.使用配置文件

这种方法几乎类似于共享凭据方法:

mkdir ~/.aws

创建INI格式的文件:

$ vim ~/.aws/config

[default]

aws_access_key_id=<default access key>

aws_secret_access_key=<default secret key>

# Optional, to define default region for this profile.

region=us-west-1

[profile testing]

aws_access_key_id=<testing access key>

aws_secret_access_key=<testing secret key>

region=us-west-2

如果文件使用了不同的路径,请将其导出:

export AWS_CONFIG_FILE=/path/to/config_file

对于共享凭据文件和配置文件,我们都指定了多个配置文件。然后,您可以指定与--profile选项一起使用的首选配置文件。如果未指定,则将使用默认配置文件。

e.使用IAM角色

如果您在EC2实例上使用AWS CLI,强烈建议使用此方法。IAM角色是在实例上自动安装凭据的好方法。

如果您正在使用IAM角色,AWS CLI将自动查找并使用它们。此外,许多其他变量可以使用环境变量、配置文件条目或两者进行配置。

在Linux Mint/macOS上使用AWS CLI的方法

一旦进行了配置,您就可以在Linux Mint、macOS上使用AWS CLI与AWS资源进行交互。AWS CLI命令具有以下语法:

aws <command> <subcommand> [options and parameters]

意思为:

aws<命令><子命令>[选项和参数]

例如,要管理EC2实例,请使用以下命令:

列出实例:

aws ec2 describe-instances

样本输出:

\

为了避免长输出,可以进行筛选以获取实例ID:

$ aws ec2 describe-instances --filters "Name=instance-type,Values=t2.micro" --query "Reservations[].Instances[].InstanceId"

[

    "i-069533e79cd6fcfbb"

]

然后,您可以终止/删除所需的实例:

aws ec2 terminate-instances --instance-ids i-069533e79cd6fcfbb

样本输出:

\

要停止/启动实例,请使用:

##启动

aws ec2 start-instances --instance-ids i-069533e79cd6fcfbb

##停止

aws ec2 stop-instances --instance-ids i-069533e79cd6fcfbb

列出S3存储桶,命令为:

aws s3 ls

您还可以查看S3存储桶中的文件。例如:

$ aws s3 ls s3://mybucket

会返回LastWriteTime及Length Name。

您可以在单个文件夹级别的命令中执行递归上载和下载。例如:

$ aws s3 cp myfolder s3://mybucket/myfolder --recursive

upload: myfolder/file1.txt to s3://mybucket/myfolder/file1.txt

upload: myfolder/subfolder/file1.txt to s3://mybucket/myfolder/subfolder/file1.txt

您还可以在本地文件夹和S3存储桶之间同步文件。例如:

$ aws s3 sync myfolder s3://mybucket/myfolder --exclude *.tmp

upload: myfolder/newfile.txt to s3://mybucket/myfolder/newfile.txt

到这里,使用AWS CLI的方法就讲完了,您可以随时使用CLI工具在AWS平台上自动化部署。