

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

# を使用して RStudio で Amazon SageMaker AI ドメインを作成する AWS CLI
<a name="rstudio-create-cli"></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) には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。

次のトピックでは、 AWS CLIを使用して、RStudio を有効にし Amazon SageMaker AI ドメインにオンボードする方法について説明します を使用してオンボードするには AWS マネジメントコンソール、「」を参照してください[Amazon SageMaker AI ドメインの概要](gs-studio-onboard.md)。

## 前提条件
<a name="rstudio-create-cli-prerequisites"></a>
+  [AWS CLI バージョン 2](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html) のインストールおよび設定 
+  [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)IAM 認証情報を設定する 

## `DomainExecution` ロールを作成する
<a name="rstudio-create-cli-domainexecution"></a>

RStudio アプリを起動するには、`DomainExecution` ロール を指定する必要があります。このロールは、Amazon SageMaker AI ドメインの作成の一環として RStudio を起動する必要があるかどうかを判断するために使用されます。このロールは、Amazon SageMaker AI が RStudio ライセンスにアクセスし、RStudio ログをプッシュするためにも使用されます。  

**注記**  
`DomainExecution` ロールには少なくとも RStudio License にアクセスするための AWS License Manager のアクセス許可と、アカウントのログをプッシュするための CloudWatch のアクセス許可が必要です。

以下の手順は、 AWS CLIでの `DomainExecution` ロールの作成方法を示しています。

1.  `assume-role-policy.json` という名前のファイルを作成し、次の内容を記述します。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Action": "sts:AssumeRole",
               "Effect": "Allow",
               "Principal": {
                   "Service": [
                       "sagemaker.amazonaws.com"
                   ]
               }
           }
       ]
   }
   ```

------

1.  `DomainExecution` ロールを作成します。`<REGION>` は、ドメインを起動する AWS リージョンになっている必要があります。

   ```
   aws iam create-role --region <REGION> --role-name DomainExecution --assume-role-policy-document file://assume-role-policy.json
   ```

1. `domain-setting-policy.json` という名前のファイルを作成し、次の内容を記述します。このポリシーは、必要なリソースへのアクセスを RStudioServerPro アプリケーションに許可し、既存の RStudioServerPro アプリケーションが `Deleted` または `Failed` ステータスの場合に、RStudioServerPro アプリケーションの自動起動を Amazon SageMaker AI に許可します。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": [
                   "license-manager:ExtendLicenseConsumption",
                   "license-manager:ListReceivedLicenses",
                   "license-manager:GetLicense",
                   "license-manager:CheckoutLicense",
                   "license-manager:CheckInLicense",
                   "logs:CreateLogDelivery",
                   "logs:CreateLogGroup",
                   "logs:CreateLogStream",
                   "logs:DeleteLogDelivery",
                   "logs:Describe*",
                   "logs:GetLogDelivery",
                   "logs:GetLogEvents",
                   "logs:ListLogDeliveries",
                   "logs:PutLogEvents",
                   "logs:PutResourcePolicy",
                   "logs:UpdateLogDelivery",
                   "sagemaker:CreateApp"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1.  `DomainExecution` ロールにアタッチされるドメイン設定ポリシーを作成します。応答からの `PolicyArn` に注意してください。次の手順でその ARN を入力する必要があります。

   ```
   aws iam create-policy --region <REGION> --policy-name domain-setting-policy --policy-document file://domain-setting-policy.json
   ```

1.  `domain-setting-policy` を `DomainExecution` ロールにアタッチします。前のステップで返された `PolicyArn` を使用します。

   ```
   aws iam attach-role-policy --role-name DomainExecution --policy-arn <POLICY_ARN>
   ```

## RStudio アプリケーションで Amazon SageMaker AI ドメインを作成する
<a name="rstudio-create-cli-domain"></a>

RStudioServerPro アプリケーションは、`create-domain` CLI コマンドと 指定の `RStudioServerProDomainSettings` パラメータを使用して Amazon SageMaker AI ドメインを作成する際に自動的に起動されます。RStudioServerPro アプリケーションを起動すると、Amazon SageMaker AI はアカウント内の有効な RStudio ライセンスをチェックします。ライセンスが見つからない場合はドメインの作成は失敗します。

Amazon SageMaker AI ドメインの作成は、認証方法とネットワークタイプによって異なります。これらのオプションは、1 つの認証方法と 1 つのネットワーク接続タイプを選択して一緒に使用する必要があります。新しいドメインを作成するための要件の詳細については、「[CreateDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html)」を参照してください。

次の認証方法がサポートされています。
+  `IAM Auth` 
+  `SSO Auth` 

次のネットワーク接続タイプがサポートされています。
+  `PublicInternet` 
+  `VPCOnly` 

### 認証方法
<a name="rstudio-create-cli-domain-auth"></a>

 **IAM 認証モード** 

以下は、RStudio が有効になっていて、`IAM Auth` ネットワークタイプを持つ Amazon SageMaker AI ドメインを作成する方法を説明しています。詳細については AWS Identity and Access Management、[「IAM とは](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)」を参照してください。
+ `DomainExecutionRoleArn` は、前のステップで作成したロールの ARN である必要があります。
+ `ExecutionRole` は、Amazon SageMaker AI ドメイン内のユーザーに与えられるロールの ARN です。
+ `vpc-id` は、Amazon Virtual Private Cloud の ID である必要があります。`subnet-ids` は、サブネット ID のスペース区切りリストである必要があります。`vpc-id` と `subnet-ids` の詳細については、「[VPC とサブネット](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)」を参照してください。
+ `RStudioPackageManagerUrl` と `RStudioConnectUrl` は任意であり、RStudio Package Manager と RStudio Connect サーバーの URL にそれぞれ設定する必要があります。
+ `app-network-access-type` は、`PublicInternetOnly` または `VPCOnly` のいずれかになっている必要があります。

```
aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \
    --auth-mode IAM \
    --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \
    --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \
    --vpc-id <VPC_ID> \
    --subnet-ids <SUBNET_IDS> \
    --app-network-access-type <NETWORK_ACCESS_TYPE>
