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

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

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

SageMaker ノートブックインスタンスSageMakerは、Amazon VPC と の両方 AWS リージョン が利用可能なすべての で VPC エンドポイントをサポートします。 https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region

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

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 内からの接続のみにアクセスを制限するには、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 内で に接続する」を参照してください。2 番目の例では、aws:SourceVpce の値の 1 つは、ノートブックインスタンスのインターフェイスエンドポイントの ID です。もう 1 つは API のインターフェイスエンドポイントの ID です SageMaker 。

通常、接続しようとする前に 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