Perché riscontro l'errore "EMR_DefaultRole is invalid"o "EMR_EC2_DefaultRole is invalid" quando creo un cluster Amazon EMR?

3 minuti di lettura
0

Quando provo a creare un cluster Amazon EMR, ricevo uno dei seguenti messaggi di errore: "EMR_DefaultRole is invalid" "EMR_EC2_DefaultRole is invalid"

Breve descrizione

Questi errori si verificano in genere quando modifichi una o più policy di AWS Identity and Access Management (IAM) collegate ai ruoli predefiniti di Amazon EMR. Per risolvere i problemi, confronta i ruoli modificati con le versioni originali (AmazonElasticMapReduceRole o AmazonElasticMapReduceForec2Role).

Se non riesci a trovare l'origine del problema, elimina e ricrea i ruoli.

Soluzione

Confronta i ruoli modificati con le versioni originali

Se hai aggiunto policy ai ruoli IAM EMR\ _defaultRole o EMR_EC2_defaultRole , rivedi le modifiche apportate. Confronta le versioni modificate dei ruoli con le versioni originali (AmazonElasticMapReduceRole o AmazonElasticMapReduceForec2Role). Se non riesci a determinare la causa del problema, elimina i ruoli e il profilo dell'istanza, come spiegato nella sezione seguente.

Eliminare e ricreare i ruoli e il profilo dell'istanza

Prima di iniziare, tieni presente quanto segue:

  • Assicurati di non avere istanze EC2 in esecuzione che utilizzano il ruolo o il profilo dell’istanza che stai per eliminare. L'eliminazione di un ruolo o di un profilo dell’istanza associato a un'istanza in esecuzione interrompe le applicazioni in esecuzione sull'istanza.
  • I passaggi seguenti ripristinano le configurazioni originali di EMR_DefaultRole e EMR_EC2_DefaultRole. Se hai personalizzato le policy IAM associate a questi ruoli, tali modifiche vengono perse.

Console di gestione AWS

1.    Usa la console IAM per eliminare i ruoli. IAM elimina automaticamente il profilo dell'istanza e le policy associate al ruolo.

2.    Apri la console Amazon EMR.

3.    Crea un cluster EMR. Per Autorizzazioni, scegli Predefinito. Amazon EMR crea i ruoli predefiniti quando avvia il cluster. Questi ruoli sono disponibili per tutti i cluster che avvierai in seguito.

Usa l'interfaccia della linea di comando AWS (AWS CLI)

Nota: se ricevi errori durante l'esecuzione dei comandi dell'interfaccia della linea di comando di AWS,assicurati di utilizzare la versione più recente dell'interfaccia CLI di AWS.

1.    Rimuovi EMR_EC2_defaultRole dal profilo dell'istanza:

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

2.    Elimina il profilo dell'istanza:

aws iam delete-instance-profile --instance-profile-name EMR_EC2_DefaultRole

3.    Rimuovi la policy IAM associata a EMR_EC2_defaultRole:

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

4.    Elimina EMR_EC2_defaultRole:

aws iam delete-role --role-name EMR_EC2_DefaultRole

5.    Rimuovi la policy IAM associata a EMR\ _defaultRole:

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

6.    Elimina EMR_defaultRole:

aws iam delete-role --role-name EMR_DefaultRole

7.    Ricrea i ruoli predefiniti:

aws emr create-default-roles

8.    Avvia un nuovo cluster EMR.


Informazioni correlate

Configurare i ruoli dei servizi IAM per le autorizzazioni Amazon EMR per i servizi e le risorse AWS

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa