RStudio サポートを既存のドメインに追加 - Amazon SageMaker

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

RStudio サポートを既存のドメインに追加

重要

Amazon SageMaker Studio または Amazon Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、 SageMakerそれらのリソースにタグを追加するためのアクセス権限も付与する必要があります。Studio と Studio Classic は作成したリソースに自動的にタグを付けるため、リソースにタグを追加する権限が必要です。IAM ポリシーで Studio と Studio Classic によるリソースの作成は許可されているが、タグ付けは許可されていない場合、リソースを作成しようとしたときに AccessDenied "" エラーが発生する可能性があります。詳細については、「リソースにタグ付けするための SageMakerアクセス許可を提供する」を参照してください。

AWS Amazon のマネージドポリシー SageMaker SageMaker リソースを作成する権限を付与するものには、リソースの作成時にタグを追加する権限が既に含まれています。

を使用して RStudio ライセンスを追加した場合は AWS License Manager、RStudio をサポートする新しい Amazon SageMaker ドメインを作成できます。 SageMakerRStudio をサポートしていない既存のドメインがある場合は、ドメインを削除して再作成しなくても、RStudio サポートをそのドメインに追加できます。 

次のトピックでは、このサポートを追加する方法について説明します。

前提条件

現在のドメインを更新して RStudio のサポートを追加する前に、次の手順を完了する必要があります。 SageMaker 

  • AWS CLI バージョン 2 のインストールおよび設定

  • IAM 認証情報を使用して AWS CLI を設定

  • RStudio でのドメインの作成」の手順に従って、 SageMaker ドメイン実行ロールを作成します。 AWS CLIこのドメインレベルの IAM ロールは R アプリに必要です。StudioServerPro ロールには、有効な Posit Workbench AWS License Manager ライセンスを確認するためのアクセス権と、サーバーログを公開するための Amazon CloudWatch Logs へのアクセスが必要です。 

  • RStudio ライセンスを RStudio AWS License Manager ライセンスの手順に従って持ち込んでください。

  • (オプション) VPCOnly モードで RStudio を使用する場合は、「RStudio の VPC 専用モード」の手順を実行します。

  • UserProfileドメイン内の各セキュリティグループに設定したセキュリティグループがアカウントレベルのクォータを満たしていることを確認してください。 ドメイン作成時にデフォルトのユーザープロファイルを設定する場合、CreateDomainAPI DefaultUserSettings のパラメーターを使用して、SecurityGroupsドメインで作成されたすべてのユーザープロファイルに継承されるパラメーターを追加できます。API UserSettings のパラメータの一部として、特定のユーザーに追加のセキュリティグループを提供することもできます。CreateUserProfileこの方法でセキュリティグループを追加した場合は、ユーザープロファイルごとのセキュリティグループの総数が、VPCOnly モードで 2 つ、PublicInternetOnly モードで 4 つの最大クォータを超えないようにする必要があります。ユーザープロファイルのセキュリティグループ総数がクォータを超えた場合は、複数のセキュリティグループのルールを 1 つのセキュリティグループにまとめることができます。 

RStudio サポートを既存のドメインに追加します。

前提条件を満たしたら、RStudio サポートを既存のドメインに追加できます。以下の手順では、既存のドメインを更新して RStudio のサポートを追加する方法の概要を説明します。

ステップ 1: ドメイン内のすべてのアプリを削除する

ドメインに RStudio のサポートを追加するには、 SageMaker 既存のすべてのユーザープロファイルの基盤となるセキュリティグループを更新する必要があります。これを完了するには、ドメイン内の既存のアプリをすべて削除して再作成する必要があります。以下の手順にそって、すべてのアプリの削除を行います。

  1. ドメイン内のすべてのアプリを一覧表示します。

    aws sagemaker \   list-apps \ --domain-id-equals <DOMAIN_ID>
  2. ドメイン内のユーザープロファイルごとに各アプリを削除します。

    // JupyterServer apps aws sagemaker \ delete-app \ --domain-id <DOMAIN_ID> \ --user-profile-name <USER_PROFILE> \ --app-type JupyterServer \ --app-name <APP_NAME> // KernelGateway apps aws sagemaker \ delete-app \ --domain-id <DOMAIN_ID> \ --user-profile-name <USER_PROFILE> \ --app-type KernelGateway \ --app-name <APP_NAME>

ステップ 2 - すべてのユーザープロファイルを新しいセキュリティグループのリストで更新

