

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

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

您可以透過在虛擬私有雲端 (VPC) 內的[介面端點](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html)直接連接至 SageMaker API 或 Amazon SageMaker 執行期，而無需連接至網際網路。當您使用 VPC 介面端點時，VPC 與 SageMaker AI API 或執行期之間的通訊會完全安全地在 AWS 網路中執行。

## 透過 VPC 介面端點連線至 SageMaker AI
<a name="interface-vpc-endpoint-sagemaker-connect"></a>

SageMaker API 和 SageMaker AI 執行時期支援 [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html) (Amazon VPC) 介面端點，這些端點採用 [AWS PrivateLink](https://aws.amazon.com/privatelink) 技術。每個 VPC 端點皆會由一個或多個在您的 VPC 子網路上具私有 IP 地址的[彈性網路介面](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html)來表示。例如，VPC 內的應用程式會使用 AWS PrivateLink 與 SageMaker AI 執行期通訊。SageMaker AI 執行時期會依序與 SageMaker AI 端點進行通訊。使用 AWS PrivateLink 可讓您從 VPC 內叫用 SageMaker AI 端點，如下圖所示。

![\[\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/security-vpc-SM.png)


VPC 介面端點使用 將您的 VPC 直接連線至 SageMaker API 或 SageMaker AI 執行期， AWS PrivateLink 而無需使用網際網路閘道、NAT 裝置、VPN 連接或 Direct Connect 連線。您的 VPC 中的執行個體不需要連線到公用網際網路，即可與 SageMaker API 或 SageMaker AI 執行時期進行通訊。

您可以使用 或 AWS Command Line Interface () 建立 AWS PrivateLink 介面端點以連線至 SageMaker AI AWS 管理主控台 或 SageMaker AI 執行期AWS CLI。如需說明，請參閱[使用介面 VPC 端點存取 AWS 服務](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpce-interface.html#create-interface-endpoint)。

如果您尚未為 VPC 端點啟用私人網域名稱系統 (DNS) 主機名稱，則*在建立您的 VPC　端點後*，請將網際網路端點 URL 指定給 SageMaker API 或 SageMaker AI 執行時期。使用 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 AI 執行時期 DNS 主機名稱 (https://runtime.sagemaker.*Region*.amazonaws.com) 也會解析為您的 VPC 端點。

SageMaker API 和 SageMaker AI 執行期支援 Amazon VPC 和 [SageMaker AI](https://docs.aws.amazon.com/general/latest/gr/rande.html#sagemaker_region) AWS 區域 可用的所有 中的 VPC 端點。 [https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region](https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region)SageMaker AI 支援在您的 VPC 內呼叫其所有 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Operations.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Operations.html)。如果您使用來自 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreatePresignedNotebookInstanceUrl.html) 命令的 `AuthorizedUrl`，您的流量將通過公有網際網路。您無法只使用 VPC 端點來存取預先簽章的 URL，請求必須通過網際網路閘道。

 根據預設，您的使用者可以將預先簽章的 URL 分享給公司網路以外的人員。為了增加安全性，您必須新增 IAM 許可，以限制 URL 只能在您的網路內使用。如需 IAM 許可的詳細資訊，請參閱[如何使用 AWS PrivateLink IAM](https://docs.aws.amazon.com/vpc/latest/privatelink/security_iam_service-with-iam.html)。

**注意**  
在為 SageMaker AI 執行時期服務 (https://runtime.sagemaker.`Region`.amazonaws.com) 設定 VPC 介面端點時，您必須確定 VPC 介面端點已在用戶端的可用區域中啟動，才能讓私有 DNS 解析正常運作。否則，您可能會在嘗試解析 URL 時看到 DNS 失敗。

若要進一步了解 AWS PrivateLink，請參閱 [AWS PrivateLink 文件](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Introduction.html#what-is-privatelink)。請參閱[AWS PrivateLink 定價](https://aws.amazon.com/privatelink/pricing/)以取得 VPC 端點的價格。若要進一步了解 VPC 與端點，請參閱 [Amazon VPC](https://aws.amazon.com/vpc/)。如需有關如何使用身分型 AWS Identity and Access Management 政策來限制對 SageMaker API 和 SageMaker AI 執行期的存取的資訊，請參閱 [使用身分型政策控制對 SageMaker AI API 的存取](security_iam_id-based-policy-examples.md#api-access-policy)。

## 使用 SageMaker 訓練與使用您的 VPC 內的資源託管
<a name="use-resources-vpc"></a>

SageMaker AI 會使用您的執行角色，從 Amazon S3 儲存貯體和 Amazon Elastic Container Registry (Amazon ECR) 下載和上傳資訊，並與您的訓練或推論容器隔離。如果您有位於您的 VPC 內的資源，您仍然可以授予 SageMaker AI 存取這些資源的權限。以下各節說明如何在具有或沒有網路隔離的情況下，讓 SageMaker AI 可以使用您的資源。

### 未啟用網路隔離
<a name="use-resources-vpc-flat"></a>

如果您尚未在訓練任務或模型上設定網路隔離，SageMaker AI 可以使用下列其中一種方法存取資源。
+ 根據預設，SageMaker 訓練和部署的推論容器可以存取網際網路。SageMaker AI 容器可以存取公有網際網路的外部服務和資源，做為訓練和推論工作負載的一部分。如果沒有 VPC 組態，SageMaker AI 容器將無法存取您 VPC 內的資源，如下圖所示。  
![\[\]](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/security-vpc-no-config.png)
+ 使用 VPC 組態透過彈性網路介面 (ENI) 與您的 VPC 內的資源進行通訊。容器與您的 VPC 中資源之間的通訊會安全地在您的 VPC 網路中進行，如下圖所示。在這種情況下，您可以管理對您的 VPC 資源和網際網路的網路存取。  
![\[\]](http://docs.aws.amazon.com/zh_tw/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.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/security-network-isolation-no-config.png)


## 為 SageMaker AI 建立 VPC 端點政策
<a name="api-private-link-policy"></a>

您可以為 SageMaker AI 的 Amazon VPC 端點建立政策，以指定下列各項：
+ 可執行動作的主體。
+ 可執行的動作。
+ 可供執行動作的資源。

如需詳細資訊，請參閱 *Amazon VPC 使用者指南*中的[使用 VPC 端點控制服務的存取](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints-access.html)。

**注意**  
對於 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_runtime_InvokeEndpoint.html)，聯邦資訊處理標準 (FIPS) SageMaker AI 執行時期端點不支援 VPC 端點政策。

以下 VPC 端點政策範例指定所有可存取 VPC 介面端點的使用者，都可以調用名為 `myEndpoint` 的 SageMaker AI 託管端點。

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

在這個範例中，拒絕以下各項：
+ 其他 SageMaker API 動作，例如 `sagemaker:CreateEndpoint` 和 `sagemaker:CreateTrainingJob`。
+ 調用 `myEndpoint` 以外的 SageMaker AI 託管端點。

**注意**  
在這個範例中，使用者仍然可以從 VPC 外部執行其他 SageMaker API 動作。如需有關如何僅限於從 VPC 內進行 API 呼叫的資訊，請參閱[使用身分型政策控制對 SageMaker AI API 的存取](security_iam_id-based-policy-examples.md#api-access-policy)。

## 為 Amazon SageMaker Feature Store 建立 VPC 端點政策
<a name="api-private-link-feature-store"></a>

 若要為 Amazon SageMaker Feature Store 建立 VPC 端點，請使用下列端點範本，取代您的 *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 API 和 SageMaker AI 執行時期，您必須從 VPC 內的執行個體進行連線，或使用 AWS Virtual Private Network (Site-to-Site VPN) 或 Direct Connect將私有網路連線到您的 VPC。如需 的詳細資訊 Site-to-Site VPN，請參閱《*Amazon Virtual Private Cloud 使用者指南*》中的 [VPN 連線](https://docs.aws.amazon.com/vpc/latest/userguide/vpn-connections.html)。如需 的詳細資訊 AWS Direct Connect，請參閱 *AWS Direct Connect 使用者指南*中的[建立連線](https://docs.aws.amazon.com/directconnect/latest/UserGuide/create-connection.html)。