ML ライフサイクル全体で大容量データを使用するための権限をユーザーに付与する - Amazon SageMaker AI

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

ML ライフサイクル全体で大容量データを使用するための権限をユーザーに付与する

CSV 形式の 10 GB を超えるデータセットまたは Parquet 形式の 2.5 GB を超えるデータセットを使用する Amazon SageMaker Canvas ユーザーは、大規模なデータ処理に対して特定の権限が必要です。これらの権限は、機械学習ライフサイクル全体を通じて大規模なデータを管理するために不可欠です。指定されたしきい値またはアプリケーションのローカルメモリ容量をデータセットが超えると、SageMaker Canvas は Amazon EMR Serverless を使用して効率的な処理を行います。これは、以下に適用されます。

  • データインポート: ランダムサンプリングまたは階層サンプリングによって大規模なデータセットをインポートします。

  • データ準備: Canvas の Data Wrangler から Amazon S3、新しい Canvas データセット、または Canvas モデルに処理済みデータをエクスポートします。

  • モデル構築: 大規模なデータセットでモデルをトレーニングします。

  • 推論: 大規模なデータセットで予測を行います。

デフォルトでは、SageMaker Canvas は EMR サーバーレスを使用して、次のアプリケーション設定でこれらのリモートジョブを実行します。

  • 初期化前の容量: 設定なし

  • アプリケーション制限: 最大容量 400 vCPU、アカウントあたり最大同時 16 vCPU、3,000 GB メモリ、20,000 GB ディスク

  • メタストア設定: AWS Glue Data Catalog

  • アプリケーションログ: AWS 所有の暗号化キーを使用した AWS マネージドストレージ (有効)

  • アプリケーション動作: ジョブの送信時に自動起動し、アプリケーションが 15 分間アイドル状態になった後に自動停止

これらの大規模なデータ処理機能を有効にするには、Amazon SageMaker AI ドメイン設定を通じて付与できる必要なアクセス許可がユーザーに必要です。これらのアクセス許可を付与する方法は、Amazon SageMaker AI ドメインが最初にどのようにセットアップされたかによって異なります。ここでは次の 3 つの主なシナリオについて説明します。

  • クイックドメイン設定

  • カスタムドメイン設定 (パブリックインターネットアクセスあり/VPC なし)

  • カスタムドメイン設定 (VPC あり、パブリックインターネットアクセスなし)

各シナリオでは、SageMaker Canvas の機械学習ライフサイクル全体にわたる大規模なデータ処理に EMR サーバーレスを活用する上で必要な権限をユーザーに付与するにあたって、特定の手順が必要になります。

シナリオ 1: クイックドメイン設定

SageMaker AI ドメインの作成時にクイックセットアップオプションを使用した場合は、次の手順に従います。

  1. Amazon SageMaker AI ドメイン設定に移動します。

    1. https://console.aws.amazon.com/sagemaker/ で Amazon SageMaker AI コンソールを開きます。

    2. 左側のナビゲーションペインで [Domains] (ドメイン) を選択します。

    3. ドメインを検索します。

    4. [アプリケーション設定] タブを選択します。

    5. [Canvas] セクションまでスクロールし、[編集] を選択します。

  2. 大規模なデータ処理を有効にします。

    1. [大容量データ処理設定] セクションで、[大容量データ処理用 EMR サーバーレスを有効にする] をオンにします。

    2. EMR サーバーレスロールを作成または選択します。

      1. [新しい実行ロールの作成および使用] を選択して、EMR サーバーレスおよびアタッチされた AWS マネージドポリシー: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy ポリシーとの信頼関係を持つ新しい IAM ロールを作成します。この IAM ロールは、EMR サーバーレスジョブを作成するために Canvas によって引き受けられます。

      2. または、EMR サーバーレスの信頼関係を持つ実行ロールが既に存在する場合は、[既存の実行ロールを使用] を選択し、ドロップダウンからロールを選択します。

        • 既存のロールには、AmazonSageMakerCanvasEMRSExecutionAccess- のプレフィックスで始まる名前が必要です。

        • 選択したロールにも、少なくとも AWS マネージドポリシー: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy ポリシーに記述されている権限が必要です。

        • ロールには、次に示すように EMR サーバーレス信頼ポリシーが必要です。

          { "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessTrustPolicy", "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<your-account-id>" } } } ] }
  3. (オプション) カスタム Amazon S3 バケットに Amazon S3 権限を追加します。

    1. Canvas 管理ポリシーは、名前に sagemaker または SageMaker AI を含む Amazon S3 バケットに対して読み取りおよび書き込み権限を自動的に付与します。また、"SageMaker": "true" タグを含むカスタム Amazon S3 バケット内のオブジェクトに対しても読み取り権限を付与します。

    2. 必要なタグのないカスタム Amazon S3 バケットの場合は、EMR サーバーレスロールに次のポリシーを追加します。

    3. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::*" ] } ] }
    4. 権限の範囲は、Canvas がアクセスする特定の Amazon S3 バケットに制限することをお勧めします。

  4. 変更を保存し、SageMaker Canvas アプリケーションを再起動します。