```

 **IAM Identity Center を使用した認証** 

以下は、RStudio を有効にし、ドメインが起動されるリージョンで Network Type. を有効にする必要がある Amazon SageMaker AI ドメインを作成する方法を示しています。 `SSO Auth` AWS IAM アイデンティティセンター IAM Identity Center の詳細については、[「What is AWS IAM アイデンティティセンター?](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)」を参照してください。
+ `DomainExecutionRoleArn` は、前のステップで作成したロールの ARN である必要があります。
+ `ExecutionRole` は、Amazon SageMaker AI ドメイン内のユーザーに与えられるロールの ARN です。
+ `vpc-id` は、Amazon Virtual Private Cloud の ID である必要があります。`subnet-ids` は、サブネット ID のスペース区切りリストである必要があります。`vpc-id` と `subnet-ids` の詳細については、「[VPC とサブネット](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)」を参照してください。
+ `RStudioPackageManagerUrl` と `RStudioConnectUrl` は任意であり、RStudio Package Manager と RStudio Connect サーバーの URL にそれぞれ設定する必要があります。
+ `app-network-access-type` は、`PublicInternetOnly` または `VPCOnly` のいずれかになっている必要があります。

```
aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \
    --auth-mode SSO \
    --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \
    --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \
    --vpc-id <VPC_ID> \
    --subnet-ids <SUBNET_IDS> \
    --app-network-access-type <NETWORK_ACCESS_TYPE>
