ランタイムロールを使用して EMR Studio Workspace を実行する - Amazon EMR

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ランタイムロールを使用して EMR Studio Workspace を実行する

注記

このページで説明されているランタイムロール機能は、Amazon でEMR実行されている Amazon にのみ適用されEC2、EMRサーバーレスインタラクティブアプリケーションのランタイムロール機能は参照されません。EMR Serverless でランタイムロールを使用する方法の詳細については、「Amazon EMR Serverless ユーザーガイド」の「ジョブランタイムロール」を参照してください。

ランタイムロールは、Amazon EMRクラスターにジョブまたはクエリを送信するときに指定できる AWS Identity and Access Management (IAM) ロールです。EMR クラスターに送信するジョブまたはクエリは、ランタイムロールを使用して Amazon S3 のオブジェクトなどの AWS リソースにアクセスします。

EMR Studio Workspace を Amazon 6.11 以降を使用する EMR EMRクラスターにアタッチすると、 AWS リソースへのアクセス時に使用するジョブまたはクエリのランタイムロールを選択できます。ただし、EMRクラスターがランタイムロールをサポートしていない場合、EMRクラスターは AWS リソースにアクセスするときにロールを引き受けません。

Amazon EMR Studio Workspace でランタイムロールを使用する前に、管理者は Studio ユーザーがランタイムロールelasticmapreduce:GetClusterSessionCredentialsAPIで を呼び出すことができるようにユーザーアクセス許可を設定する必要があります。次に、Amazon EMR Studio Workspace で使用できるランタイムロールを使用して新しいクラスターを起動します。

ランタイムロールのユーザーアクセス許可を設定する

Studio ユーザーが使用するランタイムロールelasticmapreduce:GetClusterSessionCredentialsAPIで を呼び出すことができるように、ユーザーアクセス許可を設定します。また、ユーザーが Studio を使い始める前に「Amazon EC2または Amazon の EMR Studio ユーザーアクセス許可を設定する EKS」を実施する必要があります。

警告

このアクセス許可を付与するには、 GetClusterSessionCredentials を呼び出すためのアクセス許可を発信者に付与するときに、elasticmapreduce:ExecutionRoleArnコンテキストキーに基づいて条件を作成しますAPIs。次の例は、その方法を示しています。

{ "Sid": "AllowSpecificExecRoleArn", "Effect": "Allow", "Action": [ "elasticmapreduce:GetClusterSessionCredentials" ], "Resource": "*", "Condition": { "StringEquals": { "elasticmapreduce:ExecutionRoleArn": [ "arn:aws:iam::111122223333:role/test-emr-demo1", "arn:aws:iam::111122223333:role/test-emr-demo2" ] } } }

次の例は、 IAMプリンシパルが という名前の IAMロールをランタイムロールtest-emr-demo3として使用できるようにする方法を示しています。さらに、ポリシー所有者はEMRクラスター ID を持つ Amazon クラスターにのみアクセスできますj-123456789

{ "Sid":"AllowSpecificExecRoleArn", "Effect":"Allow", "Action":[ "elasticmapreduce:GetClusterSessionCredentials" ], "Resource": [ "arn:aws:elasticmapreduce:<region>:111122223333:cluster/j-123456789" ], "Condition":{ "StringEquals":{ "elasticmapreduce:ExecutionRoleArn":[ "arn:aws:iam::111122223333:role/test-emr-demo3" ] } } }

次の例では、 IAMプリンシパルに、 文字列で始まる名前のIAMロールをランタイムロールtest-emr-demo4として使用することを許可します。さらに、ポリシー所有者は、キーと値のペア でタグ付けされた Amazon EMRクラスターにのみアクセスできますtagKey: tagValue

{ "Sid":"AllowSpecificExecRoleArn", "Effect":"Allow", "Action":[ "elasticmapreduce:GetClusterSessionCredentials" ], "Resource": "*", "Condition":{ "StringEquals":{ "elasticmapreduce:ResourceTag/tagKey": "tagValue" }, "StringLike":{ "elasticmapreduce:ExecutionRoleArn":[ "arn:aws:iam::111122223333:role/test-emr-demo4*" ] } } }

ランタイムロールを使用して新しいクラスターを起動する

必要なアクセス許可が付与されたので、Amazon EMR Studio Workspace で使用できるランタイムロールを使用して新しいクラスターを起動します。

