配置基础知识 - AWS Command Line Interface
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

配置基础知识

此部分介绍如何快速配置 AWS Command Line Interface (AWS CLI) 用于与 AWS 交互的基本设置。其中包括您的安全凭证、默认输出格式和默认 AWS 区域。

注意

AWS 要求所有传入的请求都进行加密签名。AWS CLI 为您执行该操作。“签名”包括日期/时间戳。因此,您必须确保正确设置计算机的日期和时间。否则,如果签名中的日期/时间与 AWS 服务认定的日期/时间相差太远,AWS 会拒绝请求。

使用 aws configure 快速配置

对于一般用途,aws configure 命令是设置 AWS CLI 安装的最快方法。输入该命令时,AWS CLI 会提示您输入四条信息:

AWS CLI 将这些信息存储在 credentials 文件中名为 default配置文件(一个设置集合)中。默认情况下,当您运行的 AWS CLI 命令未明确指定要使用的配置文件时,将使用此配置文件中的信息。有关 credentials 文件的更多信息,请参阅配置和凭证文件设置

以下示例显示了示例值。将它们替换为您自己的值,如以下部分所述。

$ aws configure AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY Default region name [None]: us-west-2 Default output format [None]: json

访问密钥 ID 和秘密访问密钥

访问密钥包含访问密钥 ID 和秘密访问密钥,用于签署对 AWS 发出的编程请求。如果没有访问密钥,您可以使用AWS 管理控制台进行创建。作为最佳实践,请勿在不必要时使用 AWS 账户根用户 访问密钥执行任务。而是为自己创建一个具有访问密钥的新管理员 IAM 用户

仅当创建访问密钥时,您才能查看或下载秘密访问密钥。以后您无法恢复它们。不过,您随时可以创建新的访问密钥。您还必须拥有执行所需 IAM 操作的权限。有关更多信息,请参阅 IAM 用户指南 中的访问 IAM 资源所需的权限

为 IAM 用户创建访问密钥

  1. 登录 AWS 管理控制台 并通过以下网址打开 IAM 控制台 https://console.amazonaws.cn/iam/

  2. 在导航窗格中,选择 Users

  3. 选择要为其创建访问密钥的用户的名称,然后选择 Security credentials (安全凭证) 选项卡。

  4. Access keys (访问密钥) 部分,选择 Create access key (创建访问密钥)

  5. 要查看新访问密钥对,请选择 Show (显示)。关闭此对话框后,您将无法再次访问该秘密访问密钥。您的凭证与下面类似:

    • 访问密钥 ID:AKIAIOSFODNN7EXAMPLE

    • 秘密访问密钥:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY

  6. 要下载密钥对,请选择下载 .csv 文件。将密钥存储在安全位置。关闭此对话框后,您将无法再次访问该秘密访问密钥。

    请对密钥保密以保护您的 AWS 账户,切勿通过电子邮件发送密钥。请勿对组织外部共享密钥,即使有来自 AWS 或 Amazon.com 的询问。合法代表 Amazon 的任何人永远都不会要求您提供密钥。

  7. 下载 .csv 文件之后,选择 Close (关闭)。在创建访问密钥时,默认情况下,密钥对处于活动状态,并且您可以立即使用此密钥对。

相关主题

区域

Default region name 标识默认情况下您要将请求发送到的服务器所在的 AWS 区域。通常是离您最近的区域,但可以是任意区域。例如,您可以键入 us-west-2 以使用美国西部(俄勒冈)。除非在命令中另行指定,否则这是所有后续请求将发送到的区域。

注意

使用 AWS CLI 时,必须明确指定或通过设置默认区域来指定 AWS 区域。有关可用区域的列表,请参阅区域和终端节点。AWS CLI 使用的区域指示符与您在 AWS 管理控制台 URL 和服务终端节点中看到的名称相同。

输出格式

Default output format 指定结果的格式。可以是以下列表中的任何值。如果未指定输出格式,则默认使用 json

  • json – 输出采用 JSON 字符串的格式。

  • yaml – 输出采用 YAML 字符串的格式。(仅在 AWS CLI 版本 2 中可用。)

  • yaml-stream – 输出被流式处理并采用 YAML 字符串的格式。流式处理支持更快地处理大型数据类型。(仅在 AWS CLI 版本 2 中可用。)

  • text – 输出采用多个制表符分隔字符串值行的格式。这对于将输出传递到文本处理器(如 grepsedawk)很有用。

  • table – 输出采用表格形式,使用字符 +|- 以形成单元格边框。它通常以“人性化”格式呈现信息,这种格式比其他格式更容易阅读,但从编程方面来讲不是那么有用。

配置文件

设置的集合称为配置文件。默认情况下,AWS CLI 使用 default 配置文件。您可以通过指定 --profile 选项并指定名称来创建和使用具有不同的凭证和设置的其他命名配置文件。

以下示例创建一个名为 produser 的配置文件。

$ aws configure --profile produser AWS Access Key ID [None]: AKIAI44QH8DHBEXAMPLE AWS Secret Access Key [None]: je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY Default region name [None]: us-east-1 Default output format [None]: text

之后,您可以指定 --profile profilename 并使用按该名称存储的凭证和设置。

$ aws s3 ls --profile produser

要更新这些设置,请再次运行 aws configure(根据要更新的配置文件,使用或不使用 --profile 参数),并根据需要输入新值。下面几节包含有关 aws configure 创建的文件、其他设置和命名配置文件的更多信息。

有关命名配置文件的更多信息,请参阅命名配置文件

配置设置和优先顺序

AWS CLI 使用位于不同位置(例如,系统或用户环境变量、本地 AWS 配置文件)或在命令行上显式声明为参数的凭证和配置设置。某些位置优先于其他位置。AWS CLI 凭证和配置设置的优先顺序如下:

  1. 命令行选项 – 覆盖任何其他位置的设置。您可以在命令行上指定 --region--output--profile 作为参数。

  2. 环境变量 – 您可以在系统的环境变量中存储值。

  3. CLI 凭证文件 – 在运行 aws configure 命令时,将更新 credentialsconfig 文件。credentials 文件位于 ~/.aws/credentials(在 Linux 或 macOS 上)或 C:\Users\USERNAME\.aws\credentials(在 Windows 上)。该文件可以包含 default 配置文件和任何命名配置文件的凭证详细信息。

  4. CLI 配置文件 – 在运行 aws configure 命令时,将更新 credentialsconfig 文件。config 文件位于 ~/.aws/config(在 Linux 或 macOS 上)或 C:\Users\USERNAME\.aws\config(在 Windows 上)。该文件包含默认配置文件和任何命名配置文件的配置设置。

  5. 容器凭证 – 您可以将 IAM 角色与每个 Amazon Elastic Container Service (Amazon ECS) 任务定义相关联。之后,该任务的容器就可以使用该角色的临时凭证。有关更多信息,请参阅 Amazon Elastic Container Service Developer Guide 中的适用于任务的 IAM 角色

  6. 实例配置文件凭证 – 您可以将 IAM 角色与每个 Amazon Elastic Compute Cloud (Amazon EC2) 实例相关联。之后,在该实例上运行的代码就可以使用该角色的临时凭证。凭证通过 Amazon EC2 元数据服务提供。有关更多信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例) 中的适用于 Amazon EC2 的 IAM 角色IAM 用户指南 中的使用实例配置文件