通过 VPC 接口终端节点连接到 SageMaker - Amazon SageMaker
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

通过 VPC 接口终端节点连接到 SageMaker

您可以通过 Virtual Private Cloud (VPC) 中的SageMaker接口终端节点SageMaker直接连接到 API 或 运行时,而不是通过 Internet 连接。当您使用 VPC 接口终端节点时,您的 VPC 与 SageMaker API 或运行时之间的通信完全在 AWS 网络内安全进行。

API 和运行时支持 SageMakerAmazon Virtual Private Cloud) 接口终端节点(由 Amazon VPCAWS PrivateLink 提供支持)。 每个 VPC 终端节点都由您的 VPC 子网中一个或多个具有私有 IP 地址的弹性网络接口表示。

VPC 接口终端节点将您的 VPC 直接连接到 SageMaker API 或运行时,而无需互联网网关、NAT 设备、VPN 连接或 AWS Direct Connect 连接。VPC 中的实例不需要公有 IP 地址便可与 SageMaker API 或运行时进行通信。

您可以通过 AWS 控制台或 AWS Command Line Interface (AWS CLI) 命令创建接口终端节点来连接到 SageMaker 或 SageMaker 运行时。有关说明,请参阅创建接口终端节点

在创建 VPC 终端节点后,您可以使用以下示例 CLI 命令,这些命令使用 endpoint-url 参数指定到 SageMaker API 或运行时的接口终端节点:

aws sagemaker list-notebook-instances --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com aws sagemaker list-training-jobs --endpoint-url VPC_Endpoint_ID.api.sagemaker.Region.vpce.amazonaws.com aws sagemaker-runtime invoke-endpoint --endpoint-url VPC_Endpoint_ID.runtime.sagemaker.Region.vpce.amazonaws.com \ --endpoint-name Endpoint_Name \ --body "Endpoint_Body" \ --content-type "Content_Type" \ Output_File

如果为 VPC 终端节点启用专用 DNS 主机名,您不需要指定终端节点 URL。CLI 和 SageMaker 开发工具包默认使用的 SageMaker API DNS 主机名 (https://api.sagemaker.)Region.amazonaws.com) 解析为您的 VPC 终端节点。同样,CLI 和 SageMaker 运行时开发工具包默认使用的 SageMaker 运行时 DNS 主机名 (https://runtime.sagemaker.)Region.amazonaws.com) 解析为您的 VPC 终端节点。

SageMaker API 和运行时在同时提供 Amazon VPCSageMaker 的所有 AWS 区域中支持 VPC 终端节点。SageMaker 支持调用 VPC 内其所有 Operations。来自 AuthorizedUrl的结果
 Private Link 不支持 CreatePresignedNotebookInstanceUrl。有关如何为用户用于连接到笔记本实例的授权 URL 启用 PrivateLink 的信息,请参阅通过 VPC 接口终端节点连接到笔记本实例

要了解有关 AWS PrivateLink 的更多信息,请参阅 AWS PrivateLink 文档。请参阅 VPC 定价,了解 VPC 终端节点的价格。要了解有关 VPC 和终端节点的更多信息,请参阅 Amazon VPC。有关如何使用基于身份的 AWS Identity and Access Management策略限制访问 SageMaker API 和运行时的信息,请参阅使用基于身份的策略控制对 SageMaker API 的访问

您可以为 SageMaker 的 Amazon VPC 终端节点创建一个策略,在该策略中指定以下内容:

  • 可执行操作的委托人。

  • 可执行的操作。

  • 可对其执行操作的资源。

有关更多信息,请参阅 用户指南 中的使用 VPC 终端节点控制对服务的访问Amazon VPC。

以下示例 VPC 终端节点策略指定有权访问 VPC 接口终端节点的所有用户都可以调用名为 myEndpoint 的 SageMaker 托管终端节点。

{ "Statement": [ { "Action": "sagemaker:InvokeEndpoint", "Effect": "Allow", "Resource": "arn:aws:sagemaker:us-west-2:123456789012:endpoint/myEndpoint", "Principal": "*" } ] }

在本示例中,会拒绝以下操作:

  • 其他 SageMaker API 操作,例如 sagemaker:CreateEndpointsagemaker:CreateTrainingJob

  • 调用 myEndpoint 之外的 SageMaker 托管终端节点。

注意

在本例中,用户仍然可以从 VPC 外部调用其他 SageMaker API 操作。有关如何将 API 调用限制为该 VPC 中执行的那些调用的信息,请参阅 使用基于身份的策略控制对 SageMaker API 的访问

要通过您的 VPC 调用 SageMaker API 和运行时,您必须从位于 VPC 中的实例进行连接,或者使用 Amazon Virtual Private Network (VPN) 或 AWS Direct Connect 将您的专用网络连接到 VPC。有关 Amazon VPN 的信息,请参阅 https://docs.amazonaws.cn/vpc/latest/userguide/vpn-connections.html 用户指南 中的 Amazon Virtual Private CloudVPN 连接。有关 AWS Direct Connect 的信息,请参阅 AWS Direct Connect 用户指南 中的创建连接