本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Connect t SageMaker o Inside VPC
您可以通过虚拟私有云 (VPC) 中的接口终端节点直接连接到 SageMaker API或 Amazon SageMaker Runtime,而不必通过互联网进行连接。当您使用VPC接口端点时,您VPC和 SageMakerAPI或 Runtime 之间的通信将在 AWS 网络中完全安全地进行。
SageMaker 通过VPC接口端点连接到
SageMaker API和 SageMaker Runtime 支持由提供支持的亚马逊虚拟私有云 (AmazonVPC) 接口终端节点AWS PrivateLink
VPC接口端点 AWS PrivateLink 无需使用互联网网关、NAT设备、连接 SageMaker API或VPN连接,即可将您VPC直接连接到或 AWS Direct Connect Runt SageMaker ime。您的中的实例VPC无需连接到公共互联网即可与 SageMaker API或 SageMaker Runtime 通信。
您可以使用或 AWS Command Line Interface (AWS CLI) 创建 AWS PrivateLink 接口端点来连接 SageMaker 或连接到 SageMaker Runtime。 AWS Management Console 有关说明,请参阅使用接口VPC终端节点访问 AWS 服务。
如果您尚未为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-urlVPC_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-nameEndpoint_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 在 Amazon VPC 和 SageMakerares 可用的所有 AWS 区域 地方都支持VPC终端节点。 SageMaker 支持向你Operations
内部的所有人拨打电话VPC。如果你使用来AuthorizedUrl
自
CreatePresignedNotebookInstanceUrl命令,你的流量将通过公共互联网。您不仅可以使用VPC终端节点来访问预签名URL,而且请求必须通过互联网网关。
默认情况下,您的用户可以将预签名内容共享URL给公司网络以外的用户。为了提高安全性,您必须添加IAM权限以限制URL只能在您的网络中使用。有关IAM权限的信息,请参阅如何 AWS PrivateLink 使用IAM。
注意
为 Runt SageMaker ime 服务设置VPC接口端点时 (https://runtime.sagemaker。
.amazonaws.com),您必须确保在客户端的可用区中激活VPC接口终端节点,才能使私有DNS解析生效。否则,在尝试解决问题时,您可能会看到DNS失败URL。Region
要了解更多信息 AWS PrivateLink,请参阅AWS PrivateLink 文档。有关VPC终端节点的AWS PrivateLink 价格
利用内部资源使用 SageMaker 培训和托管 VPC
SageMaker 使用您的执行角色从 Amazon S3 存储桶和亚马逊弹性容器注册表 (AmazonECR) 下载和上传信息,与您的训练或推理容器隔离。如果您的内部有资源VPC,您仍然可以授予对这些资源的 SageMaker 访问权限。以下各节说明了无论是否 SageMaker 采用网络隔离,如何使您的资源可供使用。
未启用网络隔离
如果您尚未对训练作业或模型设置网络隔离,则 SageMaker 可以使用以下任一方法访问资源。
-
SageMaker 默认情况下,训练和部署的推理容器可以访问互联网。 SageMaker 容器能够访问公共互联网上的外部服务和资源,这是您的训练和推理工作负载的一部分。 SageMaker VPC如果没有VPC配置,容器就无法访问你内部的资源,如下图所示。
-
使用VPC配置VPC通过 elastic network interface (ENI) 与内部的资源进行通信。容器和您的资源之间的通信VPC是在您的VPC网络中安全地进行的,如下图所示。在这种情况下,您可以管理对VPC资源和互联网的网络访问。
采用网络隔离
如果您采用网络隔离,则 SageMaker 容器无法与您内部的资源通信VPC或进行任何网络调用,如下图所示。如果您提供了VPC配置,则下载和上传操作将通过您执行VPC。有关在使用时通过网络隔离进行托管和训练的更多信息VPC,请参阅网络隔离。
为创建VPC终端节点策略 SageMaker
您可以为的 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:CreateEndpoint
和sagemaker:CreateTrainingJob
。 -
调用除之外的 SageMaker
myEndpoint
托管终端节点。
注意
在此示例中,用户仍然可以从外部 SageMaker API执行其他操作VPC。有关如何限制来自内部的API呼叫的信息VPC,请参阅使用基于身份 SageMaker API的策略控制对的访问。
为 Amazon F SageMaker eature Store 创建VPC终端节点策略
要为 Amazon Feature Store 创建终VPC端节 SageMaker 点,请使用以下终端节点模板代替您的 VPC_Endpoint_ID.api
以及 Region
:
VPC_Endpoint_ID.api
.featurestore-runtime.sagemaker.Region
.vpce.amazonaws.com
将您的专用网络连接到您的 VPC
要通过调用 SageMaker API和 SageMaker RuntimeVPC,必须从内部的实例进行连接,VPC或者使用 AWS Virtual Private Network (AWS VPN) 或,将您的私有网络连接到您的VPC私有网络 AWS Direct Connect。有关信息 AWS VPN,请参阅 Amazon Virtual Private Cloud 用户指南中的VPN连接。有关信息 AWS Direct Connect,请参阅 D i AWS rect Connect 用户指南中的创建连接。