VPC インターフェイスエンドポイントを介してノートブックインスタンスに接続する - Amazon SageMaker

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

VPC インターフェイスエンドポイントを介してノートブックインスタンスに接続する

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

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

注記

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

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

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

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

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

VPC 内からの接続のみにアクセスを制限するには、VPC 内からの呼び出しのみにアクセスを制限する AWS Identity and Access Management ポリシーを作成します。次に、 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 のインターフェースエンドポイントも作成していることを前提としています。詳細については、「VPC SageMaker 内へのConnect」を参照してください。2 番目の例では、aws:SourceVpce の値の 1 つは、ノートブックインスタンスのインターフェイスエンドポイントの ID です。もう 1 つは SageMaker API のインターフェースエンドポイントの ID です。

通常、接続しようとする前に DescribeNotebookInstance を呼び出して NotebookInstanceStatusInService であることを確認するため、こちらでのポリシーの例には 
 DescribeNotebookInstance が含まれています。例:

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