これは 1 回限りのアクションで、既存のセキュリティグループをリファクタリングしたときに、ドメイン内の既存のユーザープロファイルすべてに対して実行する必要があります。これにより、セキュリティグループの最大数のクォータに達することを防げます。UpdateUserProfileユーザーにステータスのあるアプリがある場合、API 呼び出しは失敗します。InServiceすべてのアプリを削除し、UpdateUserProfile API を呼び出してセキュリティグループを更新します。

注記

RStudio サポートはサービスによって管理されるため、「VPC 内の Amazon SageMaker Studio Classic ノートブックを外部リソースConnect する」VPCOnly AppSecurityGroupManagement で説明されている以下のモード要件は不要になりました。 SageMaker

セキュリティグループ内の TCP トラフィック。 JupyterServer これはアプリとアプリ間の接続に必要です。 KernelGateway 少なくとも 8192-65535 の範囲のポートへのアクセスを許可する必要があります。」

aws sagemaker \ update-user-profile \ --domain-id <DOMAIN_ID>\ --user-profile-name <USER_PROFILE> \ --user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"

ステップ 3-API を呼び出して RStudio をアクティベートする UpdateDomain

  1. UpdateDomainAPI を呼び出して RStudio のサポートを追加してください。 SageMakerdefaultusersettings パラメータは、ユーザープロファイルのデフォルトセキュリティグループをリファクタリングした場合にのみ必要です。

    • VPCOnly モードの場合:

      aws sagemaker \ update-domain \ --domain-id <DOMAIN_ID> \ --app-security-group-management Service \ --domain-settings-for-update RStudioServerProDomainSettingsForUpdate={DomainExecutionRoleArn=<DOMAIN_EXECUTION_ROLE_ARN>} \ --default-user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"
    • PublicInternetOnly モードの場合:

      aws sagemaker \ update-domain \ --domain-id <DOMAIN_ID> \    --domain-settings-for-update RStudioServerProDomainSettingsForUpdate={DomainExecutionRoleArn=<DOMAIN_EXECUTION_ROLE_ARN>} \ --default-user-settings "{\"SecurityGroups\": [\"<SECURITY_GROUP>\", \"<SECURITY_GROUP>\"]}"
  2. InServiceドメインステータスがであることを確認します。ドメインステータスがになったらInService、RStudio on SageMaker のサポートが追加されます。

    aws sagemaker \ describe-domain \ --domain-id <DOMAIN_ID>
  3. InService次のコマンドを使用して、R StudioServerPro アプリのステータスになっていることを確認します。

    aws sagemaker list-apps --user-profile-name domain-shared

ステップ 4 - 既存ユーザーに RStudio アクセスを追加

ステップ 3 の更新の一環として、AccessStatusドメイン内の既存のすべてのユーザープロファイルの RStudio SageMaker DISABLED をデフォルトとしてマークします。これにより、現在のライセンスで許可されているユーザー数を超えないようにします。既存のユーザーにアクセスを追加するには、1 回限りのオプトインステップが必要です。次の R StudioServerProAppSettings を使用して UpdateUserProfileAPI を呼び出してオプトインを実行します。

  • AccessStatus = ENABLED

  • オプション - UserGroup = R_STUDIO_USER または R_STUDIO_ADMIN

aws sagemaker \ update-user-profile \ --domain-id <DOMAIN_ID>\ --user-profile-name <USER_PROFILE> \ --user-settings "{\"RStudioServerProAppSettings\": {\"AccessStatus\": \"ENABLED\"}}"
注記

デフォルトでは、RStudio にアクセスできるユーザー数は 60 人です。

ステップ 5 — 新規ユーザーの RStudio アクセスを無効にする

呼び出し時に特に指定しない限りUpdateDomain、RStudio のサポートを追加した後に作成されたすべての新しいユーザープロファイルには、RStudio サポートがデフォルトで追加されます。 SageMaker新しいユーザープロファイルへのアクセスを無効にするには、CreateUserProfile API コールの一部として AccessStatus パラメータを DISABLED に明示的に設定する必要があります。AccessStatus パラメータが CreateUserProfile API の一部として指定されていない場合、デフォルトのアクセスステータスは ENABLED になっています。

aws sagemaker \ create-user-profile \ --domain-id <DOMAIN_ID>\ --user-profile-name <USER_PROFILE> \ --user-settings "{\"RStudioServerProAppSettings\": {\"AccessStatus\": \"DISABLED\"}}"