在您的 VPC 中連線到 SageMaker AI - Amazon SageMaker AI

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

在您的 VPC 中連線到 SageMaker AI

您可以透過在虛擬私有雲端 (VPC) 內的介面端點直接連接至 SageMaker API 或 Amazon SageMaker 執行期,而無需連接至網際網路。當您使用 VPC 介面端點時,VPC 與 SageMaker AI API 或執行期之間的通訊會完全安全地在 AWS 網路中執行。

透過 VPC 介面端點連線至 SageMaker AI

SageMaker API 和 SageMaker AI 執行時期支援 Amazon Virtual Private Cloud (Amazon VPC) 介面端點,這些端點採用 AWS PrivateLink 技術。每個 VPC 端點皆會由一個或多個在您的 VPC 子網路上具私有 IP 地址的彈性網路介面來表示。例如,VPC 內的應用程式會使用 AWS PrivateLink 與 SageMaker AI 執行期通訊。SageMaker AI 執行時期會依序與 SageMaker AI 端點進行通訊。使用 AWS PrivateLink 可讓您從 VPC 內叫用 SageMaker AI 端點,如下圖所示。

VPC 使用 AWS PrivateLink 與 SageMaker AI 端點通訊。

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 服務

如果您尚未為 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 的所有 AWS 區域 中支援 VPC 端點。 https://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_regionSageMaker AI 支援在您的 VPC 內呼叫其所有 Operations。如果您使用來自 CreatePresignedNotebookInstanceUrl 命令的 AuthorizedUrl,您的流量將通過公有網際網路。您無法只使用 VPC 端點來存取預先簽章的 URL,請求必須通過網際網路閘道。

根據預設,您的使用者可以將預先簽章的 URL 分享給公司網路以外的人員。為了增加安全性,您必須新增 IAM 許可,以限制 URL 只能在您的網路內使用。如需 IAM 許可的詳細資訊,請參閱如何使用 AWS PrivateLink IAM

注意

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

若要進一步了解 AWS PrivateLink,請參閱 AWS PrivateLink 文件。請參閱AWS PrivateLink 定價以取得 VPC 端點的價格。若要進一步了解 VPC 與端點,請參閱 Amazon VPC。如需有關如何使用身分型 AWS Identity and Access Management 政策來限制對 SageMaker API 和 SageMaker AI 執行期的存取的資訊,請參閱 使用身分型政策控制對 SageMaker AI API 的存取

使用 SageMaker 訓練與使用您的 VPC 內的資源託管

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

未啟用網路隔離

如果您尚未在訓練任務或模型上設定網路隔離,SageMaker AI 可以使用下列其中一種方法存取資源。

  • 根據預設,SageMaker 訓練和部署的推論容器可以存取網際網路。SageMaker AI 容器可以存取公有網際網路的外部服務和資源,做為訓練和推論工作負載的一部分。如果沒有 VPC 組態,SageMaker AI 容器將無法存取您 VPC 內的資源,如下圖所示。

    SageMaker AI 無法在沒有 VPC 組態的情況下存取您 VPC 內的資源。
  • 使用 VPC 組態透過彈性網路介面 (ENI) 與您的 VPC 內的資源進行通訊。容器與您的 VPC 中資源之間的通訊會安全地在您的 VPC 網路中進行,如下圖所示。在這種情況下,您可以管理對您的 VPC 資源和網際網路的網路存取。

    SageMaker AI 可以在具有 VPC 組態的情況下存取您的 VPC 中的資源並與之通訊。

有網路隔離

如果您使用網路隔離,SageMaker AI 容器無法與您 VPC 內的資源通訊或進行任何網路呼叫,如下圖所示。如果您提供 VPC 組態,則下載和上傳作業將透過您的 VPC 執行。如需在使用 VPC 時透過網路隔離進行託管和訓練的更多相關資訊,請參閱網路隔離

SageMaker AI 可以在具有 VPC 組態的情況下存取您的 VPC 中的資源並與之通訊。

您可以為 SageMaker AI 的 Amazon VPC 端點建立政策,以指定下列各項:

  • 可執行動作的主體。

  • 可執行的動作。

  • 可供執行動作的資源。

如需詳細資訊,請參閱 Amazon VPC 使用者指南中的使用 VPC 端點控制服務的存取

注意

對於 runtime_InvokeEndpoint,聯邦資訊處理標準 (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:CreateEndpointsagemaker:CreateTrainingJob

  • 調用 myEndpoint 以外的 SageMaker AI 託管端點。

注意

在這個範例中,使用者仍然可以從 VPC 外部執行其他 SageMaker API 動作。如需有關如何僅限於從 VPC 內進行 API 呼叫的資訊,請參閱使用身分型政策控制對 SageMaker AI API 的存取

若要為 Amazon SageMaker Feature Store 建立 VPC 端點,請使用下列端點範本,取代您的 VPC_Endpoint_ID.apiRegion

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

若要透過您的 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 連線。如需 的詳細資訊 AWS Direct Connect,請參閱 AWS Direct Connect 使用者指南中的建立連線