Amazon EMR クラスターを作成するときに「EMR_DefaultRole is invalid」(EMR_DefaultRole が無効です) エラーと「EMR_EC2_DefaultRole is invalid」(EMR_EC2_DefaultRole が無効です) というエラーが表示されるのはなぜですか?

所要時間1分
0

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

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

簡単な説明

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

問題の原因が見つからない場合は、ロールを削除して再作成します。

解決方法

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

IAM ロール EMR_DefaultRole または EMR_EC2_DefaultRole にポリシーを追加した場合は、行った変更を確認します。ロールの変更されたバージョンを元のバージョン (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

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

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 クラスターを起動します。


関連情報

Configure IAM service roles for Amazon EMR permissions to AWS services and resources (AWS のサービスおよびリソースに対する Amazon EMR の許可の IAM サービスロールの設定)

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