VPC インターフェイスエンドポイント経由でノートブックインスタンスに接続する - Amazon SageMaker

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

VPC インターフェイスエンドポイント経由でノートブックインスタンスに接続する

パブリックインターネット経由で接続する代わりに、仮想プライベートクラウド (VPC) のインターフェイスエンドポイントVPCを介して からノートブックインスタンスに接続できます。VPC インターフェイスエンドポイントを使用すると、 VPCとノートブックインスタンス間の通信は、ネットワーク内で AWS 完全かつ安全に実行されます。

SageMaker ノートブックインスタンスは、 を搭載した Amazon Virtual Private Cloud (Amazon VPC) インターフェイスエンドポイントをサポートしていますAWS PrivateLink。各VPCエンドポイントは、VPCサブネット内のプライベート IP アドレスを持つ 1 つ以上の Elastic Network Interface によって表されます。

注記

ノートブックインスタンスに接続するインターフェイスVPCエンドポイントを作成する前に、 に接続するインターフェイスVPCエンドポイントを作成します SageMaker API。これにより、ユーザーが を呼び出すと、 
CreatePresignedNotebookInstanceUrl を取得してノートブックインスタンスに接続するURLには、その呼び出しもインターフェイスVPCエンドポイントを経由します。詳細については、 SageMaker 内の に接続する VPC を参照してください。

インターフェイスエンドポイントを作成して、 AWS Management Console または AWS Command Line Interface (AWS CLI) コマンドを使用してノートブックインスタンスに接続できます。手順については、「インターフェイスエンドポイントの作成」を参照してください。ノートブックインスタンスVPCに接続する のすべてのサブネットのインターフェイスエンドポイントを作成してください。

インターフェイスエンドポイントを作成するときは、aws.sagemaker を指定します。Region.notebook をサービス名として使用します。VPC エンドポイントを作成したら、VPCエンドポイントDNSのプライベートを有効にします。 SageMaker API、、またはコンソールを使用して 内からノートブックインスタンスに接続するユーザーは AWS CLI、パブリックインターネットではなくVPCエンドポイントを介してノートブックインスタンスVPCに接続します。

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

を介してノートブックインスタンスに接続するにはVPC、 内にあるインスタンスから接続するかVPC、 AWS Virtual Private Network (AWS VPN) または VPCを使用してプライベートネットワークを に接続する必要があります AWS Direct Connect。の詳細については AWS VPN、VPN「Amazon Virtual Private Cloud ユーザーガイド」の「接続」を参照してください。 Amazon Virtual Private Cloud の詳細については AWS Direct Connect、AWS Direct Connect ユーザーガイド「接続の作成」を参照してください。

SageMaker ノートブックインスタンスの Amazon VPCエンドポイントのポリシーを作成して、以下を指定できます。

  • アクションを実行できるプリンシパル。

  • 実行可能なアクション。

  • このアクションを実行できるリソース。

詳細については、「Amazon VPCユーザーガイド」のVPC「エンドポイントを使用したサービスへのアクセスの制御」を参照してください。

VPC エンドポイントポリシーの次の例では、エンドポイントへのアクセス権を持つすべてのユーザーが、 という名前のノートブックインスタンスへのアクセスを許可されることを指定しますmyNotebookInstance

{ "Statement": [ { "Action": "sagemaker:CreatePresignedNotebookInstanceUrl", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:123456789012:notebook-instance/myNotebookInstance", "Principal": "*" } ] }

他のノートブックインスタンスへのアクセスは拒否されます。

でインターフェイスエンドポイントをセットアップした場合でもVPC、 以外の個人はインターネット経由でノートブックインスタンスに接続VPCできます。

重要

次のいずれかのようなIAMポリシーを適用すると、ユーザーはコンソールから指定された SageMaker APIs またはノートブックインスタンスにアクセスできません。

内の から行われた接続のみへのアクセスを制限するにはVPC、 内の からの呼び出しのみへのアクセスを制限する AWS Identity and Access Management ポリシーを作成しますVPC。次に、ノートブックインスタンスへのアクセスに使用されるすべての AWS Identity and Access Management ユーザー、グループ、またはロールにそのポリシーを追加します。

注記

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

{ "Id": "notebook-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable Notebook Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:DescribeNotebookInstance" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceVpc": "vpc-111bbaaa" } } } ] }

ノートブックインスタンスへのアクセスをインターフェイスエンドポイントを使って行われた接続のみに制限したい場合は、aws:SourceVpc: の代わりに aws:SourceVpce 条件キーを使用してください。

{ "Id": "notebook-example-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable Notebook Access", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedNotebookInstanceUrl", "sagemaker:DescribeNotebookInstance" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:sourceVpce": [ "vpce-111bbccc", "vpce-111bbddd" ] } } } ] }

これらのポリシー例では、 のインターフェイスエンドポイントも作成されていることを前提としています SageMaker API。詳細については、「 SageMaker 内の に接続する VPC」を参照してください。2 番目の例では、aws:SourceVpce の値の 1 つは、ノートブックインスタンスのインターフェイスエンドポイントの ID です。もう 1 つは、 のインターフェイスエンドポイントの ID です SageMaker API。

ここでのポリシーの例は次のとおりです。 
 DescribeNotebookInstance、通常、 を呼び出しDescribeNotebookInstanceて、接続を試みるInService前に NotebookInstanceStatusが であることを確認します。例:

aws sagemaker describe-notebook-instance \ --notebook-instance-name myNotebookInstance { "NotebookInstanceArn": "arn:aws:sagemaker:us-west-2:1234567890ab:notebook-instance/mynotebookinstance", "NotebookInstanceName": "myNotebookInstance", "NotebookInstanceStatus": "InService", "Url": "mynotebookinstance.notebook.us-west-2.sagemaker.aws", "InstanceType": "ml.m4.xlarge", "RoleArn": "arn:aws:iam::1234567890ab:role/service-role/AmazonSageMaker-ExecutionRole-12345678T123456", "LastModifiedTime": 1540334777.501, "CreationTime": 1523050674.078, "DirectInternetAccess": "Disabled" } aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name myNotebookInstance { "AuthorizedUrl": "https://mynotebookinstance.notebook.us-west-2.sagemaker.aws?authToken=AuthToken }
注記

生成された presigned-notebook-instance-urlAuthorizedUrl は、インターネット上のどこからでも使用できます。

これらの呼び出しの両方で、VPCエンドポイントのプライベートDNSホスト名を有効にしていない場合、または 2018 年 8 月 13 日より前にリリースされた AWS SDKのバージョンを使用している場合は、呼び出しURLでエンドポイントを指定する必要があります。例えば、create-presigned-notebook-instance-url の呼び出しは以下のようになります。

aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name myNotebookInstance --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com