

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

# 在您的 VPC 中连接到 SageMaker AI
<a name="interface-vpc-endpoint"></a>

您可以通过虚拟私有云 (VPC) 中的[接口终端节点](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/vpce-interface.html)直接连接到 SageMaker API 或 Amazon SageMaker Runtime，而不必通过互联网进行连接。当您使用 VPC 接口终端节点时，您的 VPC 与 SageMaker AI API 或运行时之间的通信将在 Amazon 网络中完全安全地进行。

## 通过 VPC 接口终端节点连接到 SageMaker AI
<a name="interface-vpc-endpoint-sagemaker-connect"></a>

 SageMaker API 和 SageMaker AI 运行时支持由提供支持的[亚马逊虚拟私有云](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_Introduction.html)（亚马逊 VPC）接口终端节点[Amazon PrivateLink](https://www.amazonaws.cn/privatelink)。每个 VPC 端点都由您的 VPC 子网中一个或多个使用私有 IP 地址的[弹性网络接口](https://docs.amazonaws.cn/AWSEC2/latest/UserGuide/using-eni.html)代表。例如，您的 VPC 内的应用程序用于 Amazon PrivateLink 与 SageMaker AI Runtime 通信。 SageMaker 反过来，AI 运行时会与 SageMaker AI 端点通信。使用 Amazon PrivateLink 允许您从 VPC 内调用 SageMaker AI 终端节点，如下图所示。

![\[\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/security-vpc-SM.png)


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

您可以使用或 Amazon Command Line Interface (Amazon CLI) 创建 Amazon PrivateLink 接口端点以 SageMaker 连接到 SageMaker AI Amazon Web Services 管理控制台 或 AI 运行时。有关说明，请参阅[使用接口 VPC 终端节点访问 Amazon 服务](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/vpce-interface.html#create-interface-endpoint)。

如果您尚未为 VPC 终端节点启用私*有域名系统 (DNS) 主机名，请在创建 VPC 终端节点后*，指定 SageMaker API 或 SageMaker AI 运行时的互联网终端节点 URL。以下是使用 Amazon 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 AI 运行时 DNS 主机名 (https://runtime.sagemaker。 *Region*.amazonaws.com) 也会解析到您的 VPC 终端节点。

在 A [mazon VPC 和 SageMaker AI 可用的所有 Amazon Web Services 区域 区域， SageMaker API 和 A [SageMaker I](https://docs.amazonaws.cn/general/latest/gr/rande.html#sagemaker_region) 运行时都支持 VPC](https://docs.amazonaws.cn/general/latest/gr/rande.html#vpc_region) 终端节点。 SageMaker AI 支持在您的 VPC [https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_Operations.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_Operations.html)内对其所有设备进行调用。如果使用 [  CreatePresignedNotebookInstanceUrl](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html) 命令的 `AuthorizedUrl`，您的流量将通过公共互联网传输。您不能只使用 VPC 端点访问预先指定的 URL，请求必须通过互联网网关。

 默认情况下，用户可以与企业网络以外的人共享预先指定的 URL。为提高安全性，您必须添加 IAM 权限，以限制 URL 只能在网络内使用。有关 IAM 权限的信息，请参阅[如何 Amazon PrivateLink 使用 IAM](https://docs.amazonaws.cn/vpc/latest/privatelink/security_iam_service-with-iam.html)。

**注意**  
为 SageMaker AI Runtime 服务设置 VPC 接口终端节点时 (https://runtime.sagemaker。 `Region`.amazonaws.com)，您必须确保在客户端的可用区中激活 VPC 接口终端节点，才能使私有 DNS 解析起作用。否则，在尝试解析 URL 时可能会出现 DNS 故障。

要了解更多信息 Amazon PrivateLink，请参阅[Amazon PrivateLink 文档](https://docs.amazonaws.cn/AmazonVPC/latest/UserGuide/VPC_Introduction.html#what-is-privatelink)。请参阅 [Amazon PrivateLink 定价](https://www.amazonaws.cn/privatelink/pricing/)，了解 VPC 端点的价格。要了解有关 VPC 和端点的更多信息，请参阅 [Amazon VPC](https://www.amazonaws.cn/vpc/)。有关如何使用基于身份的 Amazon Identity and Access Management 策略来限制对 SageMaker API 和 SageMaker AI 运行时的访问权限的信息，请参阅。[使用基于身份的策略控制对 SageMaker AI API 的访问权限](security_iam_id-based-policy-examples.md#api-access-policy)

## 在您的 VPC 内使用 SageMaker 培训和托管资源
<a name="use-resources-vpc"></a>

SageMaker AI 使用您的执行角色从 Amazon S3 存储桶和亚马逊弹性容器注册表 (Amazon ECR) Container Registry 下载和上传信息，与您的训练或推理容器隔离开来。如果您的资源位于您的 VPC 内，您仍然可以向 SageMaker AI 授予对这些资源的访问权限。以下各节介绍如何在网络隔离或不使用网络隔离的情况下向 SageMaker AI 提供您的资源。

### 未启用网络隔离
<a name="use-resources-vpc-flat"></a>

如果您尚未在训练作业或模型上设置网络隔离， SageMaker AI 可以使用以下任一方法访问资源。
+ SageMaker 默认情况下，训练和部署的推理容器可以访问互联网。 SageMaker 作为训练和推理工作负载的一部分，AI 容器能够访问公共互联网上的外部服务和资源。 SageMaker 如果没有 VPC 配置，AI 容器就无法访问您的 VPC 内的资源，如下图所示。  
![\[\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/security-vpc-no-config.png)
+ 使用 VPC 配置，通过弹性网络接口 (ENI) 与 VPC 内的资源进行通信。容器和 VPC 内资源之间的通信在您的 VPC 网络中安全地进行，如下图所示。在这种情况下，您可以管理对 VPC 资源和互联网的网络访问。  
![\[\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/security-vpc-config.png)

### 采用网络隔离
<a name="use-resources-vpc-isolated"></a>

如果您采用网络隔离，则 SageMaker AI 容器无法与您的 VPC 内的资源通信或进行任何网络调用，如下图所示。如果您提供 VPC 配置，则将通过您的 VPC 运行下载和上传操作。有关使用 VPC 时通过网络隔离进行托管和训练的更多信息，请参阅[网络隔离](mkt-algo-model-internet-free.md#mkt-algo-model-internet-free-isolation)。

![\[\]](http://docs.amazonaws.cn/sagemaker/latest/dg/images/security-network-isolation-no-config.png)


## 为 A SageMaker I 创建 VPC 终端节点策略
<a name="api-private-link-policy"></a>

您可以为 A SageMaker I 的 Amazon VPC 终端节点创建策略，以指定以下内容：
+ 可执行操作的主体。
+ 可执行的操作。
+ 可对其执行操作的资源。

有关更多信息，请参阅**《Amazon VPC 用户指南》中的[使用 VPC 端点控制对服务的访问权限](https://docs.amazonaws.cn/vpc/latest/userguide/vpc-endpoints-access.html)。

**注意**  
联邦信息处理标准 (FIPS) 的 SageMaker AI 运行时终端节点不支持 VPC 终端节点策略。[https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html](https://docs.amazonaws.cn/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html)

以下示例 VPC 终端节点策略指定允许有权访问 VPC 接口终端节点的所有用户调用名为的 SageMaker AI 托管终端节点`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 AI 托管终端节点。`myEndpoint`

**注意**  
在此示例中，用户仍然可以从 VPC 外部执行其他 SageMaker API 操作。有关如何将 API 调用限制为该 VPC 中执行的那些调用的信息，请参阅 [使用基于身份的策略控制对 SageMaker AI API 的访问权限](security_iam_id-based-policy-examples.md#api-access-policy)。

## 为 Amazon SageMaker 功能商店创建 VPC 终端节点策略
<a name="api-private-link-feature-store"></a>

 要为 Amazon Feature Store 创建 VPC 终端节 SageMaker 点，请使用以下终端节点模板，替换您的*VPC\$1Endpoint\$1ID.api*和*Region*：

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



## 将您的专用网络连接到 VPC
<a name="notebook-private-link-vpn"></a>

要通过您的 VPC 调用 SageMaker AP SageMaker I 和 AI 运行时，您必须从 VPC 内的实例进行连接，或者使用 Amazon Virtual Private Network (Amazon VPN) 或将您的私有网络连接到 VPC Amazon Direct Connect。有关信息 Amazon VPN，请参阅《*Amazon Virtual Private Cloud 用户指南》*[中的 VPN 连接](https://docs.amazonaws.cn/vpc/latest/userguide/vpn-connections.html)。有关信息 Amazon Direct Connect，请参阅 D [i Amazon rect Connect 用户指南中的创建](https://docs.amazonaws.cn/directconnect/latest/UserGuide/create-connection.html)*连接*。