ランタイムロールを使用して新しいクラスターを既に起動している場合は、「Workspaces でランタイムロールでEMRクラスターを使用する」セクションに進んでください。

  1. まず、「Amazon EMR ステップのランタイムロール」セクションの前提条件を満たします。

  2. 次に、以下の設定でクラスターを起動し、Amazon EMR Studio Workspace でランタイムロールを使用します。クラスターを起動する手順については、「Amazon EMRクラスターのセキュリティ設定を指定する」を参照してください。

    • emr-6.11.0 以降のリリースラベルを選択します。

    • クラスターアプリケーションとして Spark、Livy、Jupyter Enterprise Gateway を選択します。

    • 前のステップで作成したセキュリティ設定を使用します。

    • 必要に応じて、EMRクラスターの Lake Formation を有効にできます。詳細については、「Amazon で Lake Formation を有効にする EMR」を参照してください。

クラスターを起動したら、EMRStudio Workspace でランタイムロール対応クラスターを使用する準備が整います。

注記

ExecutionRoleArn 値が の場合、 ExecutionEngineConfig.Type値は StartNotebookExecutionAPIオペレーションでは現在サポートされていませんEMR

Workspaces でランタイムロールでEMRクラスターを使用する

クラスターを設定して起動したら、EMRStudio Workspace でランタイムロール対応クラスターを使用できます。

  1. 新しい Workspace を作成するか、既存の Workspace を起動します。詳細については、「EMR Studio Workspace を作成する」を参照してください。

  2. 開いている Workspace の左側のサイドバーにあるEMRクラスタータブを選択し、コンピューティングタイプセクションを展開して、メニューからEMRクラスターEC2を選択し、ランタイムロールメニューからランタイムロールを選択します。

    インターフェイスに基づく EMR JupyterLab Studio Workspace ユーザーインターフェイス。左側のサイドバーにアイコンが表示されたタブがあります。
  3. [アタッチ] を選択して、ランタイムロールを使用するクラスターを Workspace にアタッチします。

注記

ランタイムロールを選択するときは、基盤となる管理ポリシーをそのロールに関連付けることができることに注意してください。ほとんどの場合、特定のノートブックなど、限られたリソースを選択することをお勧めします。例えば、すべてのノートブックへのアクセスを含むランタイムロールを選択した場合、ロールに関連付けられた 管理ポリシーはフルアクセスを提供します。

考慮事項

Amazon EMR Studio Workspace でランタイムロールが有効なクラスターを使用する場合は、次の考慮事項に注意してください。

  • EMR Studio Workspace を Amazon EMRリリース 6.11 以降を使用する EMRクラスターにアタッチする場合にのみ、ランタイムロールを選択できます。

  • このページで説明されているランタイムロール機能は、Amazon でEMR実行されている Amazon でのみサポートされておりEC2、EMRサーバーレスインタラクティブアプリケーションではサポートされていません。EMR Serverless のランタイムロールの詳細については、「Amazon EMR Serverless ユーザーガイド」の「ジョブランタイムロール」を参照してください。

  • クラスターにジョブを送信するときにランタイムロールを指定する前に追加のアクセス許可を設定する必要がありますが、EMRStudio Workspace によって生成されたファイルにアクセスするための追加のアクセス許可は必要ありません。これらのファイルのアクセス許可は、ランタイムロールを使用しないクラスターから生成されたファイルと同じです。

  • ランタイムロールを持つクラスターでは、EMRStudio Workspace で SQL Explorer を使用できません。Workspace がランタイムロール対応EMRクラスターにアタッチされると、Amazon は UI の SQL Explorer をEMR無効にします。

  • ランタイムロールを持つクラスターを持つ EMR Studio Workspace では、コラボレーションモードを使用できません。Amazon は、Workspace がランタイムロールが有効なEMRクラスターにアタッチされている場合、Workspace コラボレーション機能をEMR無効にします。Workspace には、Workspace をアタッチしたユーザーのみが引き続きアクセスできます。

  • IAM Identity Center の信頼できる ID 伝達が有効になっている Studio では、ランタイムロールを使用できません。

  • ランタイムロールが有効なクラスターに対して Spark UI から [Page may not be safe!] という警告が Amazon EMRリリース 7.4.0 以前を使用するランタイムロール対応クラスターの Spark UI から。この場合は、アラートを無視して続行し、Spark UI を表示してください。