```

### 接続タイプ
<a name="rstudio-create-cli-domain-connection"></a>

 **パブリックインターネット/直接インターネットネットワークの種類** 

以下は、RStudio が有効になっていて、`PublicInternet` ネットワークタイプを持つ Amazon SageMaker AI ドメインを作成する方法を説明しています。
+ `DomainExecutionRoleArn` は、前のステップで作成したロールの ARN である必要があります。
+ `ExecutionRole` は、Amazon SageMaker AI ドメイン内のユーザーに与えられるロールの ARN です。
+ `vpc-id` は、Amazon Virtual Private Cloud の ID である必要があります。`subnet-ids` は、サブネット ID のスペース区切りリストである必要があります。`vpc-id` と `subnet-ids` の詳細については、「[VPC とサブネット](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)」を参照してください。
+ `RStudioPackageManagerUrl` と `RStudioConnectUrl` は任意であり、RStudio Package Manager と RStudio Connect サーバーの URL にそれぞれ設定する必要があります。
+ `auth-mode` は、`SSO` または `IAM` のいずれかになっている必要があります。

```
aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \
    --auth-mode <AUTH_MODE> \
    --default-user-settings ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \
    --domain-settings RStudioServerProDomainSettings={RStudioPackageManagerUrl=<<PACKAGE_MANAGER_URL>,RStudioConnectUrl=<<CONNECT_URL>,DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \
    --vpc-id <VPC_ID> \
    --subnet-ids <SUBNET_IDS> \
    --app-network-access-type PublicInternetOnly
```

 **VPConly モード** 

以下は、RStudio が有効になっていて、`VPCOnly` ネットワークタイプを持つ Amazon SageMaker AI ドメインを起動する方法を説明しています。`VPCOnly` ネットワークアクセスタイプの使用方法の詳細については、「[VPC 内の Studio ノートブックを外部リソースに接続する](studio-notebooks-and-internet-access.md)」を参照してください。
+ `DomainExecutionRoleArn` は、前のステップで作成したロールの ARN である必要があります。
+ `ExecutionRole` は、Amazon SageMaker AI ドメイン内のユーザーに与えられるロールの ARN です。
+ `vpc-id` は、Amazon Virtual Private Cloud の ID である必要があります。`subnet-ids` は、サブネット ID のスペース区切りリストである必要があります。プライベートサブネットは、Amazon SageMaker AI を呼び出すためにインターネットにアクセスできる必要があり、 AWS License Manager または Amazon SageMaker AI 用と AWS License Manager用の Amazon VPC エンドポイントを備えている必要があります。Amazon VPC エンドポイントの詳細については、「[インターフェイス VPC エンドポイント](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html)」を参照してください。`vpc-id` と `subnet-ids` の詳細については「[VPC とサブネット](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html)」を参照してください。
+ `SecurityGroups` は、Amazon SageMaker AI と AWS License Manager エンドポイントへのアウトバウンドアクセスを許可する必要があります。
+ `auth-mode` は、`SSO` または `IAM` のいずれかになっている必要があります。

**注記**  
Amazon Virtual Private Cloud エンドポイントを使用する場合、Amazon Virtual Private Cloud エンドポイントにアタッチされたセキュリティグループで、`create-domain` CLI 呼び出しの `domain-setting` パラメータの一部としてパスするセキュリティグループからのインバウンドトラフィックを許可する必要があります。

RStudio では、Amazon SageMaker AI がセキュリティグループを管理します。つまり、Amazon SageMaker AI は、RSessions が RStudioServerPro アプリケーションにアクセスできるように、セキュリティグループルールを管理します。Amazon SageMaker AI は、ユーザープロファイルごとに 1 つのセキュリティグループルールを作成します。

```
aws sagemaker create-domain --region <REGION> --domain-name <DOMAIN_NAME> \
    --auth-mode <AUTH_MODE> \
    --default-user-settings SecurityGroups=<USER_SECURITY_GROUP>,ExecutionRole=<DEFAULT_USER_EXECUTIONROLE> \
    --domain-settings SecurityGroupIds=<DOMAIN_SECURITY_GROUP>,RStudioServerProDomainSettings={DomainExecutionRoleArn=<DOMAINEXECUTION_ROLE_ARN>} \
    --vpc-id <VPC_ID> \
    --subnet-ids "<SUBNET_IDS>" \
    --app-network-access-type VPCOnly --app-security-group-management Service
```

注: RStudioServerPro アプリは、`domain-shared` という名前の特別なユーザープロファイルによって起動されます。その結果、このアプリは他のユーザープロファイルによる `list-app` API 呼び出しの一部として返されることはありません。

ユーザー数を増やすには、アカウントの Amazon VPC クォータを増やす必要がある場合があります。詳細については、「[Amazon VPC クォータ](https://docs.aws.amazon.com/vpc/latest/userguide/amazon-vpc-limits.html#vpc-limits-security-groups)」を参照してください。

## ドメインの作成を検証する
<a name="rstudio-create-cli-domain-verify"></a>

次のコマンドを使用して、ドメインが `InService` の `Status` で作成されたことを確認します。`domain-id` がドメイン ARN に追加されます。例えば、`arn:aws:sagemaker:<REGION>:<ACCOUNT_ID>:domain/<DOMAIN_ID>`。

```
aws sagemaker describe-domain --domain-id <DOMAIN_ID> --region <REGION>
```