什么是 AWS CLI?

2024年8月28日 | 阅读 7 分钟

AWS CLI 是一个工具,它将所有 AWS 服务整合到一个中央控制台,让您能够通过一个工具轻松控制多个 AWS 服务。

该缩写代表 Amazon Web Services Command Line Interface,因为顾名思义,用户从命令行操作它。通过它,您可以手动控制服务,或使用强大的脚本自动执行它们。

它是如何工作的?

AWS 是一个安全的云服务平台,为开发人员提供计算能力、内容分发、数据库存储和其他基础设施服务。

支持者指出其速度、灵活的定价、卓越的客户服务和多项服务是其优势。AWS CLI 通过将所有这些服务的控制整合到一个简单的命令行界面中,锦上添花。它消除了通过图形用户界面 (GUI) 与系统交互的(用户友好但耗时)的阶段。

如何安装 AWS CLI

您可以从 Amazon 的 AWS CLI 资源页面下载并安装该工具。该页面提供了适用于 Windows、Mac 和 Linux 安装的下载选项。

它还提供了一个初学者指南、一个全面的参考手册、一个用户论坛和一个指向 GitHub 项目的链接。以下是 Amazon 提供的安装工具:

  • Windows 64 位下载
  • Windows 32 位下载

Chocolately:choco awscli

Mac 和 Linux 下载(需要 Python 2.6.5 或更高版本)

Pip 安装链接

要安装 AWS CLI,用户需要注册一个 AWS 账户,获取访问密钥 ID 和秘密访问密钥,然后根据他们的系统和软件选择一个(非常简单!)的安装方法。

拥有 pip/Python 系统的用户可以运行

Amazon 的安装文档也在此处解释了在 Linux 上安装 Python/pip/CLI 以及在 MS Windows、macOS 或虚拟机环境中安装 AWS CLI 的选项。还有一个选项是使用适用于 Linux、Unix 或 macOS 的捆绑安装程序来安装该工具。总的来说,安装步骤就像下载存档、解压、运行(简短的)安装脚本并检查工作一样简单。

以下示例展示了该界面在执行各种任务时的实际操作,并演示了它的强大功能。

删除 S3 存储桶

Amazon S3 服务是 Amazon 的简单存储设备。它在按使用量付费的计划中提供基本的在线数据存储。数据存储在存储桶中。

在使用标准的 GUI 时,删除带有多个文件和文件夹的存储桶可能有点耗时。通过使用 AWS CLI,您可以在几秒钟内使用一个命令完成此任务。

创建 EC2 实例

Amazon Elastic Compute Cloud 或 EC2 是 Amazon Web 服务,为开发人员提供简单、可扩展的云服务。下面的示例显示了命令行工具如何轻松启动多个 EC2 实例。

列出所有已暂停的 EC2 实例,并显示每个实例停止的原因

当您管理多个 EC2 实例时,使用标准 GUI 列出已暂停的实例并显示每个实例的原因可能是一个小问题。下面的示例显示了如何使用 AWS CLI(和 jq)轻松完成此操作。

AWS CLI 的优点

主要优点之一是能够节省大量时间。节省来自易于安装、一个工具支持所有服务、超越 GUI 以及通过 Shell 脚本自动执行进程和命令。

  • 易于安装。安装以前的工具包,例如旧的 AWS EC2 API 工具包,需要几个步骤,并强制用户设置多个环境变量。有太多的地方可能出错和设置失败。AWS CLI 的一个主要好处是安装过程平滑、快速、简单且标准化。
  • 支持所有 Amazon Web 服务。以前,您只需要一个专用的 EC2 服务 CLI 工具。它工作得很好,但它不允许用户控制其他 Amazon Web 服务,例如 AWS RDS(关系数据库服务)。相比之下,AWS CLI 允许您通过一个简单的工具控制所有服务。
  • 节省时间。当您学习系统基本知识时,GUI 非常有用。一旦您熟悉并开始使用,用户友好的图形界面工具就会成为您的障碍。大多数用户发现,一旦达到一定的熟练程度,AWS CLI 会更快、更容易使用。
  • 脚本。Amazon 能够通过脚本自动化控制所有 Web 服务的潜力可能是最大的优势。部分任务自动化可以使开发人员摆脱登录 AWS 管理控制台的麻烦,而 Shell 脚本可以轻松实现云基础设施的全面自动化。

由于该界面是 Amazon 所有 Web 服务的控制器,因此有效使用它的最佳实践与 AWS 的最佳实践基本相同。Amazon 制作了大量的优质文档,这些文档关于其最佳实践足以写成大众市场平装书。