シナリオ 2: カスタムドメイン設定 (パブリックインターネットアクセスあり/VPC なし)

カスタムドメインを作成したか、使用する場合は、シナリオ 1 のステップ 1 ~ 3 に従った後に、以下の追加手順を実行します。

  1. Canvas はデータの準備とモデルトレーニングにパブリック Amazon ECR Docker イメージを利用するため、Amazon SageMaker AI 実行ロールに Amazon ECR DescribeImagesオペレーションのアクセス許可を追加します。

    1. AWS コンソールにサインインし、https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

    2. [ロール] を選択します。

    3. 検索ボックスで、名前で SageMaker AI 実行ロールを検索し、選択します。

    4. SageMaker AI 実行ロールに次のポリシーを追加します。これは、新しいインラインポリシーとして追加するか、ポリシーステートメントを既存のポリシーに追加することで実行できます。IAM ロールには、最大 10 個のポリシーをアタッチできます。

      { "Version": "2012-10-17", "Statement": [{ "Sid": "ECRDescribeImagesOperation", "Effect": "Allow", "Action": "ecr:DescribeImages", "Resource": [ "arn:aws:ecr:*:*:repository/sagemaker-data-wrangler-emr-container", "arn:aws:ecr:*:*:repository/ap-dataprep-emr" ] }] }
  2. 変更を保存し、SageMaker Canvas アプリケーションを再起動します。

シナリオ 3: カスタムドメイン設定 (VPC あり、パブリックインターネットアクセスなし)

カスタムドメインを作成したか、使用する場合は、シナリオ 2 のすべての手順に従った後に、以下の追加手順に従います。

  1. VPC サブネットがプライベートであることを確認します。

    1. サブネットのルートテーブルにインターネットゲートウェイへのエントリマッピング 0.0.0.0/0 がないことを確認します。

  2. ネットワークインターフェイスを作成するための権限を追加します。

    1. 大規模なデータ処理に SageMaker Canvas と EMR サーバーレスを使用する場合は、EMR サーバーレスアプリケーションと VPC リソース間のネットワーク通信を有効化するにあたって Amazon EC2 ENI を作成する機能が EMR サーバーレスに必要です。

    2. Amazon SageMaker AI 実行ロールに次のポリシーを追加します。これは、新しいインラインポリシーとして追加するか、ポリシーステートメントを既存のポリシーに追加することで実行できます。IAM ロールには、最大 10 個のポリシーをアタッチできます。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEC2ENICreation", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ], "Condition": { "StringEquals": { "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com" } } } ] }
  3. (オプション) ENI の作成を特定のサブネットに制限します。

    1. ENI の作成を VPC 内の特定のサブネットに制限することで設定をさらに保護するには、各サブネットに特定の条件をタグ付けできます。

    2. 次の IAM ポリシーを使用して、EMR サーバーレスアプリケーションが、許可されたサブネットとセキュリティグループ内でのみ Amazon EC2 ENI を作成できるようにします。

      { "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/KEY": "VALUE" } } }
  4. ページの手順に従って、EMR Serverless や SageMaker Canvas で使用されるその他のサービスで必要な Amazon S3 の VPC エンドポイントインターネットにアクセスせずに VPC で Amazon SageMaker Canvas を設定するを設定します。 AWS SageMaker

  5. 変更を保存し、SageMaker Canvas アプリケーションを再起動します。

これらの手順に従うことで、カスタム VPC 設定を含むさまざまなドメイン設定に対して SageMaker Canvas で大規模なデータ処理を有効にすることができます。これらの変更を行って新しい権限を適用した後は、必ず SageMaker Canvas アプリケーションを再起動してください。