

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

# インターフェイス VPC エンドポイント経由で Amazon SageMaker Studio と Studio Classic に接続する
<a name="studio-interface-endpoint"></a>

インターネット経由で接続する代わりに、VPC の[インターフェイスエンドポイント](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html)を介して [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) (Amazon VPC) から Amazon SageMaker Studio や Amazon SageMaker Studio Classic に接続できます。インターフェイス VPC エンドポイント (インターフェイスエンドポイント) を使用する場合、VPC と Studio または Studio Classic 間の通信は AWS 、ネットワーク内で完全かつ安全に行われます。

Studio と Studio Classic は、[AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/userguide/endpoint-services-overview.html) を基盤とするインターフェイスエンドポイントをサポートしています。各インターフェイスエンドポイントは、VPC サブネット内の 1 つ以上の [Elastic Network Interface](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html) とプライベート IP アドレスで表されます。

Studio と Studio Classic は、[Amazon SageMaker AI ](https://aws.amazon.com/sagemaker/pricing/)と [Amazon VPC](https://aws.amazon.com/vpc/pricing/) の両方が利用可能なすべての AWS リージョンでインターフェイスエンドポイントをサポートしています。

**Topics**
+ [VPC エンドポイントの作成](#studio-interface-endpoint-create)
+ [Studio または Studio Classic の VPC エンドポイントポリシーを作成する](#studio-private-link-policy)
+ [VPC 内からのアクセスのみを許可する](#studio-private-link-restrict)

## VPC エンドポイントの作成
<a name="studio-interface-endpoint-create"></a>

コンソールまたは AWS AWS Command Line Interface () を使用して Studio または Studio Classic に接続するインターフェイスエンドポイントを作成できますAWS CLI。手順については、「[インターフェイスエンドポイントの作成](https://docs.aws.amazon.com/vpc/latest/userguide/vpce-interface.html#create-interface-endpoint)」を参照してください。Studio や Studio Classic に接続する VPC 内のすべてのサブネットに対してインターフェイスエンドポイントを作成する必要があります。

インターフェイスエンドポイントを作成する際は、Studio や Studio Classic に関連付けられたセキュリティグループからの HTTPS トラフィックへのインバウンドアクセスを、エンドポイントのセキュリティグループが許可していることを確認します。詳細については、「[VPC エンドポイントでサービスへのアクセスを制御する](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-access.html#vpc-endpoints-security-groups)」を参照してください。

**注記**  
Studio や Studio Classic に接続するためのインターフェイスエンドポイントを作成する以外にも、Amazon SageMaker API に接続するためのインターフェイスエンドポイントを作成する必要があります。ユーザーが [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedDomainUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedDomainUrl.html) を呼び出して Studio や Studio Classic に接続するための URL を取得する場合、その呼び出しは SageMaker API への接続に使用されるインターフェイスエンドポイントを経由します。

インターフェイスエンドポイントを作成するときに、サービス名として **aws.sagemaker.*Region*.studio** を指定します。インターフェイスエンドポイントを作成したら、エンドポイントのプライベート DNS を有効にします。SageMaker API、、またはコンソールを使用して VPC 内から Studio AWS CLIまたは Studio Classic に接続する場合、パブリックインターネットではなくインターフェイスエンドポイントを介して接続します。Studio や Studio Classic が VPC エンドポイント URL ではなく `api.sagemaker.$region.amazonaws.com` エンドポイントを使用して SageMaker API にアクセスできるように、プライベートホストゾーンを使用して Amazon VPC エンドポイントにカスタム DNS を設定する必要があります。プライベートホストゾーンの設定手順については、「[プライベートホストゾーンの使用](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/hosted-zones-private.html)」を参照してください。

## Studio または Studio Classic の VPC エンドポイントポリシーを作成する
<a name="studio-private-link-policy"></a>

Studio または Studio Classic への接続に使用するインターフェイス VPC エンドポイントには、Amazon VPC エンドポイントポリシーをアタッチできます。エンドポイントポリシーは、Studio または Studio Classic へのアクセスを制御します。以下を指定できます。
+ アクションを実行できるプリンシパル。
+ 実行可能なアクション。
+ アクションを実行できるリソース。

Studio または Studio Classic で VPC エンドポイントを使用するには、KernelGateway アプリケーションタイプでの `CreateApp` オペレーションをエンドポイントポリシーで許可する必要があります。これにより、VPC エンドポイントを経由してルーティングされるトラフィックで `CreateApp` API を呼び出すことができます。次の VPC エンドポイントポリシーの例は、`CreateApp` オペレーションを許可する方法を示しています。

```
{
 "Statement": [
   {
     "Action": "sagemaker:CreateApp",
     "Effect": "Allow",
     "Resource": "arn:aws:sagemaker:us-west-2:acct-id:app/domain-id/*",
     "Principal": "*"
   }
 ]
}
```

詳細については、「[VPC エンドポイントでサービスへのアクセスを制御する](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)」を参照してください。

次の VPC エンドポイントポリシーの例では、エンドポイントへのアクセスが許可されているすべてのユーザーが、指定されたドメイン ID を使用して、SageMaker AI ドメインのユーザープロファイルにアクセスすることを許可しています。他のドメインへのアクセスは拒否されます。

```
{
  "Statement": [
      {
          "Action": "sagemaker:CreatePresignedDomainUrl",
          "Effect": "Allow",
          "Resource": "arn:aws:sagemaker:us-west-2:acct-id:user-profile/domain-id/*",
          "Principal": "*"
      }
  ]
}
```

## VPC 内からのアクセスのみを許可する
<a name="studio-private-link-restrict"></a>

VPC にインターフェイスエンドポイントを設定した場合でも、VPC 外部のユーザーはインターネットを介して Studio または Studio Classic に接続できます。

VPC 内からの接続のみにアクセスを許可するには、そのような趣旨の AWS Identity and Access Management (IAM) ポリシーを作成します。このポリシーを Studio または Studio Classic へのアクセスに使用されるすべてのユーザー、グループ、またはロールに追加します。この機能は、認証に IAM モードを使用する場合にのみサポートされ、IAM アイデンティティセンターモードではサポートされません。次の例は、そのようなポリシーの作成方法を示しています。

**重要**  
次の例のいずれかに類似した IAM ポリシーを適用すると、ユーザーは SageMaker AI コンソールを使用して Studio または Studio Classic または指定された SageMaker API にアクセスできなくなります。Studio または Studio Classic にアクセスするには、ユーザーは署名済み URL を使用するか、SageMaker API を直接呼び出す必要があります。

**例 1: インターフェイスエンドポイントのサブネット内でのみ接続を許可する**

以下のポリシーでは、インターフェイスエンドポイントを作成したサブネット内の発信者にのみ接続を許可します。

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

****  

```
{
    "Id": "sagemaker-studio-example-1",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableSageMakerStudioAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeUserProfile"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "aws:SourceVpc": "vpc-111bbaaa"
                }
            }
        }
    ]
}
```

------

**例 2: `aws:sourceVpce` を使用してインターフェイスエンドポイントを介した接続のみを許可する**

以下のポリシーでは、`aws:sourceVpce` 条件キーで指定したインターフェイスエンドポイントを介して作成された接続のみを許可します。例えば、最初のインターフェイスエンドポイントは SageMaker AI コントロールパネルからのアクセスを許可します。2 番目のインターフェイスエンドポイントは SageMaker API を介したアクセスを許可します。

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

****  

```
{
    "Id": "sagemaker-studio-example-2",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableSageMakerStudioAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeUserProfile"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "aws:sourceVpce": [
                        "vpce-111bbccc",
                        "vpce-111bbddd"
                    ]
                }
            }
        }
    ]
}
```

------

このポリシーには [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeUserProfile.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeUserProfile.html) アクションが含まれます。通常は、`DescribeUserProfile` を呼び出して、ユーザープロファイルのステータスが `InService` であることを確認してから、ドメインへの接続を試みます。例:

```
aws sagemaker describe-user-profile \
    --domain-id domain-id \
    --user-profile-name profile-name
```

レスポンス:

```
{
    "DomainId": "domain-id",
    "UserProfileArn": "arn:aws:sagemaker:us-west-2:acct-id:user-profile/domain-id/profile-name",
    "UserProfileName": "profile-name",
    "HomeEfsFileSystemUid": "200001",
    "Status": "InService",
    "LastModifiedTime": 1605418785.555,
    "CreationTime": 1605418477.297
}
```

```
aws sagemaker create-presigned-domain-url
    --domain-id domain-id \
    --user-profile-name profile-name
```

レスポンス:

```
{
    "AuthorizedUrl": "https://domain-id.studio.us-west-2.sagemaker.aws/auth?token=AuthToken"
}
```

これらの呼び出しの両方で、2018 年 8 月 13 日より前にリリースされたバージョンの AWS SDK を使用している場合は、呼び出しでエンドポイント URL を指定する必要があります。例えば、以下の例は、`create-presigned-domain-url` への呼び出しを示しています。

```
aws sagemaker create-presigned-domain-url
    --domain-id domain-id \
    --user-profile-name profile-name \
    --endpoint-url vpc-endpoint-id.api.sagemaker.Region.vpce.amazonaws.com
```

**例 3: `aws:SourceIp` を使用した IP アドレスからの接続を許可する**

以下のポリシーでは、`aws:SourceIp` 条件キーを使用した、指定範囲の IP アドレスからの接続のみを許可します。

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

****  

```
{
    "Id": "sagemaker-studio-example-3",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableSageMakerStudioAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeUserProfile"
            ],
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                }
            }
        }
    ]
}
```

------

**例 4: `aws:VpcSourceIp` を使用してインターフェイスエンドポイント経由の IP アドレスからの接続を許可する** 

インターフェイスエンドポイントを介して Studio または Studio Classic にアクセスする場合は、以下のポリシーに示されるとおり、`aws:VpcSourceIp` 条件キーを使用することによって、インターフェイスエンドポイントを作成したサブネット内の指定された範囲の IP アドレスからの接続のみを許可することができます。

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

****  

```
{
    "Id": "sagemaker-studio-example-4",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableSageMakerStudioAccess",
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeUserProfile"
            ],
            "Resource": "*",
            "Condition": {
                "IpAddress": {
                    "aws:VpcSourceIp": [
                        "192.0.2.0/24",
                        "203.0.113.0/24"
                    ]
                },
                "StringEquals": {
                    "aws:SourceVpc": "vpc-111bbaaa"
                }
            }
        }
    ]
}
```

------