J'obtiens une erreur « EMR_DefaultRole n'est pas valide » ou « EMR_EC2_DefaultRole n'est pas valide » lors de la création d'un cluster Amazon EMR

Dernière mise à jour : 12/11/2020

Lorsque j'essaie de créer un nouveau cluster Amazon EMR, j'obtiens l'un des messages d'erreur suivants :

  • « EMR_DefaultRole n'est pas valide »
  • « EMR_EC2_DefaultRole n'est pas valide »

Brève description

Ces erreurs se produisent généralement lorsque vous modifiez une ou plusieurs stratégies AWS Identity and Access Management (IAM) associées aux rôles par défaut Amazon EMR. Pour résoudre ces problèmes, comparez les rôles modifiés avec les versions d'origine (AmazonElasticMapReduceRole ou AmazonElasticMapReduceForEC2Role). Si vous ne trouvez pas la source du problème, supprimez et recréez les rôles.

Résolution

Comparer les rôles modifiés aux versions d'origine

Si vous avez modifié AmazonElasticMapReduceforEC2Role ou AmazonElasticMapReduceRole, passez en revue les modifications que vous avez apportées. Comparez les versions modifiées avec les originaux (AmazonElasticMapReduceRole ou AmazonElasticMapReduceforEC2Role). Si vous ne parvenez pas à déterminer ce qui a causé le problème, supprimez les rôles et le profil d'instance, comme expliqué dans la section suivante.

Supprimer et recréer les rôles et le profil d'instance

Avant de commencer, prenez note des éléments suivants :

  • Assurez-vous qu'aucune instance EC2 n'est en cours d'exécution avec le rôle ou le profil d'instance que vous vous apprêtez à supprimer. La suppression d'un rôle ou d'un profil d'instance associé à une instance en cours d'exécution arrêtera toutes les applications en cours d'exécution sur l'instance.
  • Les étapes suivantes permettent de réinitialiser EMR_DefaultRole et EMR_EC2_DefaultRole selon leurs configurations d'origine. Si vous avez personnalisé les stratégies IAM associées à ces rôles, ces modifications seront perdues.

AWS Management Console

1.    Utilisez la console IAM pour supprimer les rôles. IAM supprime automatiquement le profil d'instance et les stratégies associés au rôle.

2.    Ouvrez la console Amazon EMR.

3.    Créez un cluster EMR. Sous Autorisations, choisissez Par défaut. Amazon EMR crée les rôles par défaut lorsqu'il lance le cluster. Ces rôles sont disponibles pour tous les clusters que vous lancerez ultérieurement.

Interface de ligne de commande AWS (AWS CLI)

Remarque : si vous recevez des erreurs lors de l'exécution des commandes depuis l'interface de ligne de commande AWS (CLI AWS), assurez-vous que vous utilisez la version de cette dernière.

1.    Supprimez le rôle EMR_EC2_DefaultRoledu profil d'instance :

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.    Supprimez la stratégie IAM associée à EMR_EC2_DefaultRole :

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

5.    Supprimez la stratégie IAM associée à EMR_DefaultRole :

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

6.    Supprimez EMR_DefaultRole :

aws iam delete-role --role-name EMR_DefaultRole
aws emr create-default-roles

8.    Lancez un nouveau cluster EMR.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?