インターフェイス VPC エンドポイント経由で Amazon SageMaker Studio と Studio Classic に接続する - Amazon SageMaker AI

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

インターフェイス VPC エンドポイント経由で Amazon SageMaker Studio と Studio Classic に接続する

インターネット経由で接続する代わりに、VPC のインターフェイスエンドポイントを介して Amazon Virtual Private Cloud (Amazon VPC) から Amazon SageMaker Studio や Amazon SageMaker Studio Classic に接続できます。インターフェイス VPC エンドポイント (インターフェイスエンドポイント) を使用する場合、VPC と Studio または Studio Classic 間の通信は、 AWS ネットワーク内で完全かつ安全に実施されます。

Studio と Studio Classic は、AWS PrivateLink を基盤とするインターフェイスエンドポイントをサポートしています。各インターフェイスエンドポイントは、VPC サブネット内の 1 つ以上の Elastic Network Interface とプライベート IP アドレスで表されます。

Studio と Studio Classic は、Amazon SageMaker AI Amazon VPC の両方が利用可能なすべての AWS リージョンでインターフェイスエンドポイントをサポートします。

VPC エンドポイントの作成

コンソールまたは AWS AWS Command Line Interface () を使用して Studio または Studio Classic に接続するインターフェイスエンドポイントを作成できますAWS CLI。手順については、「インターフェイスエンドポイントの作成」を参照してください。Studio や Studio Classic に接続する VPC 内のすべてのサブネットに対してインターフェイスエンドポイントを作成する必要があります。

インターフェイスエンドポイントを作成する際は、Studio や Studio Classic に関連付けられたセキュリティグループからの HTTPS トラフィックへのインバウンドアクセスを、エンドポイントのセキュリティグループが許可していることを確認します。詳細については、「VPC エンドポイントでサービスへのアクセスを制御する」を参照してください。

注記

Studio や Studio Classic に接続するためのインターフェイスエンドポイントを作成する以外にも、Amazon SageMaker API に接続するためのインターフェイスエンドポイントを作成する必要があります。ユーザーが CreatePresignedDomainUrl を呼び出して Studio や Studio Classic に接続するための URL を取得する場合、その呼び出しは SageMaker API への接続に使用されるインターフェイスエンドポイントを経由します。

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

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 エンドポイントでサービスへのアクセスを制御する」を参照してください。

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

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

重要

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

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

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

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

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

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

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

このポリシーには DescribeUserProfile アクションが含まれます。通常は、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 アドレスからの接続のみを許可します。

{ "Id": "sagemaker-studio-example-3", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable SageMaker Studio Access", "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 アドレスからの接続のみを許可することができます。

{ "Id": "sagemaker-studio-example-4", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable SageMaker Studio Access", "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" } } } ] }