Studio Classic から Studio に UI を移行する - Amazon SageMaker

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

Studio Classic から Studio に UI を移行する

既存のドメインを移行する最初のフェーズでは、UI を Amazon SageMaker Studio Classic から Amazon SageMaker Studio に移行します。このフェーズには、データの移行は含まれません。ユーザーは、移行前と同じ方法でデータの使用を継続できます。データの移行については、「」を参照してください(オプション) Studio Classic から Studio にデータを移行する

フェーズ 1 は、次のステップで構成されます。

  1. Studio で利用可能な新しいアプリケーションのアプリケーション作成許可を更新します。

  2. ドメインVPCの設定を更新します。

  3. Studio UI を使用するようにドメインをアップグレードします。

前提条件

これらのステップを実行する前に、「」の前提条件を完了してくださいStudio エクスペリエンスを移行するための前提条件を完了する

ステップ 1: アプリケーション作成アクセス許可を更新する

ドメインを移行する前に、ドメインの実行ロールを更新して、アプリケーションを作成するアクセス許可をユーザーに付与します。

  1. AWS Identity and Access Management 「ポリシーの作成」の手順に従って、次のいずれかのコンテンツを含むIAMポリシーを作成します。

    • 次のポリシーを使用して、すべてのアプリケーションタイプとスペースに対するアクセス許可を付与します。

      注記

      ドメインがSageMakerFullAccessポリシーを使用している場合、このアクションを実行する必要はありません。 はすべてのアプリケーションを作成するアクセス許可SageMakerFullAccessを付与します。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "SMStudioUserProfileAppPermissionsCreateAndDelete", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }, { "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl" ], "Resource": "arn:aws:sagemaker:region:account-id:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, { "Sid": "SMStudioAppPermissionsListAndDescribe", "Effect": "Allow", "Action": [ "sagemaker:ListApps", "sagemaker:ListDomains", "sagemaker:ListUserProfiles", "sagemaker:ListSpaces", "sagemaker:DescribeApp", "sagemaker:DescribeDomain", "sagemaker:DescribeUserProfile", "sagemaker:DescribeSpace" ], "Resource": "*" }, { "Sid": "SMStudioAppPermissionsTagOnCreate", "Effect": "Allow", "Action": [ "sagemaker:AddTags" ], "Resource": "arn:aws:sagemaker:region:account-id:*/*", "Condition": { "Null": { "sagemaker:TaggingAction": "false" } } }, { "Sid": "SMStudioRestrictSharedSpacesWithoutOwners", "Effect": "Allow", "Action": [ "sagemaker:CreateSpace", "sagemaker:UpdateSpace", "sagemaker:DeleteSpace" ], "Resource": "arn:aws:sagemaker:region:account-id:space/${sagemaker:DomainId}/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }, { "Sid": "SMStudioRestrictSpacesToOwnerUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateSpace", "sagemaker:UpdateSpace", "sagemaker:DeleteSpace" ], "Resource": "arn:aws:sagemaker:region:account-id:space/${sagemaker:DomainId}/*", "Condition": { "ArnLike": { "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:account-id:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, "StringEquals": { "sagemaker:SpaceSharingType": [ "Private", "Shared" ] } } }, { "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/${sagemaker:DomainId}/*", "Condition": { "ArnLike": { "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:account-id:user-profile/${sagemaker:DomainId}/${sagemaker:UserProfileName}" }, "StringEquals": { "sagemaker:SpaceSharingType": [ "Private" ] } } }, { "Sid": "AllowAppActionsForSharedSpaces", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:*:*:app/${sagemaker:DomainId}/*/*/*", "Condition": { "StringEquals": { "sagemaker:SpaceSharingType": [ "Shared" ] } } } ] }
    • Studio にはアプリケーションの拡張セットが表示されるため、ユーザーは以前に表示されなかったアプリケーションにアクセスできる場合があります。管理者は、一部のアプリケーションのアクセス許可を特定のユーザーに拒否する AWS Identity and Access Management (IAM) ポリシーを作成することで、これらのデフォルトアプリケーションへのアクセスを制限できます。

      注記

      アプリケーションタイプは jupyterlabまたは のいずれかですcodeeditor

      { "Version": "2012-10-17", "Statement": [ { "Sid": "DenySageMakerCreateAppForSpecificAppTypes", "Effect": "Deny", "Action": "sagemaker:CreateApp", "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/*/app-type/*" } ] }
  2. ポリシーをドメインの実行ロールにアタッチします。手順については、IAM「ID アクセス許可の追加 (コンソール)」の手順に従ってください。

ステップ 2: VPC設定を更新する

ドメインを VPC-Only モードで使用する場合は、VPC設定が Studio を VPC-Only モードで使用するための要件を満たしていることを確認してください。詳細については、「の Amazon SageMaker Studio VPCを外部リソースに接続する」を参照してください。

ステップ 3: Studio UI へのアップグレード

既存のドメインを Studio Classic から Studio に移行する前に、既存のドメインと同じ設定で Studio を使用してテストドメインを作成することをお勧めします。

このテストドメインを使用して、既存のドメインを移行する前に Studio を操作し、ネットワーク設定をテストし、アプリケーションを起動します。

  1. 既存のドメインのドメイン ID を取得します。

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

    2. 左側のナビゲーションペインから、管理者設定を展開し、ドメイン を選択します。

    3. 既存のドメインを選択します。

    4. [ドメインの詳細] ページで、[ドメインの設定] タブを選択します。

    5. ドメイン ID をコピーします。

  2. 既存のドメインのドメイン ID を追加します。

    export REF_DOMAIN_ID="domain-id" export SM_REGION="region"
  3. を使用してdescribe-domain、既存のドメインに関する重要な情報を取得します。

    export REF_EXECROLE=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.DefaultUserSettings.ExecutionRole') export REF_VPC=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.VpcId') export REF_SIDS=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.SubnetIds | join(",")') export REF_SGS=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.DefaultUserSettings.SecurityGroups | join(",")') export AUTHMODE=$(aws sagemaker describe-domain --region=$SM_REGION --domain-id=$REF_DOMAIN_ID | jq -r '.AuthMode')
  4. パラメータを検証します。

    echo "Execution Role: $REF_EXECROLE || VPCID: $REF_VPC || SubnetIDs: $REF_SIDS || Security GroupIDs: $REF_SGS || AuthMode: $AUTHMODE"
  5. 既存のドメインの設定を使用してテストドメインを作成します。

    IFS=',' read -r -a subnet_ids <<< "$REF_SIDS" IFS=',' read -r -a security_groups <<< "$REF_SGS" security_groups_json=$(printf '%s\n' "${security_groups[@]}" | jq -R . | jq -s .) aws sagemaker create-domain \ --domain-name "TestV2Config" \ --vpc-id $REF_VPC \ --auth-mode $AUTHMODE \ --subnet-ids "${subnet_ids[@]}" \ --app-network-access-type VpcOnly \ --default-user-settings " { \"ExecutionRole\": \"$REF_EXECROLE\", \"StudioWebPortal\": \"ENABLED\", \"DefaultLandingUri\": \"studio::\", \"SecurityGroups\": $security_groups_json } "
  6. テストドメインが になったらIn Service、テストドメインの ID を使用してユーザープロファイルを作成します。このユーザープロファイルは、アプリケーションの起動とテストに使用されます。

    aws sagemaker create-user-profile \ --region="$SM_REGION" --domain-id=test-domain-id \ --user-profile-name test-network-user

Test Studio の機能

test-network-user ユーザープロファイルを使用してテストドメインを起動します。Studio UI を徹底的にテストし、Studio 機能を VPCOnly モードでテストするアプリケーションを作成することをお勧めします。次のワークフローをテストします。

  • 新しい JupyterLab Space、テスト環境、接続を作成します。

  • Code-、Visual Studio Code - Open Source SpaceOSS、テスト環境、接続に基づいて、新しい Code Editor を作成します。

  • 新しい Studio Classic アプリを起動し、環境と接続をテストします。

  • Amazon Simple Storage Service の接続をテストし、読み取りアクションと書き込みアクションをテストします。

これらのテストが成功した場合は、既存のドメインをアップグレードします。障害が発生した場合は、既存のドメインを更新する前に、環境と接続の問題を修正することをお勧めします。

テストドメインリソースをクリーンアップする

既存のドメインを移行したら、テストドメインリソースをクリーンアップします。

  1. テストドメインの ID を追加します。

    export TEST_DOMAIN="test-domain-id" export SM_REGION="region"
  2. 実行中の状態にあるドメイン内のすべてのアプリケーションを一覧表示します。

    active_apps_json=$(aws sagemaker list-apps --region=$SM_REGION --domain-id=$TEST_DOMAIN) echo $active_apps_json
  3. 実行中のアプリケーションJSONのリストを解析して削除します。ユーザーがアクセス許可を持たないアプリケーションを作成しようとした場合、次のスクリプトにキャプチャされていないスペースがある可能性があります。これらのスペースは手動で削除する必要があります。

    echo "$active_apps_json" | jq -c '.Apps[]' | while read -r app; do if echo "$app" | jq -e '. | has("SpaceName")' > /dev/null; then app_type=$(echo "$app" | jq -r '.AppType') app_name=$(echo "$app" | jq -r '.AppName') domain_id=$(echo "$app" | jq -r '.DomainId') space_name=$(echo "$app" | jq -r '.SpaceName') echo "Deleting App - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || SpaceName: $space_name" aws sagemaker delete-app --region=$SM_REGION --domain-id=$domain_id \ --app-type $app_type --app-name $app_name --space-name $space_name echo "Deleting Space - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || SpaceName: $space_name" aws sagemaker delete-space --region=$SM_REGION --domain-id=$domain_id \ --space-name $space_name else app_type=$(echo "$app" | jq -r '.AppType') app_name=$(echo "$app" | jq -r '.AppName') domain_id=$(echo "$app" | jq -r '.DomainId') user_profile_name=$(echo "$app" | jq -r '.UserProfileName') echo "Deleting Studio Classic - AppType: $app_type || AppName: $app_name || DomainId: $domain_id || UserProfileName: $user_profile_name" aws sagemaker delete-app --region=$SM_REGION --domain-id=$domain_id \ --app-type $app_type --app-name $app_name --user-profile-name $user_profile_name fi done
  4. テストユーザープロファイルを削除します。

    aws sagemaker delete-user-profile \ --region=$SM_REGION --domain-id=$TEST_DOMAIN \ --user-profile-name "test-network-user"
  5. テストドメインを削除します。

    aws sagemaker delete-domain \ --region=$SM_REGION --domain-id=$TEST_DOMAIN

テストドメインの設定で Studio 機能をテストしたら、既存のドメインを移行します。Studio がドメインのデフォルトのエクスペリエンスである場合、Studio はドメイン内のすべてのユーザーのデフォルトのエクスペリエンスです。ただし、ユーザー設定はドメイン設定よりも優先されます。したがって、ユーザーがユーザー設定でデフォルトのエクスペリエンスを Studio Classic に設定している場合、そのユーザーはデフォルトのエクスペリエンスとして Studio Classic を使用します。

既存のドメインは AWS CLI、 SageMaker コンソール、、または から更新することで移行できます AWS CloudFormation。次のいずれかのタブを選択して、関連する手順を表示します。

Studio を既存のドメインのデフォルトエクスペリエンスとして設定するには、 SageMaker コンソールを使用します。

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

  2. 左側のナビゲーションペインから、管理設定を展開し、ドメイン を選択します。

  3. Studio をデフォルトのエクスペリエンスとして有効にする既存のドメインを選択します。

  4. ドメインの詳細ページで、新しい Studio を有効にする を展開します

  5. (オプション) Studio をデフォルトエクスペリエンスとして有効にする手順の詳細を表示するには、詳細の表示 を選択します。このページには以下が表示されます。

    • SageMaker Studio Overview セクションでは、Studio ウェブベースのインターフェイスに含まれるアプリケーションや利用可能なアプリケーションを表示できます。

    • Enablement プロセスセクションでは、Studio を有効にするワークフロータスクの説明を表示できます。

      注記

      データは手動で移行する必要があります。データの移行手順については、「」を参照してください(オプション) Studio Classic から Studio にデータを移行する

    • Studio Classic エクスペリエンスに戻すセクションでは、Studio をデフォルトのエクスペリエンスとして有効にした後、Studio Classic に戻す方法を表示できます。

  6. Studio をデフォルトのエクスペリエンスとして有効にするプロセスを開始するには、新しい Studio を有効にする を選択します。

  7. ロールの指定と設定セクションで、Studio に自動的に含まれるデフォルトのアプリケーションを表示できます。

    ユーザーがこれらのアプリケーションを実行できないようにするには、アクセスを拒否するIAMポリシーを持つ (IAM) ロールを選択します AWS Identity and Access Management 。アクセスを制限するポリシーを作成する方法については、「」を参照してくださいステップ 1: アプリケーション作成アクセス許可を更新する

  8. CORS ポリシーをアタッチするデフォルトの S3 バケットを選択 セクションで、Studio に Amazon S3 バケットへのアクセスを許可できます。この場合、デフォルトの Amazon S3 バケットは Studio Classic のデフォルトの Amazon S3 バケットです。このステップでは、以下を実行できます。

    • ドメインのデフォルトの Amazon S3 バケットを確認して、CORSポリシーをアタッチします。ドメインにデフォルトの Amazon S3 バケットがない場合、 は正しいCORSポリシーがアタッチされた Amazon S3 バケット SageMaker を作成します。

    • CORS ポリシーをアタッチする Amazon S3 バケットを 10 個追加できます。

      10 個を超えるバケットを含める場合は、手動で追加できます。Amazon S3 バケットにCORSポリシーを手動でアタッチする方法については、「」を参照してください(オプション) CORSポリシーを更新して Amazon S3 バケットにアクセスする

    続行するには、 の横にあるチェックボックスをオンにします。選択した Amazon S3 バケットの既存のCORSポリシーを上書きすることに同意しますか?

  9. データ移行セクションには、Studio Classic と Studio のさまざまなデータストレージボリュームに関する情報が含まれています。このプロセスを通じてデータが自動的に移行されることはありません。データ、ライフサイクル設定、 JupyterLab 拡張機能の移行手順については、「」を参照してください(オプション) Studio Classic から Studio にデータを移行する

  10. ページのタスクを完了し、設定を確認したら、新しい Studio を有効にする を選択します。

を使用して Studio を既存のドメインのデフォルトエクスペリエンスとして設定するには AWS CLI、update-domain 呼び出しを使用します。を の値ENABLEDとして設定しStudioWebPortalstudio::default-user-settingsパラメータの一部として の値DefaultLandingUriとして設定する必要があります。 

StudioWebPortal は、Studio エクスペリエンスがデフォルトのエクスペリエンスであるかどうかを示し、ドメインへのアクセス時にユーザーが指示されるデフォルトのエクスペリエンスDefaultLandingUriを示します。この例では、これらの値をドメインレベル ( 内default-user-settings) に設定すると、Studio はドメイン内のユーザーのデフォルトのエクスペリエンスになります。

ドメイン内のユーザーがユーザーレベル ( 内UserSettings) app:JupyterServer:StudioWebPortal に設定DISABLEDされ、 DefaultLandingUriに設定されている場合、これはドメイン設定よりも優先されます。つまり、ドメイン設定に関係なく、そのユーザーはデフォルトのエクスペリエンスとして Studio Classic を使用します。

次のコード例は、ドメイン内のユーザーのデフォルトのエクスペリエンスとして Studio を設定する方法を示しています。

aws sagemaker update-domain \ --domain-id existing-domain-id \ --region AWS リージョン \ --default-user-settings ' { "StudioWebPortal": "ENABLED", "DefaultLandingUri": "studio::" } '
  • を取得するにはexisting-domain-id、次の手順を実行します。

    を取得するには existing-domain-id
    1. で Amazon SageMaker コンソールを開きますhttps://console.aws.amazon.com/sagemaker/

    2. 左側のナビゲーションペインから、管理設定を展開し、ドメイン を選択します。

    3. 既存のドメインを選択します。

    4. [ドメインの詳細] ページで、[ドメインの設定] タブを選択します。

    5. ドメイン ID をコピーします。

  • ドメイン AWS リージョン に対して正しい を使用していることを確認するには、以下の手順に従います。

    を取得するには AWS リージョン
    1. で Amazon SageMaker コンソールを開きますhttps://console.aws.amazon.com/sagemaker/

    2. 左側のナビゲーションペインから、管理設定を展開し、ドメイン を選択します。

    3. 既存のドメインを選択します。

    4. ドメインの詳細ページで、これが既存のドメインであることを確認します。

    5. コンソールの SageMaker右上から AWS リージョン ドロップダウンリストを展開し、 AWS リージョン 名前の右側にある対応する AWS リージョン ID を使用します。例えば、us-west-1 と指定します。

デフォルトのエクスペリエンスを Studio に移行すると、Studio に Amazon S3 バケットへのアクセスを許可できます。例えば、Studio Classic のデフォルトの Amazon S3 バケットと追加の Amazon S3 バケットへのアクセスを含めることができます。そのためには、クロスオリジンリソース共有 (CORS) 設定を Amazon S3 バケットに手動でアタッチする必要があります。Amazon S3 バケットにCORSポリシーを手動でアタッチする方法については、「」を参照してください(オプション) CORSポリシーを更新して Amazon S3 バケットにアクセスする

同様に、create-domain 呼び出し AWS CLI を使用して からドメインを作成するときに、Studio をデフォルトのエクスペリエンスとして設定できます。 

を使用してドメインを作成するときに、デフォルトのエクスペリエンスを設定できます AWS CloudFormation。 AWS CloudFormation 移行テンプレートについては、SageMaker 「Studio 管理者 IaC テンプレート」を参照してください。を使用してドメインを作成する方法の詳細については AWS CloudFormation、「 を使用して Amazon SageMaker ドメイン AWS CloudFormationを作成する」を参照してください。

でサポートされているドメインリソースの詳細については AWS CloudFormation、AWS「::SageMaker:Domain 」を参照してください。

デフォルトのエクスペリエンスを Studio に移行すると、Studio に Amazon S3 バケットへのアクセスを許可できます。例えば、Studio Classic のデフォルトの Amazon S3 バケットと追加の Amazon S3 バケットへのアクセスを含めることができます。そのためには、クロスオリジンリソース共有 (CORS) 設定を Amazon S3 バケットに手動でアタッチする必要があります。Amazon S3 バケットにCORSポリシーを手動でアタッチする方法については、「」を参照してください(オプション) CORSポリシーを更新して Amazon S3 バケットにアクセスする

Studio Classic では、ユーザーは Amazon Simple Storage Service (Amazon S3) バケットにファイルを作成、一覧表示、アップロードできます。Studio で同じエクスペリエンスをサポートするには、管理者はクロスオリジンリソース共有 (CORS) 設定を Amazon S3 バケットにアタッチする必要があります。これは、Studio がインターネットブラウザから Amazon S3 コールを行うため必要です。ブラウザはユーザーCORSに代わって を呼び出します。その結果、CORSポリシーが Amazon S3 バケットにアタッチされていない限り、Amazon S3 バケットへのすべてのリクエストは失敗します。

以下の理由から、CORSポリシーを Amazon S3 バケットに手動でアタッチする必要がある場合があります。

  • 既存のドメインのデフォルトエクスペリエンスを Studio に移行するときに、正しいCORSポリシーがアタッチされていない既存の Amazon S3 デフォルトバケットがある場合。

  • を使用して既存のドメインのデフォルトエクスペリエンスを Studio AWS CLI に移行している場合。を使用して移行 AWS CLI する方法については、「」を参照してくださいを使用して Studio を既存のドメインのデフォルトエクスペリエンスとして設定する AWS CLI

  • 追加の Amazon S3 バケットにCORSポリシーをアタッチする場合。

注記

SageMaker コンソールを使用して Studio をデフォルトのエクスペリエンスとして有効にする場合、CORSポリシーをアタッチする Amazon S3 バケットは、移行中に既存のCORSポリシーが上書きされます。このため、次の手動手順を無視できます。

ただし、 SageMaker コンソールを使用して移行し、CORSポリシーをアタッチする Amazon S3 バケットをさらに追加する場合は、次の手動手順に進みます。

次の手順は、Amazon S3 バケットにCORS設定を手動で追加する方法を示しています。

Amazon S3 バケットCORSに設定を追加するには
  1. 既存のドメイン AWS リージョン と同じドメインに次の名前の Amazon S3 バケットがあることを確認します。手順については、Amazon S3バケットのプロパティの表示」を参照してください。

    sagemaker-region-account-id
  2. 次の内容CORSの設定をデフォルトの Amazon S3 バケットに追加します。手順については、「クロスオリジンリソース共有の設定 (CORS)」を参照してください。

    [ { "AllowedHeaders": [ "*" ], "AllowedMethods": [ "POST", "PUT", "GET", "HEAD", "DELETE" ], "AllowedOrigins": [ "https://*.sagemaker.aws" ], "ExposeHeaders": [ "ETag", "x-amz-delete-marker", "x-amz-id-2", "x-amz-request-id", "x-amz-server-side-encryption", "x-amz-version-id" ] } ]

Amazon SageMaker Data Wrangler は、Studio Classic エクスペリエンスの独自の機能として存在します。Studio をデフォルトのエクスペリエンスとして有効にする場合は、Amazon SageMaker Canvas アプリケーションを使用して Data Wrangler 機能にアクセスします。 SageMaker Canvas は、コードを記述せずに機械学習モデルをトレーニングおよびデプロイできるアプリケーションであり、Canvas は Data Wrangler を搭載したデータ準備機能を提供します。

新しい Studio エクスペリエンスは、従来の Data Wrangler UI をサポートしていません。Data Wrangler を引き続き使用する場合は、Canvas アプリケーションを作成する必要があります。ただし、Canvas アプリケーションを作成して使用するために必要なアクセス許可が必要です。

必要なアクセス許可ポリシーをドメインまたはユーザーの AWS IAMロールにアタッチするには SageMaker、次の手順を実行します。

Canvas 内の Data Wrangler 機能のアクセス許可を付与するには
  1. AWS マネージドポリシーをユーザーIAMロールAmazonSageMakerFullAccessにアタッチします。ロールにIAMポリシーをアタッチする方法を示す手順については、「 ユーザーガイド」のIAM「ID アクセス許可の追加 (コンソール)」を参照してください。 AWS IAM

    このアクセス許可ポリシーがユースケースに対して許容度が高すぎる場合は、少なくとも次のアクセス許可を含むスコープダウンポリシーを作成できます。

    { "Sid": "AllowStudioActions", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl", "sagemaker:DescribeDomain", "sagemaker:ListDomains", "sagemaker:DescribeUserProfile", "sagemaker:ListUserProfiles", "sagemaker:DescribeSpace", "sagemaker:ListSpaces", "sagemaker:DescribeApp", "sagemaker:ListApps" ], "Resource": "*" }, { "Sid": "AllowAppActionsForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/canvas/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }
  2. AWS 管理ポリシーをユーザーIAMロールAmazonSageMakerCanvasDataPrepFullAccessにアタッチします。

必要なアクセス許可をアタッチしたら、Canvas アプリケーションを作成してログインできます。詳細については、「Amazon SageMaker Canvas の使用を開始する」を参照してください。

Canvas にログインすると、Data Wrangler に直接アクセスしてデータフローの作成を開始できます。詳細については、Canvas ドキュメントデータ準備の「」を参照してください。

Amazon SageMaker Autopilot は、Studio Classic エクスペリエンスの独自の機能として存在します。更新された Studio エクスペリエンスを使用して に移行する場合、Amazon SageMaker Canvas アプリケーションを使用して、ユーザーインターフェイス (UI) を介して同じ自動機械学習 (AutoML) 機能の使用を継続します。 SageMaker Canvas は、コードを記述せずに機械学習モデルをトレーニングおよびデプロイできるアプリケーションであり、Canvas は AutoML タスクを実行するための UI を提供します。

新しい Studio エクスペリエンスは、従来の Autopilot UI をサポートしていません。Autopilot の AutoML 機能を UI 経由で引き続き使用する場合は、Canvas アプリケーションを作成する必要があります。

ただし、Canvas アプリケーションを作成して使用するために必要なアクセス許可が必要です。

  • Studio から SageMaker Canvas にアクセスする場合は、 SageMaker ドメインまたはユーザープロファイルの実行ロールにこれらのアクセス許可を追加します。

  • コンソールから SageMaker Canvas にアクセスする場合は、それらのアクセス許可をユーザー AWS IAMロールに追加します。

  • 署名付き URL経由で SageMaker Canvas にアクセスする場合は、Okta SSO アクセスに使用するIAMロールにこれらのアクセス許可を追加します。

Canvas で AutoML 機能を有効にするには、次のポリシーを実行ロールまたはIAMユーザーロールに追加します。

  • AWS マネージドポリシー: CanvasFullAccess

  • インラインポリシー:

    { "Sid": "AllowAppActionsForUserProfile", "Effect": "Allow", "Action": [ "sagemaker:CreateApp", "sagemaker:DeleteApp" ], "Resource": "arn:aws:sagemaker:region:account-id:app/domain-id/user-profile-name/canvas/*", "Condition": { "Null": { "sagemaker:OwnerUserProfileArn": "true" } } }
実行ロールにIAMポリシーをアタッチするには
  1. SageMaker ユーザープロファイルにアタッチされた実行ロールを検索する
    1. SageMaker コンソール でhttps://console.aws.amazon.com/sagemaker/ドメイン に移動し、ドメインを選択します SageMaker。

    2. 実行ロールARNは、ユーザープロファイルのユーザー詳細ページの実行ロールの下に表示されます。の実行ロール名を に書き留めますARN。

    3. IAM コンソール でhttps://console.aws.amazon.com/iam/ロール を選択します。

    4. 検索フィールドで名前でロールを検索します。

    5. ロールを選択します。

  2. ロールにポリシーを追加する

    1. IAM コンソール でhttps://console.aws.amazon.com/iam/ロール を選択します。

    2. 検索フィールドで名前でロールを検索します。

    3. ロールを選択します。

    4. アクセス許可タブで、ドロップダウンメニュー アクセス許可の追加 に移動します。

      • 管理ポリシーの場合: ポリシーのアタッチ を選択し、アタッチする管理ポリシーの名前を検索します。

        ポリシーを選択し、アクセス許可の追加 を選択します。

      • インラインポリシーの場合: インラインポリシーの作成 を選択し、 JSONタブにポリシーを貼り付け、次に選択し、ポリシーに名前を付け、 の作成 を選択します。

ロールにIAMポリシーをアタッチする方法を示す手順については、 ユーザーガイドのIAM「ID アクセス許可の追加 (コンソール)」を参照してください。 AWS IAM

必要なアクセス許可をアタッチしたら、Canvas アプリケーションを作成してログインできます。詳細については、「Amazon SageMaker Canvas の使用を開始する」を参照してください。

Studio Classic をデフォルトのエクスペリエンスとして設定する

管理者は、ドメインを更新することで、既存のドメインのデフォルトエクスペリエンスとして Studio Classic に戻すことができます。これは、 SageMaker コンソールまたは を通じて行うことができます AWS CLI。次のいずれかのタブを選択して、関連する手順を表示します。

Studio Classic がドメインのデフォルトのエクスペリエンスである場合、Studio Classic はドメイン内のすべてのユーザーのデフォルトのエクスペリエンスです。ただし、ユーザー設定はドメイン設定よりも優先されます。そのため、ユーザーがデフォルトのエクスペリエンスを Studio に設定している場合、そのユーザーはデフォルトのエクスペリエンスとして Studio を使用します。

注記

Studio Classic をデフォルトの UI として一定期間継続する必要がある場合は、ランディングエクスペリエンスを明示的に Studio Classic に設定します。これを行うには、「」のステップを完了しますを使用してデフォルトのエクスペリエンスを Studio Classic AWS CLI に戻す。これは、ユーザーまたはドメインレベルで行うことができます。

SageMaker コンソールを使用したデフォルトのエクスペリエンスとして Studio Classic に戻すには、次の手順を使用します。

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

  2. 左側のナビゲーションペインから管理設定を展開し、ドメイン を選択します。

  3. 元に戻す既存のドメインを選択します。

  4. ドメイン設定タブを選択します。

  5. ドメインの詳細ページで、Studio Classic エクスペリエンスに戻すセクションに移動します。

  6. Studio Classic エクスペリエンスに戻すセクションで、Studio Classic プロセスに戻す を選択します。これにより、ドメインを Studio Classic に戻すページに移動します。

  7. ドメインを Studio Classic に戻すページで、次のタスクを完了し、対応するボックスを選択します。既存のドメインのデフォルトエクスペリエンスを Studio Classic に戻す前に、次のタスクを実行します。

    1. ステップ 1 - データのバックアップには、Studio Classic と Studio のさまざまなデータストレージボリュームに関する情報が含まれます。このプロセスを通じてデータが自動的に移行されることはありません。データ、ライフサイクル設定、拡張機能 JupyterLabの移行手順については、「」を参照してください(オプション) Studio Classic から Studio にデータを移行する

    2. Studio からすべての JupyterLab および Code Editor アプリケーションを削除すると、追加料金が発生しないように Studio アプリケーションを削除するように求められます。これは必須のステップではありません。既存のドメインを Studio Classic に戻した後にアプリケーションとスペースを削除できるためです。未使用のアプリケーションやスペースは、追加コストが発生しないように削除することをお勧めします。

      ドメインからアプリケーションとスペースを削除する方法については、「」を参照してくださいStudio で実行中のインスタンス、アプリケーション、スペースを削除または停止する

    3. ステップ 3 - このドメインを Studio Classic に戻すことを確認するには、既存のドメインのデフォルトエクスペリエンスを Studio Classic に戻す意図を確認するよう求められます。

    4. フィードバックを提供すると、既存のドメインを Studio Classic に戻す理由に関するフィードバックを残すことができます。

  8. すべてのステップが完了し、チェックボックスがいっぱいになると、ドメインを Studio Classic に戻すボタンが使用可能になります。

  9. ページのタスクを完了して変更を確認したら、ドメインを Studio Classic に戻す を選択して既存のドメインを元に戻します。

を使用して既存のドメインのデフォルトエクスペリエンスとして Studio Classic に戻すには AWS CLI、update-domain 呼び出しを使用します。default-user-settings パラメータの一部としてDISABLED、 を の値app:JupyterServer:として、 StudioWebPortal を の値DefaultLandingUriとして設定する必要があります。 

StudioWebPortal は、Studio エクスペリエンスがデフォルトのエクスペリエンスであるかどうかを示し、ドメインへのアクセス時にユーザーが指示されるデフォルトのエクスペリエンスDefaultLandingUriを示します。この例では、これらの値をドメインレベル ( 内default-user-settings) に設定すると、Studio Classic はドメイン内のユーザーのデフォルトのエクスペリエンスになります。

ドメイン内のユーザーがユーザーレベル ( 内UserSettings) studio::StudioWebPortalに設定ENABLEDされ、 DefaultLandingUriに設定されている場合、これはドメイン設定よりも優先されます。つまり、ドメイン設定に関係なく、そのユーザーはデフォルトのエクスペリエンスとして Studio を持ちます。

次のコード例は、ドメイン内のユーザーのデフォルトのエクスペリエンスとして Studio Classic を設定する方法を示しています。

aws sagemaker update-domain \ --domain-id existing-domain-id \ --region AWS リージョン \ --default-user-settings ' { "StudioWebPortal": "DISABLED", "DefaultLandingUri": "app:JupyterServer:" } '
  • を取得するにはexisting-domain-id、次の手順を実行します。

    を取得するには existing-domain-id
    1. で Amazon SageMaker コンソールを開きますhttps://console.aws.amazon.com/sagemaker/

    2. 左側のナビゲーションペインから、管理者設定を展開し、ドメイン を選択します。

    3. 既存のドメインを選択します。

    4. [ドメインの詳細] ページで、[ドメインの設定] タブを選択します。

    5. ドメイン ID をコピーします。

  • を取得するにはAWS リージョン、次の手順に従って、ドメイン AWS リージョン に正しい を使用していることを確認します。

    を取得するには AWS リージョン
    1. で Amazon SageMaker コンソールを開きますhttps://console.aws.amazon.com/sagemaker/

    2. 左側のナビゲーションペインから、管理者設定を展開し、ドメイン を選択します。

    3. 既存のドメインを選択します。

    4. ドメインの詳細ページで、これが既存のドメインであることを確認します。

    5. コンソールの SageMaker右上から AWS リージョン ドロップダウンリストを展開し、 AWS リージョン 名前の右側にある対応する AWS リージョン ID を使用します。例えば、us-west-1 と指定します。