Amazon EMR クラスターの作成時に「EMR_DefaultRole が無効です」または「EMR_EC2_DefaultRole が無効です」というエラーが表示されます。

最終更新日: 2020 年 11 月 12 日

Amazon EMR クラスターを作成しようとすると、次のいずれかのエラーメッセージが表示されます。

  • 「EMR_DefaultRole が無効です」
  • 「EMR_EC2_DefaultRole が無効です」

簡単な説明

通常、このようなエラーは、Amazon EMR のデフォルトロールにアタッチされている 1 つ以上の AWS Identity and Access Management (IAM) ポリシーを編集したときに発生します。トラブルシューティングを行うには、変更されたロールを元のバージョン (AmazonElasticMapReduceRole または AmazonElasticMapReduceforEC2Role) と比較します。問題の原因が見つからない場合は、ロールを削除して再作成します。

解決方法

変更後のロールを元のバージョンと比較する

AmazonElasticMapReduceforEC2Role または AmazonElasticMapReduceRole のいずれかを変更した場合は、行った変更を確認します。変更後のバージョンをオリジナル (AmazonElasticMapReduceRole または AmazonElasticMapReduceforEC2Role) と比較します。問題の原因を特定できない場合は、次のセクションで説明するように、ロールとインスタンスプロファイルを削除します。

ロールとインスタンスプロファイルを削除して再作成する

開始する前に、以下の点に注意してください。

  • 削除しようとしているロールまたはインスタンスプロファイルを使用する、実行中の EC2 インスタンスがないことを確認します。実行中のインスタンスに関連付けられたロールまたはインスタンスプロファイルを削除すると、そのインスタンスで実行中のアプリケーションが中断されます。
  • 以下の手順に従い、EMR_DefaultRoleEMR_EC2_DefaultRole を本来の設定にリセットします。これらのロールにアタッチされた IAM ポリシーをカスタマイズした場合、そのような変更は失われます。

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

1.    IAM コンソールを使用してロールを削除します。IAM は、ロールに関連付けられたインスタンスプロファイルとポリシーを自動的に削除します。

2.    Amazon EMR コンソールを開きます。

3.    EMR クラスターを作成します。[アクセス権限] で [デフォルト] を選択します。Amazon EMR は、クラスターの起動時にデフォルトのロールを作成します。それらのロールは、以降に起動するクラスターすべてで利用できます。

AWS コマンドラインインターフェイス (AWS CLI)

注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください

1.    次のように、インスタンスプロファイルから EMR_EC2_DefaultRole を削除します

aws iam remove-role-from-instance-profile --instance-profile-name EMR_EC2_DefaultRole --role-name EMR_EC2_DefaultRole
aws iam delete-instance-profile --instance-profile-name EMR_EC2_DefaultRole

3.    次のように、EMR_EC2_DefaultRole に関連付けられている IAM ポリシーを削除します

aws iam detach-role-policy --role-name EMR_EC2_DefaultRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceforEC2Role

4.    次のように、EMR_EC2_DefaultRole を削除します

aws iam delete-role --role-name EMR_EC2_DefaultRole

5.    次のように、EMR_DefaultRole に関連付けられている IAM ポリシーを削除します。

aws iam detach-role-policy --role-name EMR_DefaultRole --policy-arn arn:aws:iam::aws:policy/service-role/AmazonElasticMapReduceRole

6.    EMR_DefaultRole を削除します。

aws iam delete-role --role-name EMR_DefaultRole

7.    次のように、デフォルトのロールを再作成します

aws emr create-default-roles

8.    新しい EMR クラスターを起動します。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?