

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

# AWS Glue インタラクティブセッションを使用したデータ準備
<a name="studio-notebooks-glue"></a>

[AWS Glue インタラクティブセッション](https://docs.aws.amazon.com/glue/latest/dg/interactive-sessions-overview.html)は、データレイクやデータパイプラインに保存するデータを収集、変換、クリーンアップ、準備するために使用できるサーバーレスサービスです。 AWS Glue インタラクティブセッションは、オンデマンドのサーバーレス Apache Spark ランタイム環境を提供するため、複雑なコンピューティングクラスターインフラストラクチャをプロビジョンして管理する必要なく、専用のデータ処理ユニット (DPU) 上で数秒で初期化できます。初期化後、Studio ノートブックまたは Studio Classic ノートブックで、 AWS Glue データカタログの参照、大規模なクエリの実行 AWS Lake Formation、 によって管理されるデータへのアクセス、Spark を使用したデータのインタラクティブな分析と準備を行うことができます。その後、準備したデータを使用して、SageMaker Studio または Studio Classic 内の専用の ML ツールを使用してモデルをトレーニング、調整、デプロイできます。設定可能性と柔軟性を中程度に制御するサーバーレス Spark サービスが必要な場合は、データ準備ワークロードの AWS Glue インタラクティブセッションを検討する必要があります。

Studio または Studio Classic で JupyterLab ノートブックを起動することで、 AWS Glue インタラクティブセッションを開始できます。ノートブックを開始する際は、組み込みの `Glue PySpark and Ray` カーネルまたは `Glue Spark` カーネルを選択します。これにより、インタラクティブなサーバーレス Spark セッションが自動的に開始されます。コンピューティングクラスターやインフラストラクチャをプロビジョンしたり管理したりする必要はありません。初期化後、Studio ノートブックまたは Studio Classic ノートブック内からデータを探索して操作できます。

Studio または Studio Classic で AWS Glue インタラクティブセッションを開始する前に、適切なロールとポリシーを設定する必要があります。さらに、ストレージである Amazon S3 バケットなどの追加のリソースへのアクセスを提供する必要がある場合があります。必要な IAM ポリシーの設定の詳細については、「[Studio または Studio Classic の AWS Glue インタラクティブセッションのアクセス許可](getting-started-glue-sm.md#glue-sm-iam)」を参照してください。

Studio と Studio Classic は AWS Glue インタラクティブセッションのデフォルト設定を提供しますが、Jupyter マジックコマンドの完全な AWS Glueカタログを使用して環境をさらにカスタマイズできます。 AWS Glue インタラクティブセッションで使用できるデフォルトおよび追加の Jupyter マジックの詳細については、「」を参照してください[Studio または Studio Classic で AWS Glue インタラクティブセッションを設定する](getting-started-glue-sm.md#glue-sm-magics)。
+ Studio Classic ユーザーが AWS Glue インタラクティブセッションを開始する場合、次のイメージとカーネルから選択できます。
  + イメージ: `SparkAnalytics 1.0`、`SparkAnalytics 2.0`
  + カーネル: `Glue Python [PySpark and Ray]` と `Glue Spark`
+ Studio を使用する場合は、デフォルトの [SageMaker Distribution イメージ](https://github.com/aws/sagemaker-distribution)を使用して、`Glue Python [PySpark and Ray]` カーネルまたは `Glue Spark` カーネルを選択します。

# AWS Glue インタラクティブセッションの開始方法
<a name="getting-started-glue-sm"></a>

このガイドでは、SageMaker AI Studio Classic で AWS Glue インタラクティブセッションを開始し、Jupyter Magics を使用して環境を管理する方法について説明します。

## Studio または Studio Classic の AWS Glue インタラクティブセッションのアクセス許可
<a name="glue-sm-iam"></a>

このセクションでは、Studio または Studio Classic で AWS Glue インタラクティブセッションを実行するために必要なポリシーと、それらの設定方法について説明します。特に、以下の方法について詳しく説明します。
+ `AwsGlueSessionUserRestrictedServiceRole` マネージドポリシーを SageMaker AI 実行ロールにアタッチします。
+ SageMaker AI 実行ロールにインラインカスタムポリシーを作成します。
+ SageMaker AI 実行ロールの信頼関係を変更します。

**現在の `AwsGlueSessionUserRestrictedServiceRole` 管理ポリシーを実行ロールに割り当てるには**

1. [[IAM コンソール]](https://console.aws.amazon.com/iam/) を開きます。

1. 左側のパネルの **[Roles]** (ロール)を選択します。

1. ユーザープロファイルが使用する Studio Classic 実行ロールを検索します。ユーザープロファイルを表示する方法の詳細については、「[ドメイン内のユーザープロファイルを表示する](domain-user-profile-view.md)」を参照してください。

1. ロール名を選択して、[ロールの概要] ページを開きます。

1. **[アクセス許可]** タブの **[アクセス許可の追加]** ドロップダウンメニューから **[ポリシーをアタッチ]** を選択します。

1. マネージド `AwsGlueSessionUserRestrictedServiceRole` ポリシーの横にあるチェックボックスを選択します。

1. **ポリシーのアタッチ** を選択します。

   概要ページには、新しく追加した管理ポリシーが表示されます。

   

**実行ロールにインラインカスタムポリシーを作成するには**

1. **[アクセス許可の追加]** ドロップダウンメニューで **[インラインポリシーを作成]** を選択します。

1. [**JSON**] タブを選択します。

1. 以下のポリシーをコピーして、貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "uniqueStatementId",
   
               "Effect": "Allow",
               "Action": [
   	     "iam:GetRole",
                   "iam:PassRole",
                   "sts:GetCallerIdentity"
               ],
               "Resource": "arn:aws:iam::*:role/GlueServiceRole*"
           }
       ]
   }
   ```

------

1. **[ポリシーの確認]** を選択します。

1. **[名前]** を入力し、**[ポリシーを作成]** を選択します。

   概要ページには、新しく追加したカスタムポリシーが表示されます。

   

**実行ロールの信頼関係を変更するには**

1. **[信頼関係]** タブを選択します。

1. **[信頼ポリシーを編集]** を選択します。

1. 以下のポリシーをコピーして、貼り付けます。

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Principal": {
               "Service": [
                   "glue.amazonaws.com",
                   "sagemaker.amazonaws.com"
               ]
           },
           "Action": "sts:AssumeRole"
       }
   ]
   }
   ```

------

1. [**ポリシーの更新**] を選択してください。

他の AWS リソースにアクセスする必要がある場合は、ロールやポリシーを追加できます。含めることができる追加のロールとポリシーの説明については、 AWS Glue ドキュメントの[「IAM とのインタラクティブセッション](https://docs.aws.amazon.com/glue/latest/dg/glue-is-security.html)」を参照してください。

## タグ伝達
<a name="glue-sm-tag-propagation"></a>

タグは一般的に、コストの追跡と配分、セッションへのアクセスの制御、リソースの分離などに使用されます。タグ付けを使用して AWS リソースにメタデータを追加する方法や、一般的な使用例の詳細については、「[追加情報](#more-information)」を参照してください。

Studio または Studio Classic UI 内から作成された新しい AWS Glue インタラクティブセッションへの AWS タグの自動伝播を有効にすることができます。Studio または Studio Classic からインタラクティブセッションが作成されると AWS Glue 、ユーザープロファイルまたは共有スペースにアタッチされた[ユーザー定義タグ](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html)は、新しい AWS Glue インタラクティブセッションに引き継がれます。さらに、Studio と Studio Classic は、UI から作成された新しい AWS Glue インタラクティブセッションに 2 AWSつの生成された内部タグ ((`sagemaker:user-profile-arn` と `sagemaker:domain-arn`) または (`sagemaker:shared-space-arn` と `sagemaker:domain-arn`)) を自動的に追加します。このようなタグを使用して、個別のドメイン、ユーザープロファイル、またはスペースにわたるコストを集計できます。

### タグ伝達を有効にする
<a name="enable-propagation"></a>

新しい AWS Glue インタラクティブセッションへのタグの自動伝達を有効にするには、SageMaker AI 実行ロールと AWS Glue セッションに関連付けられた IAM ロールに次のアクセス許可を設定します。

**注記**  
デフォルトでは、 AWS Glue インタラクティブセッションに関連付けられたロールは SageMaker AI 実行ロールと同じです。`%iam_role` マジックコマンドを使用して、 AWS Glue インタラクティブセッションに別の実行ロールを指定できます。 AWS Glue インタラクティブセッションの設定に使用できる Jupyter マジックコマンドについては、「[Studio または Studio Classic で AWS Glue インタラクティブセッションを設定する](#glue-sm-magics)」を参照してください。
+ *SageMaker AI 実行ロールで*: 新しいインラインポリシーを作成し、次の JSON ファイルを貼り付けます。このポリシーは、ユーザープロファイル、共有スペース、SageMaker AI ドメインに設定されたタグを説明したり (`DescribeUserProfile`、`DescribeSpace`、`DescribeDomain`)、一覧表示したり (`ListTag`) する実行ロールのアクセス許可を付与します。

  ```
  {
      "Effect": "Allow",
      "Action": [
          "sagemaker:ListTags"
      ],
      "Resource": [
          "arn:aws:sagemaker:*:*:user-profile/*",
          "arn:aws:sagemaker:*:*:space/*"
      ]
  },
  {
      "Effect": "Allow",
      "Action": [
          "sagemaker:DescribeUserProfile"
      ],
      "Resource": [
          "arn:aws:sagemaker:*:*:user-profile/*"
      ]
  },
  {
      "Effect": "Allow",
      "Action": [
          "sagemaker:DescribeSpace"
      ],
      "Resource": [
          "arn:aws:sagemaker:*:*:space/*"
      ]
  }
  {
      "Effect": "Allow",
      "Action": [
          "sagemaker:DescribeDomain"
      ],
      "Resource": [
          "arn:aws:sagemaker:*:*:domain/*"
      ]
  }
  ```
+ * AWS Glue セッションの IAM ロールで*: 新しいインラインポリシーを作成し、次の JSON ファイルを貼り付けます。このポリシーは、セッションにタグをアタッチしたり (`TagResource`)、タグの一覧 (`GetTags`) を取得したりするアクセス許可をロールに付与します。

  ```
  {
      "Effect": "Allow",
      "Action": [
          "glue:TagResource",
          "glue:GetTags"
      ],
      "Resource": [
          "arn:aws:glue:*:*:session/*"
      ]
  }
  ```

**注記**  
これらのアクセス許可の適用中に障害が発生しても、 AWS Glue インタラクティブセッションの作成は妨げられません。障害の原因に関する詳細は、Studio または Studio Classic の [CloudWatch](https://docs.aws.amazon.com//sagemaker/latest/dg/monitoring-cloudwatch.html) ログで確認できます。
タグの値の更新を伝達するには、 AWS Glue インタラクティブセッションのカーネルを再起動する必要があります。

次の点に留意することが重要です。
+ タグをセッションにアタッチすると、そのタグを伝達によって削除することはできません。

   AWS Glue インタラクティブセッションからタグは、、 AWS Glue API AWS CLI、または [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/) から直接削除できます。たとえば、 を使用して AWS CLI、次のようにセッションの ARN と削除するタグキーを指定することで、タグを削除できます。

  ```
  aws glue untag-resource \
  --resource-arn arn:aws:glue:region:account-id:session:session-name \
  --tags-to-remove tag-key1,tag-key2
  ```
+ Studio と Studio Classic は、UI から作成された新しい AWS Glue インタラクティブセッションに 2 AWSつの生成された内部タグ ((`sagemaker:user-profile-arn` と `sagemaker:domain-arn`) または (`sagemaker:shared-space-arn` と `sagemaker:domain-arn`)) を追加します。これらのタグは、すべての AWS リソースに設定されている 50 個のタグの制限に対してカウントされます。`sagemaker:user-profile-arn` と `sagemaker:shared-space-arn` の両方には属するドメイン ID が含まれます。
+ `aws:`、`AWS:`、またはキーのプレフィックスとしての大文字と小文字の任意の組み合わせで始まるタグキーは伝播されず、 AWS 使用のために予約されています。

### 追加情報
<a name="more-information"></a>

タグ付けの詳細については、以下のリソースを参照してください。
+ タグ付けによる AWS リソースへのメタデータの追加については、[「リソースのタグ付け AWS](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)」を参照してください。
+ タグの使用に関するコスト追跡の詳細については、「Studio 管理のベストプラクティス」の「[コスト分析](https://docs.aws.amazon.com/whitepapers/latest/sagemaker-studio-admin-best-practices/cost-attribution.html)」を参照してください。
+ タグキー AWS Glue に基づいて へのアクセスを制御する方法については、「 [を使用した ABAC AWS Glue](glue/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-tags)」を参照してください。

## Studio または Studio Classic で AWS Glue インタラクティブセッションを起動する
<a name="glue-sm-launch"></a>

ロール、ポリシー、SageMaker AI ドメインを作成したら、Studio または Studio Classic で AWS Glue インタラクティブセッションを起動できます。

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) にサインインします。

1. 左側のナビゲーションペインから **[Studio]** を選択します。

1. Studio のランディングページから、Studio を起動するためのドメインとユーザープロファイルを選択します。

1. **[Studio を開く]** をクリックして、JupyterLab アプリケーションまたは Studio Classic アプリケーションを起動します。

1. Jupyter ビューで、**[ファイル]**、**[新規]**、**[ノートブック]** の順に選択します。

1. Studio Classic を使用する場合: **[イメージ]** ドロップダウンメニューで、**[SparkAnalytics 1.0]** または **[SparkAnalytics 2.0]** を選択します。**[カーネル]** のドロップダウンメニューで、**[Glue Spark]** または **[Glue Python [PySpark および Ray]]** を選択します。**[選択]** を選択します。

   Studio を使用する場合は、**[Glue Spark]** カーネルまたは **[Glue Python [PySpark と Ray]]** カーネルを選択します。

1. (オプション) Jupyter のマジックを使用して環境をカスタマイズします。Jupyter のマジックの詳細については、「[Studio または Studio Classic で AWS Glue インタラクティブセッションを設定する](#glue-sm-magics)」を参照してください。

1. Spark データ処理スクリプトの作成を開始します。次の[ノートブック](https://github.com/aws/amazon-sagemaker-examples/blob/main/use-cases/pyspark_etl_and_training/pyspark-etl-training.ipynb)では、 AWS Glue インタラクティブセッション、探索的データ分析、データ前処理、最後に SageMaker AI で処理されたデータに対するモデルのトレーニングを使用して、大規模なデータセットの ETL のend-to-endワークフローを示します。

## Studio または Studio Classic で AWS Glue インタラクティブセッションを設定する
<a name="glue-sm-magics"></a>

**注記**  
すべてのマジック設定は、 AWS Glue カーネルの存続期間中、後続のセッションに引き継がれます。

 AWS Glue インタラクティブセッションで Jupyter マジックを使用して、セッションパラメータと設定パラメータを変更できます。マジックは Jupyter のセルの先頭に `%` で始まる短いコマンドで、環境をすばやく簡単にコントロールできます。 AWS Glue インタラクティブセッションでは、デフォルトで次のマジックが設定されます。


| マジック | デフォルトの値 | 
| --- | --- | 
| %glue\$1version |  3.0  | 
| %iam\$1role |  *SageMaker AI ドメインにアタッチされた実行ロール*  | 
| %region |  ご利用のリージョン  | 

マジックを使用して環境をさらにカスタマイズできます。例えば、ジョブに割り当てられるワーカーの数をデフォルトの 5 人から 10 人に変更したい場合は、`%number_of_workers 10` を指定できます。デフォルトの 2880 ではなく、アイドル時間が 10 分後に停止するようにセッションを構成する場合は、`%idle_timeout 10` を指定できます。

で現在利用可能な Jupyter マジック AWS Glue はすべて、Studio または Studio Classic でも使用できます。使用可能な AWS Glue マジックの完全なリストについては、[「Jupyter および AWS Glue Studio ノートブックのインタラクティブセッションの設定 AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/interactive-sessions-magics.html)」を参照してください。

# AWS Glue インタラクティブセッションの料金
<a name="glue-sm-pricing"></a>

Studio ノートブックまたは Studio Classic ノートブックで AWS Glue インタラクティブセッションを使用する場合、 AWS Glue および Studio ノートブックでのリソース使用量に対して個別に課金されます。

AWS は、セッションがアクティブである時間と、使用されているデータ処理ユニット (DPU) の数に基づいて、 AWS Glue インタラクティブセッションの料金を請求します。ワークロードの実行に使用された DPU の数に対して時間単位の料金が発生し、秒単位で課金されます。 AWS Glue インタラクティブセッションでは、デフォルトで 5 つの DPU、最低でも 2 つの DPU が必要になります。また、インタラクティブセッションごとの最小課金時間は 1 分です。 AWS Glue 料金と料金の例を確認したり、 AWS 料金計算ツールを使用してコストを見積もったりするには、[AWS Glue 「 の料金](https://aws.amazon.com/glue/pricing)」を参照してください。

Studio ノートブックや Studio Classic ノートブックは、Amazon EC2 インスタンスで実行され、使用期間に基づき、選択したインスタンスタイプに対して料金が発生します。Studio Classic では、`SparkAnalytics` イメージと関連するカーネルを選択すると、デフォルトの EC2 インスタンスタイプとして `ml-t3-medium` が割り当てられます。Studio Classic ノートブックのインスタンスタイプは、ワークロードに応じて変更できます。SageMaker Studio と Studio Classic の料金の詳細については、「[Amazon SageMaker の料金](https://aws.amazon.com/sagemaker/pricing)」を参照してください。