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

上次更新时间:2021 年 5 月 12 日

如何在 Amazon Elastic Compute Cloud(Amazon EC2)实例上附加或替换实例配置文件?

解决方法

请按照以下说明在 EC2 实例上附加或替换实例配置文件。

注意:

  • 如果您是使用 AWS 管理控制台创建的该 AWS Identity and Access Management(IAM)角色并且对于 AWS 服务选择的是 EC2,则实例配置文件和 IAM 角色的名称相同。
  • 如果您是使用 AWS 命令行界面(AWS CLI)创建的该 IAM 角色,则该实例配置文件也必须使用 AWS CLI 创建。IAM 角色名称和实例配置文件名称可以不同。
  • 如果在运行 AWS CLI 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI

AWS 管理控制台

  1. 打开 Amazon EC2 控制台,然后选择实例
  2. 选择要向其附加 IAM 角色的实例。
  3. 检查 Details(详细信息)窗格下的 IAM 角色,以确认是否有 IAM 角色已经附加到此 Amazon EC2 实例。如果已经附加了某个 IAM 角色,则应确认更改附加到此 Amazon EC2 实例的角色不会影响您的应用程序或对 AWS 服务的访问。
    注意:EC2 实例权限会根据附加的 IAM 角色而改变,实例上运行的应用程序可能会受到影响。
  4. 依次选择 Actions(操作)、Security(安全性)和 Modify IAM role(修改 IAM 角色)。
    注意:Amazon EC2 使用实例配置文件作为 IAM 角色的容器。有关更多信息,请参阅实例类型
  5. Choose IAM role(选择 IAM 角色)下拉列表中,选择要附加的实例配置文件。
  6. 选择 Save(保存)。

有关更多信息,请参阅创建 IAM 角色(控制台)

AWS 命令行界面 (AWS CLI)

将角色添加到某个实例配置文件,然后再将该实例配置文件附加到 EC2 实例。

1.    如果您尚未创建实例配置文件,则运行以下 AWS CLI 命令:

aws iam create-instance-profile --instance-profile-name EXAMPLEPROFILENAME

2.    运行以下 AWS CLI 命令以将该角色添加至实例配置文件:

$ aws iam add-role-to-instance-profile --instance-profile-name EXAMPLEPROFILENAME --role-name EXAMPLEROLENAME

3.    运行以下 AWS CLI 命令以将该实例配置文件附加到 EC2 实例:

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

注意:如果此 EC2 实例已经关联了某个实例配置文件,则 associate-iam-instance-profile 命令将会失败。要解决此问题,请运行 describe-iam-instance-profile-associations 命令以获取关联的实例 ID。然后,请执行以下操作之一:

运行 replace-iam-instance-profile-association 命令以替换实例配置文件。

–或者–

运行 disassociate-iam-instance-profile 命令以分离该实例配置文件,然后重新运行 associate-iam-instance-profile 命令。

4.    运行以下 AWS CLI 命令以验证该 IAM 角色是否已经附加到该实例:

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