

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

# SageMaker Studio または Studio Classic から Amazon EMR クラスターに接続する
<a name="connect-emr-clusters"></a>

データサイエンティストとデータエンジニアは、Studio ユーザーインターフェイスから直接 Amazon EMR クラスターを検出して接続できます。開始する前に、「[ステップ 4: Studio から Amazon EMR クラスターを一覧表示して起動できるようにアクセス許可を設定する](studio-notebooks-set-up-emr-templates.md#studio-emr-permissions)」セクションの説明に従って必要なアクセス許可が設定されていることを確認してください。これらのアクセス許可により、Studio はクラスターを作成、起動、表示、アクセス、終了できるようになります。

Amazon EMR クラスターには、Studio UI から直接新しい JupyterLab ノートブックに接続する方法と、実行中の JupyterLab アプリケーションのノートブックで接続を開始する方法を選択できます。

**重要**  
プライベートスペースから起動される JupyterLab アプリケーションと Studio Classic アプリケーションの Amazon EMR クラスターのみを検出して接続できます。Amazon EMR クラスターが Studio 環境と同じ AWS リージョンにあることを確認します。JupyterLab スペースでは、SageMaker Distribution イメージバージョン `1.10` 以降を使用する必要があります。

## Studio UI を使用して Amazon EMR クラスターに接続する
<a name="connect-emr-clusters-ui-options"></a>

Studio UI または Studio Classic UI を使用してクラスターに接続するには、「[Studio または Studio Classic から Amazon EMR クラスターを一覧表示する](discover-emr-clusters.md)」でアクセスしたクラスターのリストからも、SageMaker Studio ノートブックまたは Studio Classic ノートブックからも接続を開始できます。

**Studio UI から Amazon EMR クラスターを新しい JupyterLab ノートブックに接続するには:**

1. Studio UI の左側のパネルの左側のナビゲーションメニューで、**[データ]** ノードを選択します。**[Amazon EMR アプリケーションとクラスター]** まで下に移動します。これにより、**[Amazon EMR クラスター]** タブに Studio からアクセスできる Amazon EMR クラスターを一覧表示するページが開きます。
**注記**  
Amazon EMR クラスターへのクロスアカウントアクセスを許可するアクセス許可をユーザーまたは管理者が設定した場合は、Studio へのアクセスを許可したすべてのアカウントにわたるクラスターの統合された一覧を表示できます。

1. 新しいノートブックに接続する Amazon EMR クラスターを選択して、**[ノートブックにアタッチ]** をクリックします。これにより、JupyterLab スペースのリストを表示するモーダルウィンドウが開きます。

1. 
   + JupyterLab アプリケーションを起動するスペースを選択して、**[ノートブックを開く]** をクリックします。これにより、選択したスペースから JupyterLab アプリケーションが起動され、新しいノートブックが開きます。
**注記**  
Studio Classic を使用する場合は、イメージとカーネルを選択する必要があります。サポートされているイメージのリストについては、「[Studio または Studio Classic から Amazon EMR クラスターに接続するためにサポートされているイメージとカーネル](studio-emr-user-guide.md#studio-notebooks-emr-cluster-connect-kernels)」または「[独自のイメージを使用する](studio-emr-user-guide.md#studio-notebooks-emr-byoi)」を参照してください。
   + 別の方法として、モーダルウィンドウの上部にある**[新しいスペースの作成]** ボタンをクリックして、新しいプライベートスペースを作成することもできます。スペース名を入力してから、**[スペースを作成してノートブックを開く]** をクリックします。これにより、デフォルトのインスタンスタイプと最新の SageMaker ディストリビューションイメージが利用できるプライベートスペースが作成され、JupyterLab アプリケーションが起動され、新しいノートブックが開きます。

1. 選択したクラスターが Kerberos、LDAP、または[ランタイムロール]()認証を使用していない場合、Studio は認証情報タイプを選択するように求めます。**[HTTP 基本認証]** または **[認証情報なし]** を選択し、該当する場合は認証情報を入力します。

   選択したクラスターがランタイムロールをサポートしている場合は、Amazon EMR クラスターがジョブ実行のために引き受けることができる IAM ロール名を選択します。
**重要**  
ランタイムロールをサポートする Amazon EMR クラスターへの JupyterLab ノートブックの接続を正常に完了するには、「[Studio で Amazon EMR クラスターへのアクセスのための IAM ランタイムロールを設定する](studio-notebooks-emr-cluster-rbac.md)」で説明されているとおり、まずランタイムロールのリストをドメインまたはユーザープロファイルに関連付ける必要があります。このステップが完了していないと、接続を確立できません。

   選択すると、接続コマンドがノートブックの最初のセルにデータを入力して、Amazon EMR クラスターとの接続を開始します。

   接続に成功すると、接続と Spark アプリケーションの起動を確認するメッセージが表示されます。

**別の方法として、JupyterLab ノートブックまたは Studio Classic ノートブックからクラスターに接続することもできます。**

1. ノートブックの上部にある **[クラスター]** ボタンをクリックします。これにより、`Running` ステータスの Amazon EMR クラスターを一覧表示するモーダルウィンドウが開き、アクセスできます。**[Amazon EMR クラスター]** タブで、`Running` の Amazon EMR クラスターを確認できます。
**注記**  
Studio Classic を使用する場合、**[クラスター]** は、[Studio または Studio Classic から Amazon EMR クラスターに接続するためにサポートされているイメージとカーネル](studio-emr-user-guide.md#studio-notebooks-emr-cluster-connect-kernels) から、または [独自のイメージを使用する](studio-emr-user-guide.md#studio-notebooks-emr-byoi) からカーネルを使用する場合にのみ表示されます。ノートブックの上部に **[クラスター]** が表示されない場合は、管理者が[クラスターの検出可能性を設定している](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-configure-discoverability-emr-cluster.html)ことを確認し、サポートされているカーネルに切り替えてください。

1. 接続するクラスターを選択し、**[接続]** を選択します。

1. [ランタイム IAM ロール](studio-notebooks-emr-cluster-rbac.md)をサポートするように Amazon EMR クラスターを設定した場合は、**[Amazon EMR 実行ロール]** ドロップダウンメニューからロールを選択できます。
**重要**  
ランタイムロールをサポートする Amazon EMR クラスターへの JupyterLab ノートブックの接続を正常に完了するには、「[Studio で Amazon EMR クラスターへのアクセスのための IAM ランタイムロールを設定する](studio-notebooks-emr-cluster-rbac.md)」で説明されているとおり、まずランタイムロールのリストをドメインまたはユーザープロファイルに関連付ける必要があります。このステップが完了していないと、接続を確立できません。

   それ以外の場合、選択したクラスターが Kerberos、LDAP、またはランタイムロール認証を使用していない場合、Studio または Studio Classic は認証情報タイプを選択するように求めます。**[HTTP basic authentication]** (HTTP Basic 認証) または **[No Credential]** (認証情報なし) を選択できます。

1. Studio は、コードブロックをアクティブなセルに追加して実行し、接続を確立します。このセルには、認証タイプに応じてノートブックをアプリケーションに接続するための接続 Magic コマンドが含まれています。

   接続に成功すると、接続と Spark アプリケーションの起動を確認するメッセージが表示されます。

## 接続コマンドを使用して Amazon EMR クラスターに接続する
<a name="connect-emr-clusters-manually"></a>

Amazon EMR クラスターへの接続を確立するには、ノートブックセル内で接続コマンドを実行できます。

接続を確立する際は、[Kerberos](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html)、[Lightweight Directory Access Protocol (LDAP)](https://docs.aws.amazon.com/)、または[ランタイム IAM ロール](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-emr-cluster-rbac.html) の認証を使用して認証できます。選択する認証方法は、クラスターの設定によって異なります。

Kerberos 認証を使用する Amazon EMR クラスターを設定するには、この例、「[Access Apache Livy using a Network Load Balancer on a Kerberos-enabled Amazon EMR cluster](https://aws.amazon.com/blogs/big-data/access-apache-livy-using-a-network-load-balancer-on-a-kerberos-enabled-amazon-emr-cluster/)」を参照してください。別の方法として、[aws-samples/sagemaker-studio-emr](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) の GitHub レポジトリで、Kerberos または LDAP の認証を使用した CloudFormation サンプルテンプレートを利用することもできます。

管理者がクロスアカウントアクセスを有効にしている場合は、Studio Classic アプリケーションとクラスターが同じアカウントに存在するか、異なる AWS アカウントに存在するかにかかわらず、Studio Classic ノートブックから Amazon EMR クラスターに接続できます。

以下の各認証タイプで指定されたコマンドを使用して、Studio ノートブックまたは Studio Classic ノートブックからクラスターに接続します。
+ **Kerberos**

  クロスアカウントの Amazon EMR アクセスが必要な場合は、`--assumable-role-arn` 引数を追加します。HTTPS を使用してクラスターに接続する場合は、`--verify-certificate` 引数を追加します。

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id {{cluster_id}} \
  --auth-type Kerberos --language python 
  [--assumable-role-arn {{EMR_access_role_ARN}} ] 
  [--verify-certificate {{/home/user/certificateKey.pem}}]
  ```
+ **LDAP**

  クロスアカウントの Amazon EMR アクセスが必要な場合は、`--assumable-role-arn` 引数を追加します。HTTPS を使用してクラスターに接続する場合は、`--verify-certificate` 引数を追加します。

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id {{cluster_id}} \
  --auth-type Basic_Access --language python 
  [--assumable-role-arn {{EMR_access_role_ARN}} ]
  [--verify-certificate {{/home/user/certificateKey.pem}}]
  ```
+ **NoAuth**

  クロスアカウントの Amazon EMR アクセスが必要な場合は、`--assumable-role-arn` 引数を追加します。HTTPS を使用してクラスターに接続する場合は、`--verify-certificate` 引数を追加します。

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id {{cluster_id}} \
  --auth-type None --language python
  [--assumable-role-arn {{EMR_access_role_ARN}} ]
  [--verify-certificate {{/home/user/certificateKey.pem}}]
  ```
+ **ランタイム IAM ロール**

  クロスアカウントの Amazon EMR アクセスが必要な場合は、`--assumable-role-arn` 引数を追加します。HTTPS を使用してクラスターに接続する場合は、`--verify-certificate` 引数を追加します。

  ランタイム IAM ロールを使用して Amazon EMR クラスターに接続する方法の詳細については、「[Studio で Amazon EMR クラスターへのアクセスのための IAM ランタイムロールを設定する](studio-notebooks-emr-cluster-rbac.md)」を参照してください。

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id {{cluster_id}} \
  --auth-type Basic_Access \
  --emr-execution-role-arn arn:aws:iam::{{studio_account_id}}:role/{{emr-execution-role-name}}
  [--assumable-role-arn {{EMR_access_role_ARN}}]
  [--verify-certificate {{/home/user/certificateKey.pem}}]
  ```

## HTTPS 経由で Amazon EMR クラスターに接続する
<a name="connect-emr-clusters-ssl"></a>

Amazon EMR クラスターで転送暗号化が有効になっており、Apache Livy サーバーが HTTPS 用に設定されていて、Studio または Studio Classic が HTTPS を使用して Amazon EMR と通信するようにする場合は、証明書キーにアクセスするように Studio または Studio Classic を設定する必要があります。

自己署名証明書またはローカル認証局 (CA) 署名証明書の場合、2 つのステップでこれを行うことができます。

1. 次のいずれかのオプションを使用して、証明書の PEM ファイルをローカルファイルシステムにダウンロードします。
   + Jupyter に組み込まれているファイルアップロード機能。
   + ノートブックのセル。
   + (Studio Classic を使用する場合のみ) ライフサイクル設定 (LCC) スクリプト。

     LCC スクリプトの使用方法については、「[Customize a Notebook Instance Using a Lifecycle Configuration Script](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html)」を参照してください。

1. 接続コマンドの `--verify-certificate` 引数に証明書へのパスを指定して、証明書の検証を有効にします。

   ```
   %sm_analytics emr connect --cluster-id {{cluster_id}} \
   --verify-certificate {{/home/user/certificateKey.pem}} ...
   ```

パブリック CA が発行する証明書の場合は、`--verify-certificate` パラメータを `true` に設定して証明書の検証を設定します。

または、`--verify-certificate` パラメータを `false` に設定して証明書の検証を無効にすることもできます。

Amazon EMR クラスターに利用できる接続コマンドのリストは、「[接続コマンドを使用して Amazon EMR クラスターに接続する](#connect-emr-clusters-manually)」で確認できます。