Amazon EC2 インスタンス上のインスタンスプロファイルをアタッチまたは置き換えるにはどうすればよいですか?

最終更新日: 2021 年 10 月 20 日

Amazon Elastic Compute Cloud (Amazon EC2) インスタンスで、インスタンスプロファイルをアタッチまたは置き換えるにはどうすればよいですか?

解決方法

EC2 インスタンスでのインスタンスプロファイルのアタッチまたは置換は、次の手順に従って行います。

注:

  • AWS マネジメントコンソールを使用して AWS Identity and Access Management (IAM) ロールを作成し、AWS のサービスとして EC2 を選択した場合、インスタンスプロファイルの名前とロールの名前は同じです。
  • AWS Command Line Interface (AWS CLI) を使用して IAM ロールを作成した場合、AWS CLI を使用してインスタンスプロファイルも作成する必要があります。IAM ロール名とインスタンスプロファイル名は異なる場合があります。
  • AWS CLI コマンドの実行時にエラーが発生した場合は、ご利用中の AWS CLI の最新バージョンを使用していることを確認してください
  • EC2 インスタンスを起動するための許可と IAM ロールを渡すための許可が必要です。詳細については、Amazon EC2 でのロールの使用に必要な許可を参照してください。

AWS マネジメントコンソール

  1. Amazon EC2 コンソールを開き、[Instances] をクリックします。
  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 Command Line Interface (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