安装和配置 AWS CLI - AWS OpsWorks

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

安装和配置 AWS CLI

重要

AWS OpsWorks Stacks 不再接受新客户。在 2024 年 5 月 26 日之前,现有客户将能够正常使用 OpsWorks 控制台、API、CLI 和 CloudFormation 资源,届时它们将停产。为准备此过渡,我们建议您尽快将堆栈过渡到AWS Systems Manager。有关更多信息,请参阅 AWS OpsWorks Stacks 生命周期终止常见问题解答将 AWS OpsWorks Stacks 应用程序迁移到 AWS Systems Manager Application Manager

注册您的第一个实例之前,您必须在运行 register 的计算机上运行 1.16.180 版的 AWS CLI 或更高版本。安装详细信息取决于您工作站的操作系统。有关安装 AWS CLI 的更多信息,请参阅安装 AWS 命令行界面配置 AWS 命令行界面。要检查您正在运行的 AWS CLI 版本,请在 shell 会话中输入 aws --version

注意

尽管 AWS 工具 PowerShell包含调用 register API 操作的 Register-OpsInstancecmdlet,但我们建议您改用AWS CLI来运行该register命令。

您必须具有相应权限,才可运行 register。您可以通过使用 IAM 角色,或者通过在要注册的工作站或实例上安装具有适当权限的用户凭证来获取权限,但这种方法并不理想。然后,您可以使用这些凭证来运行 register,如下文所述。通过将 IAM policy 附加到用户或角色来指定权限。对于 register,请附加 AWSOpsWorksRegisterCLI_EC2AWSOpsWorksRegisterCLI_OnPremises 策略,它们分别授予注册 Amazon EC2 或 本地实例的权限。

注意

如果您在 Amazon EC2 实例上运行 register,最好使用 IAM 角色来提供凭证。有关如何将 IAM 角色附加到现有实例的更多信息,请参阅《Amazon EC2 用户指南》中的将 IAM 角色附加到实例替换 IAM 角色

有关 AWSOpsWorksRegisterCLI_EC2AWSOpsWorksRegisterCLI_OnPremises 策略的示例代码段,请参阅 实例注册策略。有关创建和管理 AWS 凭证的更多信息,请参阅 AWS 安全凭证

使用 IAM 角色

如果您从打算注册的 Amazon EC2 实例运行命令,则向 register 提供凭证的首选策略是使用附加了 AWSOpsWorksRegisterCLI_EC2 策略或等效权限的 IAM 角色。此方法可以避免在实例上安装您的凭证。执行此操作的一种方法是在 EC2 控制台中使用 Attach/Replace IAM Role (附加/替换 IAM 角色) 命令,如下图所示。

有关如何将 IAM 角色附加到现有实例的更多信息,请参阅《Amazon EC2 用户指南》中的将 IAM 角色附加到实例替换 IAM 角色。对于使用实例配置文件启动的实例(推荐),请向您的 register 命令添加 --use-instance-profile 开关以提供凭证;不要使用 --profile 参数。

如果实例正在运行并且具有角色,您可以通过将 AWSOpsWorksRegisterCLI_EC2 策略附加到该角色来授予所需权限。该角色将提供实例的一组默认凭证。只要您尚未在实例上安装任何凭证,register 便会自动承担该角色并使用其权限运行。

重要

我们建议您不要在实例上安装凭证。除了带来安全风险外,实例角色还位于 AWS CLI 用于查找默认凭证的默认提供程序链的末尾。安装的凭证可能优先于该角色,因此,register 可能不具有所需权限。有关更多信息,请参阅 AWS CLI 入门

如果运行中的实例没有角色,则您必须在实例上安装具有所需权限的凭证,如使用安装的凭证中所述。建议使用通过实例配置文件启动的实例,这样更容易、更不容易出错。

使用安装的凭证

有几种方法可在系统中安装用户凭证并将其提供给 AWS CLI 命令。下面介绍了一种不再推荐的方法,但是如果要注册在没有实例配置文件的情况下启动的 EC2 实例,则可以使用该方法。您还可以使用现有 用户的凭证,只要附加的策略授予所需权限即可。有关更多信息,包括关于安装凭证的其他方法的说明,请参阅配置和凭证文件

使用安装的凭证
  1. 创建 IAM 用户,然后将访问密钥 ID 和秘密访问密钥保存在安全位置。

    警告

    IAM 用户拥有长期证书,这会带来安全风险。为了帮助降低这种风险,我们建议您仅向这些用户提供他们执行任务所需的权限,并在不再需要这些用户时将其删除。

  2. 将 AWSOpsWorksRegisterCLI_OnPremises 策略附加到用户。如果愿意,您可以附加一个授予更广泛权限的策略,只要它包含 AWSOpsWorksRegisterCLI_OnPremises 权限即可。

  3. 在系统的 credentials 文件中创建该用户的配置文件。文件位于 ~/.aws/credentials (Linux、Unix 和 OS X) 或 C:\Users\User_Name\.aws\credentials (Windows 系统)。该文件包含一个或多个以下格式的配置文件,每个配置文件均包含用户的访问密钥 ID 和秘密访问密钥。

    [profile_name] aws_access_key_id = access_key_id aws_secret_access_key = secret_access_key

    用您之前保存的 IAM 凭证替换 access_key_idsecret_access_key 值。您可以指定任何喜欢的名称作为配置文件名称,但有两个限制:该名称必须唯一,并且默认配置文件必须命名为 default。您也可以使用现有配置文件,只要它具有所需权限即可。

  4. 使用 register 命令的 --profile 参数指定配置文件名称。register 命令将使用授予关联凭证的权限运行。

    您也可以省略 --profile。在这种情况下,register 将使用默认凭证运行。请注意,这些不一定是默认配置文件的凭证,因此,您必须确保默认凭证具有所需权限。有关 AWS CLI 如何确定默认凭证的更多信息,请参阅配置 AWS 命令行界面