AWS Glue インタラクティブセッションの開始方法 - Amazon SageMaker AI

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

AWS Glue インタラクティブセッションの開始方法

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

Studio または Studio Classic の AWS Glue インタラクティブセッションのアクセス許可

このセクションでは、Studio または Studio Classic で AWS Glue インタラクティブセッションを実行するために必要なポリシーを一覧表示し、設定方法について説明します。特に、以下の方法について詳しく説明します。

  • AwsGlueSessionUserRestrictedServiceRole マネージドポリシーを SageMaker AI 実行ロールにアタッチします。

  • SageMaker AI 実行ロールにインラインカスタムポリシーを作成します。

  • SageMaker AI 実行ロールの信頼関係を変更します。

現在の AwsGlueSessionUserRestrictedServiceRole 管理ポリシーを実行ロールに割り当てるには
  1. [IAM コンソール] を開きます。

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

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

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

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

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

  7. [ポリシーのアタッチ] を選択します。

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

実行ロールにインラインカスタムポリシーを作成するには
  1. [アクセス許可の追加] ドロップダウンメニューで [インラインポリシーを作成] を選択します。

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

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

    { "Version": "2012-10-17", "Statement": [ { "Sid": "unique_statement_id", "Effect": "Allow", "Action": [ "iam:GetRole", "iam:PassRole", "sts:GetCallerIdentity" ], "Resource": "*" } ] }
  4. [ポリシーの確認] を選択します。

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

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

実行ロールの信頼関係を変更するには
  1. [信頼関係] タブを選択します。

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

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

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com", "sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
  4. [ポリシーの更新] を選択してください。

他の AWS リソースにアクセスする必要がある場合は、ロールやポリシーを追加できます。含めることができる追加のロールとポリシーの説明については、 AWS Glue ドキュメントの「IAM とのインタラクティブセッション」を参照してください。

タグ伝達

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

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

タグ伝達を有効にする

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

注記

デフォルトでは、 AWS Glue インタラクティブセッションに関連付けられたロールは SageMaker AI 実行ロールと同じです。%iam_role マジックコマンドを使用して、 AWS Glue インタラクティブセッションに別の実行ロールを指定できます。 AWS Glue インタラクティブセッションの設定に使用できる Jupyter マジックコマンドについては、「Studio または Studio Classic で AWS Glue インタラクティブセッションを設定する」を参照してください。

  • SageMaker AI 実行ロールで: 新しいインラインポリシーを作成し、次の JSON ファイルを貼り付けます。このポリシーは、ユーザープロファイルDescribeUserProfile、共有スペースDescribeSpace、SageMaker AI ドメインに設定されたタグ (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 ログで確認できます。

  • タグの値の更新を伝達するには、 AWS Glue インタラクティブセッションのカーネルを再起動する必要があります。

次の点に留意することが重要です。

  • タグをセッションにアタッチすると、そのタグを伝達によって削除することはできません。

    AWS Glue インタラクティブセッションからタグは、、 AWS Glue API AWS CLI、または 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から作成された新しい AWS Glue インタラクティブセッションに 2 つの生成された内部タグ ((sagemaker:user-profile-arnsagemaker:domain-arn) または (sagemaker:shared-space-arnsagemaker:domain-arn)) を追加します。これらのタグは、すべての AWS リソースに設定されている 50 個のタグの制限に対してカウントされます。sagemaker:user-profile-arnsagemaker:shared-space-arn の両方には属するドメイン ID が含まれます。

  • aws:AWS:、またはキーのプレフィックスとしての大文字と小文字の任意の組み合わせで始まるタグキーは伝播されず、 AWS 使用のために予約されています。

追加情報

タグ付けの詳細については、以下のリソースを参照してください。

  • タグ付けを使用して AWS リソースにメタデータを追加する方法については、「 リソースのタグ付け AWS」を参照してください。

  • タグの使用に関するコスト追跡の詳細については、「Studio 管理のベストプラクティス」の「コスト分析」を参照してください。

  • タグキー AWS Glue に基づいて へのアクセスを制御する方法については、「 を使用した ABAC AWS Glue」を参照してください。

Studio または Studio Classic で AWS Glue インタラクティブセッションを起動する

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

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

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

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

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

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

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

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

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

  8. Spark データ処理スクリプトの作成を開始します。次のノートブックでは、 AWS Glue インタラクティブセッション、探索的データ分析、データ前処理、最後に SageMaker AI を使用して処理されたデータでモデルをトレーニングする、大規模なデータセットでの ETL のend-to-endワークフローを紹介します。

Studio または Studio Classic で AWS Glue インタラクティブセッションを設定する

注記

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

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

マジック デフォルト値
%glue_version

3.0

%iam_role

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」を参照してください。