

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

# 安装和配置 AWS CLI
<a name="registered-instances-register-registering-cli"></a>

**重要**  
该 AWS OpsWorks Stacks 服务于 2024 年 5 月 26 日终止，新客户和现有客户均已禁用。我们强烈建议客户尽快将其工作负载迁移到其他解决方案。如果您对迁移有疑问，请通过 re [AWS : Post 或通过 Pre](https://repost.aws/) mium Su [AWS pp](https://aws.amazon.com/support) ort 与 AWS 支持 团队联系。

在注册第一个实例之前，您必须在运行的计算机上运行版本 1.16.180 AWS CLI 或更高版本。`register`安装详细信息取决于您工作站的操作系统。有关安装的更多信息 AWS CLI，请参阅[安装 AWS 命令行界面](https://docs.aws.amazon.com/cli/latest/userguide/installing.html)和[配置 AWS 命令行接口](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。要检查您正在运行的 AWS CLI 版本，请在 shell 会话中输入 `aws --version`。

**注意**  
尽管 [AWS 工具 PowerShell](https://docs.aws.amazon.com/powershell/latest/userguide/pstools-welcome.html)包含调用 `register` API 操作的 [https://docs.aws.amazon.com/powershell/latest/reference/items/Register-OPSInstance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-OPSInstance.html)cmdlet，但我们建议您改用 AWS CLI 来运行该`register`命令。

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

**注意**  
如果您在 Amazon EC2 实例`register`上运行，则理想情况下应使用 IAM 角色来提供证书。有关如何将 IAM 角色附加到现有实例的更多信息，请参阅 A *mazon EC2 用户指南*中的 “将 [IAM 角色附加到实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)” 或 “[替换 IAM 角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#replace-iam-role)”。

有关 `AWSOpsWorksRegisterCLI_EC2` 和 `AWSOpsWorksRegisterCLI_OnPremises` 策略的示例代码段，请参阅 [实例注册策略](registered-instances-register-registering-template.md)。有关创建和管理 AWS 凭证的更多信息，请参阅 [AWS 安全凭证](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)。

**Topics**
+ [使用 IAM 角色](#registered-instances-register-registering-cli-role)
+ [使用安装的凭证](#registered-instances-register-registering-cli-creds)

## 使用 IAM 角色
<a name="registered-instances-register-registering-cli-role"></a>

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

![\[AWS EC2 console showing Instance Settings menu with Attach/Replace IAM Role option highlighted.\]](http://docs.aws.amazon.com/zh_cn/opsworks/latest/userguide/images/instance_register_attachrole.png)


有关如何将 IAM 角色附加到现有实例的更多信息，请参阅 A *mazon EC2 用户指南*中的 “将 [IAM 角色附加到实例](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#attach-iam-role)” 或 “[替换 IAM 角色](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html#replace-iam-role)”。对于使用实例配置文件启动的实例（推荐），请向您的 `register` 命令添加 `--use-instance-profile` 开关以提供凭证；不要使用 `--profile` 参数。

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

**重要**  
我们建议您不要在实例上安装凭证。除了造成安全风险外，实例的角色还位于默认提供者链的末端， AWS CLI 用于查找默认证书。安装的凭证可能优先于该角色，因此，`register` 可能不具有所需权限。有关更多信息，请参阅 [AWS CLI入门](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#config-settings-and-precedence)。

如果运行中的实例没有角色，则您必须在实例上安装具有所需权限的凭证，如[使用安装的凭证](#registered-instances-register-registering-cli-creds)中所述。建议使用通过实例配置文件启动的实例，这样更容易、更不容易出错。

## 使用安装的凭证
<a name="registered-instances-register-registering-cli-creds"></a>

有几种方法可以在系统上安装用户凭据并将其提供给 AWS CLI 命令。下面描述了一种不再推荐的方法，但如果您要注册在没有 EC2实例配置文件的情况下启动的实例，则可以使用这种方法。您还可以使用现有 用户的凭证，只要附加的策略授予所需权限即可。有关更多信息，包括关于安装凭证的其他方法的说明，请参阅[配置和凭证文件](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-config-files)。

**使用安装的凭证**

1. [创建 IAM 用户](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-config-files)，然后将访问密钥 ID 和秘密访问密钥保存在安全位置。
**警告**  
IAM 用户具有长期凭证，这会带来安全风险。为帮助减轻这种风险，我们建议仅向这些用户提供执行任务所需的权限，并在不再需要这些用户时将其移除。

1. [将 AWSOpsWorksRegisterCLI\$1OnPremises 策略附加](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html)到用户。如果愿意，您可以附加一个授予更广泛权限的策略，只要它包含 `AWSOpsWorksRegisterCLI_OnPremises` 权限即可。

1. 在系统的 `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\$1key\$1id*和*secret\$1access\$1key*值。您可以指定任何喜欢的名称作为配置文件名称，但有两个限制：该名称必须唯一，并且默认配置文件必须命名为 `default`。您也可以使用现有配置文件，只要它具有所需权限即可。

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

   您也可以省略 `--profile`。在这种情况下，`register` 将使用默认凭证运行。请注意，这些不一定是默认配置文件的凭证，因此，您必须确保默认凭证具有所需权限。有关如何 AWS CLI 确定默认证书的更多信息，请参阅[配置 AWS 命令行界面](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。