Connect t SageMaker o Inside VPC - Amazon SageMaker

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

Connect t SageMaker o Inside VPC

您可以通过虚拟私有云 (VPC) 中的接口终端节点直接连接到 SageMaker API或 Amazon SageMaker Runtime,而不必通过互联网进行连接。当你使用VPC接口端点时,你VPC和 SageMakerAPI或 Runtime 之间的通信完全安全地在其中进行 AWS 网络。

SageMaker 通过VPC接口端点连接到

SageMaker API和 SageMaker Runtime 支持 Amazon Virtual Private Cloud (AmazonVPC) 接口终端节点,这些终端节点由 AWS PrivateLink。 每个VPC端点都由一个或多个弹性网络接口表示,您的VPC子网中有私有 IP 地址。例如,你内部的应用程序VPC使用 AWS PrivateLink 与 SageMaker Runtime 通信。 SageMaker反过来,运行时会与 SageMaker 端点通信。使用 AWS PrivateLink 允许您从内部调用 SageMaker 终端节点VPC,如下图所示。

A VPC 用途 AWS PrivateLink 与 SageMaker 端点通信。

VPC接口端点使用将您VPC直接连接到 SageMaker API或 SageMaker 运行时 AWS PrivateLink 无需使用互联网网关、NAT设备、VPN连接或 AWS Direct Connect 连接。您的中的实例VPC无需连接到公共互联网即可与 SageMaker API或 SageMaker Runtime 通信。

你可以创建一个 AWS PrivateLink 使用以下任一方法连接 SageMaker 或连接 SageMaker运行时的接口端点 AWS Management Console 或者 AWS Command Line Interface (AWS CLI)。 有关说明,请参阅访问和 AWS 使用接口VPC端点的服务

如果您尚未为VPC终端节点启用私有域名系统 (DNS) 主机名,请在创建终VPC端节点后,将互联网终端节点指定URL到 SageMaker API或 SageMaker 运行时。示例代码使用 AWS CLI 以下是用于指定endpoint-url参数的命令。

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 https://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因为默认主机名 (https://api.sagemaker.Region.amazon.com) 解析到您的终端节点。VPC同样,默认的 SageMaker 运行时DNS主机名 (https://runtime.sagemaker。Region.amazonaws.com) 也会解析到您的终端节点。VPC

SageMaker API和 SageMaker Runtime 全部支持VPC端点 AWS 区域 Amazon VPCSageMakerares 都可以在那里购买。 SageMaker 支持向你Operations内部的所有人拨打电话VPC。如果你使用来AuthorizedUrl
 CreatePresignedNotebookInstanceUrl命令,你的流量将通过公共互联网。您不仅可以使用VPC终端节点来访问预签名URL,而且请求必须通过互联网网关。

默认情况下,您的用户可以将预签名内容共享URL给公司网络以外的用户。为了提高安全性,您必须添加IAM权限以限制URL只能在您的网络中使用。有关IAM权限的信息,请参阅如何 AWS PrivateLink 与... 一起使用IAM

注意

为 Runt SageMaker ime 服务设置VPC接口端点时 (https://runtime.sagemaker。 Region.amazonaws.com),您必须确保在客户端的可用区中激活VPC接口终端节点,才能使私有DNS解析生效。否则,在尝试解决问题时,您可能会看到DNS失败URL。

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

利用内部资源使用 SageMaker 培训和托管 VPC

SageMaker 使用您的执行角色从 Amazon S3 存储桶和亚马逊弹性容器注册表 (AmazonECR) 下载和上传信息,与您的训练或推理容器隔离开来。如果您的内部有资源VPC,您仍然可以授予对这些资源的 SageMaker 访问权限。以下各节说明了无论是否 SageMaker 采用网络隔离,如何使您的资源可供使用。

未启用网络隔离

如果您尚未对训练作业或模型设置网络隔离,则 SageMaker 可以使用以下任一方法访问资源。

  • SageMaker 默认情况下,训练和部署的推理容器可以访问互联网。 SageMaker 容器能够访问公共互联网上的外部服务和资源,这是您的训练和推理工作负载的一部分。 SageMaker VPC如果没有VPC配置,容器就无法访问你内部的资源,如下图所示。

    SageMaker 如果VPC没有VPC配置,就无法访问您内部的资源。
  • 使用VPC配置VPC通过 elastic network interface (ENI) 与内部的资源进行通信。容器和您的资源之间的通信VPC是在您的VPC网络中安全地进行的,如下图所示。在这种情况下,您可以管理对VPC资源和互联网的网络访问。

    SageMaker 可以通过VPC配置访问您内部的资源并VPC与之通信。

采用网络隔离

如果您采用网络隔离,则 SageMaker 容器无法与您内部的资源通信VPC或进行任何网络调用,如下图所示。如果您提供了VPC配置,则下载和上传操作将通过您执行VPC。有关在使用时通过网络隔离进行托管和训练的更多信息VPC,请参阅网络隔离

SageMaker 可以通过VPC配置访问您内部的资源并VPC与之通信。

您可以为的 Amazon VPC 终端节点创建策略 SageMaker 以指定以下内容:

  • 可执行操作的主体。

  • 可执行的操作。

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

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

注意

VPC联邦信息处理标准 (FIPS) SageMaker 运行时端点不支持端点策略 runtime_InvokeEndpoint.

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

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

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

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

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

注意

在此示例中,用户仍然可以从外部 SageMaker API执行其他操作VPC。有关如何限制来自内部的API呼叫的信息VPC,请参阅使用基于身份 SageMaker API的策略控制对的访问

要为 Amazon Feature Store 创建终VPC端节 SageMaker 点,请使用以下终端节点模板代替您的 VPC_Endpoint_ID.api 以及 Region:

VPC_Endpoint_ID.api.featurestore-runtime.sagemaker.Region.vpce.amazonaws.com

要通过你的调用 SageMaker API和 SageMaker RuntimeVPC,你必须从内部的实例进行连接,VPC或者使用将你的私有网络连接到你的VPC私有网络 AWS Virtual Private Network (AWS VPN) 或 AWS Direct Connect。 有关信息 AWS VPN,请参阅《亚马逊 Virtual Private Cloud 用户指南》中的 “VPN连接”。有关信息 AWS Direct Connect,请参阅《中的创建连接AWS Direct Connect 用户指南