本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通过VPC接口端点连接到笔记本实例
您可以VPC通过虚拟私有云 (VPC) 中的接口终端节点从您的笔记本实例进行连接,而不必通过公共互联网进行连接。当您使用VPC接口终端节点时,您VPC和笔记本实例之间的通信将在 AWS 网络中完全安全地进行。
SageMaker 笔记本实例支持由提供支持的亚马逊虚拟私有云 (AmazonVPC) 接口终端节点AWS PrivateLink。每个VPC端点都由一个或多个弹性网络接口表示,您的VPC子网中有私有 IP 地址。
注意
在创建用于连接笔记本实例的接口VPC终端节点之前,请创建要连接的接口VPC终端节点 SageMaker API。这样,当用户打电话时 CreatePresignedNotebookInstanceUrl为了让URL连接到笔记本实例,该调用还需要通过接口VPC端点。有关信息,请参阅Connect 连接到你的 SageMaker AI VPC。
您可以使用 AWS Management Console 或 AWS Command Line Interface (AWS CLI) 命令创建接口终端节点以连接到您的笔记本实例。有关说明,请参阅创建接口端点。请务必为要VPC从中连接到笔记本实例的所有子网创建接口终端节点。
创建接口端点时,请指定 aws.sagemaker。 Region
.notebook 作为服务名称。创建终端节点后,DNS为您的VPCVPC终端节点启用私有功能。任何使用 SageMaker API AWS CLI、或控制台从内部连接到笔记本实例的人都通过VPC终端节点而不是公共互联网VPC连接到笔记本实例。
SageMaker 笔记本实例支持所有可用 Amaz AWS 区域 on VPC 和 A SageMaker I 的VPC终端节点。
将您的专用网络连接到您的 VPC
要通过您的笔记本实例连接VPC,您要么必须从内部的实例进行连接,要么使用 AWS Virtual Private Network (AWS VPN) 或VPC,将您的私有网络连接到您的VPC笔记本实例 AWS Direct Connect。有关信息 AWS VPN,请参阅 Amazon Virtual Private Cloud 用户指南中的VPN连接。有关信息 AWS Direct Connect,请参阅 D i AWS rect Connect 用户指南中的创建连接。
为 SageMaker AI 笔记本实例创建VPC终端节点策略
您可以为 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,外部的个人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:SourceVpce
条件键而不是 aws:SourceVpc:
{ "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。有关更多信息,请参阅 Connect 连接到你的 SageMaker AI VPC。在第二个示例中,aws:SourceVpce
的值是笔记本实例的接口终端节点的 ID。另一个是的接口端点的 ID SageMaker API。
此处的策略示例包括
DescribeNotebookInstance,因为通常你会在尝试连接InService
之前致电DescribeNotebookInstance
确保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-url
(AuthorizedUrl
) 可在互联网上的任何地方使用。
对于这两个调用,如果您没有为VPC终端节点启用私有DNS主机名,或者您使用的是在 2018 年 8 月 13 日之前发布的版本,则必须在调用URL中指定终端节点。 AWS SDK例如,对 create-presigned-notebook-instance-url
的调用为:
aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name
myNotebookInstance
--endpoint-urlVPC_Endpoint_ID
.api.sagemaker.Region
.vpce.amazonaws.com