该列表包括架构、Web 应用托管、安全、电子邮件、IAM、DynamoDB、EC2 和 Trusted Advisor 的最佳实践。以下是程序员分析师的五大最佳实践列表。

  • 保护好您的凭据。能力越大,责任越大。命令行界面使得黑客和白帽用户都可以轻松管理 Amazon Web 服务。切勿将根账户用于日常交互,并且不要为您的 AWS 根账户生成根访问密钥。
  • 保护您的应用程序。只允许应用层访问您的数据库层。仅在必要时允许与外部世界的连接,并拒绝所有其他 Internet 流量。
  • 尽早备份,经常备份。使用 Amazon EBS 快照定期备份您的实例。在紧急情况发生之前测试恢复资源。这是 Amazon 关于如何自动化备份的文档。
  • 使用值得信赖的顾问。 Amazon 将 Trusted Advisor 称为“您的优化云专家!”它分析您的 AWS 环境,帮助您遵循最佳实践。Trusted Advisor 寻找节省资金、解决安全漏洞以及提高系统可靠性和性能的方法。例如,您可以从 AWS 命令行界面访问 Trusted Advisor 来检查服务限制。
  • 了解共享责任模型。 用户负责管理他们的数据、操作系统和安全,而 Amazon 负责基础设施和服务。无论您使用的是标准 GUI 还是更简单、更快的命令行界面,都是如此。

其他资源和教程

有关该界面的其他信息和帮助,请参阅以下资源列表。

AWS CLI Shell。这个 Shell 是 GitHub 上提供的一个交互式生产力增强工具,它帮助用户运行该界面,即使他们不知道所有命令。

Amazon Web Services 命令行界面是一个强大的工具,可帮助您管理强大的云服务。

但 Amazon 并非唯一的云服务;在 Stackify,我们非常喜欢 Azure,并且我们的强大 APM 解决方案 Retrace 是以 Azure 为目标构建的。如果您正在考虑云服务提供商,请查看我们的 Azure 与 AWS 对比。在这篇文章中,我们提供了一些额外的考虑因素,并论证了不要把所有鸡蛋放在同一个篮子里。

AWS 命令行界面

AWS 命令行界面 (CLI) 是一个统一的工具,用于管理您的 AWS 服务。只需下载和配置一个工具,您就可以从命令行控制多个 AWS 服务并通过脚本自动化它们。

AWS CLI v2 提供了多项新功能,包括改进的安装程序、新的配置选项(如 AWS Single Sign-On (SSO))以及各种交互式功能。

Windows

下载并运行 64 位 Windows 安装程序。

MacOS

下载并运行 macOS PKG 安装程序。

Linux

下载、解压缩然后运行 Linux 安装程序

Amazon Linux

AWS CLI 已预装在 Amazon Linux AMI 上。

发行说明

请查看发行说明以获取有关最新版本的更多信息。

aws-shell(开发者预览版)

aws-shell 是一个命令行 Shell 程序,它提供便利和生产力功能,以帮助 AWS 命令行界面的新用户和高级用户。主要功能包括:

命令的模糊自动补全(例如 ec2、describe-instances、sqs、create-queue)

选项(例如 --instance-ids, --queue-url

资源标识符(例如 Amazon EC2 实例 ID、Amazon SQS 队列 URL、Amazon SNS 主题名称)

动态的在线文档

命令和选项的文档会在您键入时显示

执行操作系统 Shell 命令

使用常见的操作系统命令,如 cat、ls 和 cp,并在不离开 Shell 的情况下管道输入和输出。

将已执行的命令导出到文本编辑器

用途

AWS 命令行界面用户指南将引导您完成安装和配置该工具。之后,您就可以开始从命令行调用您的 AWS 服务了。

您可以在命令行上获取帮助,以查看支持的服务,

  • $ aws help 服务操作,
  • $ aws autoscaling help 以及服务操作的参数。
  • $ aws autoscaling create-auto-scaling-group help

Amazon S3 的文件命令

新的文件命令使管理您的 Amazon S3 对象变得容易。使用熟悉的语法,您可以查看 S3 存储桶的内容,以目录列表的形式显示。

您可以执行递归上传和下载,一次性将一个文件夹中的多个文件传输。AWS CLI 将并行运行这些传输以提高性能。

sync 命令可以轻松地将本地文件夹的内容与 S3 存储桶中的副本同步。