Der EMR-Jobflow kann nicht mit temporären Anmeldeinformationen aus EC2-IAM-Rollen gestartet werden

9

Ich habe eine Instanz, der eine EC2-IAM-Rolle zugewiesen wurde. Ich kann keinen EMR-Jobflow von dieser Instanz mithilfe der temporären Anmeldeinformationen erstellen, die eine von der Rolle zugewiesene Instanz bereitstellt. Ich erhalte die folgende Antwort von der API:

%Vor%

Googeln dieser Fehlermeldung hat absolut nichts ergeben. Ich bekomme die gleiche Antwort von der API, ob ich die AWS CLI oder boto direkt verwende. In dem Versuch, dem Rat dieser Fehlermeldung zu folgen, habe ich versucht, {InstanceProfile: <instance_profile_name>} an das api_params Argument für die run_jobflow -Methode in boto zu übergeben, bekomme aber immer noch den gleichen Fehler. Ich habe auch versucht, das Argument service_role für run_jobflow zu verwenden, das ebenfalls fehlgeschlagen ist. Beide zusammen zu passieren, ist ebenfalls gescheitert.

Laut dieser Seite von Amazon-Dokumenten sollte EMR Unterstützen STS und EC2 IAM-Rollen, so wundern, wenn jemand dies zum Arbeiten zuvor bekommen hat.

    
qwwqwwq 17.08.2014, 20:21
quelle

2 Antworten

2

Ich habe das in Java funktioniert. Wie Sam habe ich eine Service-Rolle und Job-Flow-Rolle angegeben. Es war eine Überraschung für mich, dass ein Fehler bei InstanceProfile die Jobflow-Rolle erforderte. zB:

%Vor%

Die andere Sache, die ich getan habe, war in meiner Cloud-Formationsvorlage. Ich habe meiner Instanzrolle die AmazonElasticMapReduceFullAccess-Richtlinie erteilt. zB:

%Vor%     
Roman Zabicki 05.03.2015, 15:48
quelle
1

Ja, ich habe es geschafft zu arbeiten, mit:

  • Eine explizite service-role (mit EMR_DefaultRole als Vorlage)
  • Eine explizite jobflow-role (mit EMR_EC2_DefaultRole als Vorlage)
  • Erteilen von Berechtigungen iam:PassRole (für die Ressource service-role ) an die EC2-IAM-Rolle
Sam 23.01.2015 01:08
quelle