

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

# RStudio サポートを既存のドメインに追加
<a name="rstudio-add-existing"></a>

**重要**  
Amazon SageMaker Studio または Amazon SageMaker Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、これらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要になります。IAM ポリシーで Studio と Studio Classic によるリソースの作成が許可されていても、タグ付けが許可されていない場合は、リソースを作成しようとしたときに「AccessDenied」エラーが発生する可能性があります。詳細については、「[SageMaker AI リソースにタグ付けのアクセス許可を付与する](security_iam_id-based-policy-examples.md#grant-tagging-permissions)」を参照してください。  
SageMaker リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md) には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。

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

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

## 前提条件
<a name="rstudio-add-existing-prerequisites"></a>

 現在のドメインを更新して RStudio on SageMaker AI のサポートを追加するには、次の手順を完了する必要があります。  
+  [AWS CLI バージョン 2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) のインストールおよび設定 
+  IAM 認証情報を使用して [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) を設定 
+  「[AWS CLIを使用して RStudio で SageMaker AI ドメインを作成する](https://docs.aws.amazon.com/sagemaker/latest/dg/rstudio-create-cli.html#rstudio-create-cli-domainexecution)」の手順に従って、ドメイン実行ロールを作成します。このドメインレベルの IAM ロールは RStudioServerPro アプリケーションに必要です。このロールには、有効な Posit Workbench ライセンスを検証するための AWS License Manager と、サーバーログを公開するための Amazon CloudWatch Logs へのアクセスが必要です。  
+  RStudio ライセンスのステップ AWS License Manager に従って [ RStudio ライセンス](https://docs.aws.amazon.com/sagemaker/latest/dg/rstudio-license.html)を使用します。
+  (オプション) `VPCOnly` モードで RStudio を使用する場合は、「[RStudio の VPC 専用モード](https://docs.aws.amazon.com/sagemaker/latest/dg/rstudio-network.html)」の手順を実行します。
+  ドメイン内の各 [UserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) に設定したセキュリティグループがアカウントレベルのクォータを満たしていることを確認します。ドメイン作成時にデフォルトのユーザープロファイルを設定する場合は、[CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) API の `DefaultUserSettings` パラメータを使用し、ドメインで作成されたすべてのユーザープロファイルに継承する `SecurityGroups` を追加できます。[CreateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html) API の `UserSettings` パラメータの一部として、特定のユーザーに追加のセキュリティグループを指定することもできます。この方法でセキュリティグループを追加した場合は、ユーザープロファイルごとのセキュリティグループの総数が、`VPCOnly` モードで 2 つ、`PublicInternetOnly` モードで 4 つの最大クォータを超えないようにする必要があります。ユーザープロファイルのセキュリティグループ総数がクォータを超えた場合は、複数のセキュリティグループのルールを 1 つのセキュリティグループにまとめることができます。  

## RStudio サポートを既存のドメインに追加
<a name="rstudio-add-existing-enable"></a>

前提条件が整ったら、既存のドメインに RStudio サポートを追加できます。以下の手順で既存のドメインを更新し、RStudio のサポートを追加します。

### ステップ 1: ドメイン内のすべてのアプリを削除
<a name="rstudio-add-existing-enable-step1"></a>

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

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

   ```
   aws sagemaker \
      list-apps \
      --domain-id-equals <DOMAIN_ID>
   ```

1.  ドメイン内のユーザープロファイルごとにそれぞれのアプリを削除します。

   ```
   // 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 - すべてのユーザープロファイルを新しいセキュリティグループのリストで更新
<a name="rstudio-add-existing-enable-step2"></a>

 これは、既存のセキュリティグループをリファクタリングした際に、ドメイン内の既存のユーザープロファイルすべてに対して実行する必要がある 1 回限りのアクションです。これにより、セキュリティグループの最大数のクォータに達することを防げます。ユーザーが [InService](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeApp.html#sagemaker-DescribeApp-response-Status) ステータスのアプリを持っている場合、`UpdateUserProfile` API コールは失敗します。すべてのアプリを削除し、`UpdateUserProfile` API を呼び出してセキュリティグループを更新します。

**注記**  
「[VPC 内の Amazon SageMaker Studio Classic ノートブックを外部リソースに接続する](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html#studio-notebooks-and-internet-access-vpc-only)」で概説されている `VPCOnly` モードの次の要件は、`AppSecurityGroupManagement` が SageMaker AI サービスによって管理されるため、RStudio サポートを追加するときには不要になります。  
「[セキュリティグループ内の TCP トラフィック](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-rules-reference.html#sg-rules-other-instances)。これは、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 - UpdateDomain API を呼び出して RStudio をアクティベート
<a name="rstudio-add-existing-enable-step3"></a>

1.  [UpdateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateDomain.html) API を呼び出して、SageMaker AI に RStudio のサポートを追加します。`defaultusersettings` パラメータは、ユーザープロファイルのデフォルトセキュリティグループをリファクタリングした場合にのみ必要です。
   +  `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>\"]}"
     ```

1. ドメインステータスが `InService` であることを確認します。ドメインステータスが `InService` になると、RStudio on SageMaker AI のサポートが追加されます。

   ```
   aws sagemaker \
       describe-domain \
       --domain-id <DOMAIN_ID>
   ```

1. 次のコマンドを使用して、RStudioServerPro アプリケーションのステータスが `InService` であることを確認します。

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

### ステップ 4 - 既存ユーザーに RStudio アクセスを追加
<a name="rstudio-add-existing-enable-step4"></a>

 ステップ 3 の更新の一環として、SageMaker AI はドメイン内にあるすべての既存ユーザープロファイルの RStudio [AccessStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_RStudioServerProAppSettings.html#sagemaker-Type-RStudioServerProAppSettings-AccessStatus) をデフォルトで `DISABLED` としてマークします。これにより、現在のライセンスで許可されているユーザー数を超えないようにします。既存のユーザーにアクセスを追加するには、1 回限りのオプトインステップが必要です。次の [RStudioServerProAppSettings](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UserSettings.html#sagemaker-Type-UserSettings-RStudioServerProAppSettings) を使用して、[UpdateUserProfile](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateUserProfile.html) API を呼び出してオプトインを実行します: 
+  `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 アクセスを無効にする
<a name="rstudio-add-existing-enable-step5"></a>

 `UpdateDomain` の呼び出し時に特に指定しない限り、SageMaker AI に RStudio のサポートを追加した後に作成されたすべての新しいユーザープロファイルに、RStudio サポートがデフォルトで追加されます。新しいユーザープロファイルへのアクセスを無効にするには、`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\"}}"
```