跳至内容

如何在 Amazon EC2 实例上附加或替换实例配置文件?

2 分钟阅读
0

我想附加或替换 Amazon Elastic Compute Cloud (Amazon EC2) 实例上的实例配置文件。

解决方法

**要求:**您必须拥有启动 EC2 实例的权限和传递 AWS Identity and Access Management (IAM) 角色的权限。

要附加或替换 EC2 实例上的实例配置文件,请创建 IAM 角色。要创建 IAM 角色,您可以使用 AWS 管理控制台或 AWS 命令行界面 (AWS CLI)。如果您使用 AWS CLI,则还须使用 AWS CLI 创建实例配置文件。IAM 角色名称和实例配置文件名称可能不同。当您使用 AWS 管理控制台时,实例配置文件和角色名称是相同的。

创建 IAM 角色

使用 AWS 管理控制台

完成以下步骤:

  1. 打开 Amazon EC2 控制台,然后选择 Instances(实例)。
  2. 选择要附加 IAM 角色的实例。
  3. Details(详细信息)下,找到 IAM Role(IAM 角色),然后验证 IAM 角色是否已附加到实例。
    **重要事项:**实例的权限根据附加的 IAM 角色而变化。当您修改 IAM 角色时,在该实例上运行的应用程序可能会受到影响。在修改 IAM 角色之前,请验证在实例上运行的应用程序是否可以访问 AWS 服务。
  4. 选择 Actions(操作)菜单,然后选择 Security(安全)。
  5. 选择 Modify IAM role(修改 IAM 角色)。
    **注意:**Amazon EC2 会将实例配置文件作为 IAM 角色的容器。
  6. 对于 Choose IAM role(选择 IAM 角色),选择要附加的实例配置文件。
  7. 选择 Save(保存)。

使用 AWS CLI

**注意:**如果您在运行 AWS CLI 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI

**注意:**在以下命令中,将 PROFILENAME 替换为您的实例的配置文件名称,将 ROLENAME 替换为您的角色名称,将 INSTANCE-ID 替换为您的实例 ID。

完成以下步骤:

  1. 运行以下 create-instance-profile 命令来创建实例配置文件:

    aws iam create-instance-profile --instance-profile-name PROFILENAME
  2. 运行以下 add-role-to-instance-profile 命令将角色添加到实例配置文件:

    aws iam add-role-to-instance-profile --instance-profile-name PROFILENAME --role-name ROLENAME
  3. 运行以下 associate-iam-instance-profile 命令将实例配置文件附加到实例:

    aws ec2 associate-iam-instance-profile --iam-instance-profile Name=PROFILENAME --instance-id i-012345678910abcde

    如果您将实例配置文件与该实例相关联,则 associate-iam-instance-profile 命令会失败。要解决此问题,请运行 describe-iam-instance-profile-associations 命令以获取关联的实例 ID。然后,运行 replace-iam-instance-profile-association 命令以替换实例配置文件。或者,运行 disassociate-iam-instance-profile 命令来分离实例配置文件,然后重新运行 associate-iam-instance-profile 命令。

  4. 运行 describe-iam-instance-profile-associations 命令以验证 IAM 角色是否已附加到该实例:

    aws ec2 describe-iam-instance-profile-associations --filters Name=INSTANCE-ID,Values=i-012345678910abcde

相关信息

使用 IAM 角色向 Amazon EC2 实例上运行的应用程序授予权限

使用实例配置文件

排查 IAM 和 Amazon EC2 问题