讓 Amazon SageMaker 澄清任務訪問您的 Amazon VPC 中的資源 - Amazon SageMaker

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

讓 Amazon SageMaker 澄清任務訪問您的 Amazon VPC 中的資源

若要控制對資料的存取和 SageMaker 澄清任務,建議您建立私有 Amazon VPC 並對其進行設定,以便無法透過公用網際網路存取您的任務。如需為處理任務建立和設定 Amazon VPC 的相關資訊,請參閱授予 Amazon VPC 中資源的 SageMaker 處理任務存取權

本文件說明如何新增符合 SageMaker 澄清任務要求的其他 Amazon VPC 組態。

為 Amazon VPC 訪問配置 SageMaker 澄清 Job

您需要在針對 Cleven 任務設定私有 Amazon VPC 時指定子網路和安全群組,並在計算訓練後偏差指標和功能貢獻,以協助說 SageMaker 明 SageMaker 模型預測時,讓任務能夠從模型取得推論。

SageMaker 澄清 Job Amazon VPC 子網和安全組

您私有 Amazon VPC 中的子網路和安全群組可以透過各種方式指派給 SageMaker 澄清任務,具體取決於您建立任務的方式。

  • SageMaker 控制台:在「儀表板」中建立工作時,請提供此資SageMaker訊。從處理功能表中選擇處理工作,然後選擇建立處理工作。在網路面板中選取 VPC 選項,然後使用下拉式清單提供子網路和安全群組。確定此面板中提供的網路隔離選項已關閉。

  • SageMaker API:使用 CreateProcessingJobAPI 的NetworkConfig.VpcConfig請求參數,如下列範例所示:

    "NetworkConfig": { "VpcConfig": { "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ], "SecurityGroupIds": [ "sg-0123456789abcdef0" ] } }
  • SageMaker Python 發套件:使用 SageMakerClarifyProcessorAPI 或 ProcessorAPI 的NetworkConfig參數,如下列範例所示:

    from sagemaker.network import NetworkConfig network_config = NetworkConfig( subnets=[ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2", ], security_group_ids=[ "sg-0123456789abcdef0", ], )

SageMaker 使用這些資訊來建立網路介面,並將它們附加到「 SageMaker 澄清」工作。網路界面提供 SageMaker 澄清任務,其中包含未連接到公用網際網路的 Amazon VPC 內的網路連線。它們也可讓「 SageMaker 澄清」工作連線到私有 Amazon VPC 中的資源。

注意

必須關閉 Cleven 工作的網路隔離選項 (預設會關閉此選項),以便 SageMaker 澄清工作可以與陰影端點通訊。 SageMaker

設定用於推論的模型 Amazon VPC

為了計算訓練後的偏差指標和解釋性,Cleven 工作需要從 SageMaker 模型中取得由 Cleven 處理工作之分析組態model_name參數所指定的推論。 SageMaker SageMaker 或者,如果您在 SageMaker Python SDK 中使用 SageMakerClarifyProcessor API,則工作需要取得ModelConfig類別所model_name指定的項目。為了達成此目的, SageMaker Cresent 工作會使用模型 (稱為陰影端點) 建立暫時端點,然後將模型的 Amazon VPC 組態套用至陰影端點。

若要將私有 Amazon VPC 中的子網路和安全群組指定給 SageMaker模型,請使用 CreateModelAPI 的VpcConfig請求參數,或在使用主控台中的 SageMaker 儀表板建立模型時提供此資訊。以下為您包含在對 VpcConfig 的呼叫內的 CreateModel 參數的範例:

"VpcConfig": { "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ], "SecurityGroupIds": [ "sg-0123456789abcdef0" ] }

您可以指定要啟動的陰影端點執行個體initial_instance_count數目,並使用 Cresent 處理工作的分析組態參數。 SageMaker 或者,如果您在 SageMaker Python SDK 中使用 SageMakerClarifyProcessor API,則工作需要取得ModelConfig類別所instance_count指定的項目。

注意

即使您只在建立陰影端點時要求一個執行個體,在不同的可用區域中,模型中至少需要兩個子網路。ModelConfig否則,影子端點將建立失敗,並出現下列錯誤:

ClientError: 裝載端點 sagemaker-clarify-endpoint-XXX 時發生錯誤:失敗。原因:找不到至少 2 個可用區域,且要求的執行個體類型 YYY 與 SageMaker 子網路重疊。

如果您的模型需要 Amazon S3 中的模型檔案,則該模型的 Amazon VPC 需要具有 Amazon S3 VPC 端點。如需為 SageMaker 模型建立和設定 Amazon VPC 的詳細資訊,請參閱讓 SageMaker 託管端點能夠存取 Amazon VPC 中的資源

設定您的私有 Amazon VPC 以 SageMaker 釐清工作

一般而言,您可以按照設定要 SageMaker 處理的私有 VPC 中的步驟設定您的私有 Amazon VPC 以進行 SageMaker 澄清任務。以下是 SageMaker 澄清工作的一些亮點和特殊要求。

連線至 Amazon VPC 外部的資源

如果您設定 Amazon VPC 使其無法存取公用網際網路,則需要一些額外的設定,才能授與 SageMaker 澄清任務存取 Amazon VPC 以外的資源和服務。例如,需要 Amazon S3 VPC 端點,因為 SageMaker 澄清任務需要從 S3 儲存貯體載入資料集,並將分析結果儲存到 S3 儲存貯體。如需詳細資訊,請參閱建立指南中的建立 Amazon S3 VPC 端點。此外,如果 SageMaker 澄清工作需要從陰影端點取得推論,則需要呼叫其他幾個 AWS 服務。

  • 建立 Amazon SageMaker API 服務虛擬私人雲端端點: SageMaker 澄清任務需要呼叫 Amazon SageMaker API 服務來操控陰影端點,或描述 Amazon VPC 驗證的 SageMaker 模型。您可以遵循使用 AWS PrivateLink部落格保護所有 Amazon SageMaker API 呼叫中提供的指引,建立 Amazon SageMaker API VPC 端點,以便讓 SageMaker 澄清任務進行服務呼叫。請注意,Amazon SageMaker API 服務的服務名稱為com.amazonaws.region.sagemaker.api,其中區域是您的 Amazon VPC 所在區域的名稱。

  • 建立 Amazon SageMaker 執行階段 VPC 端點: SageMaker 澄清任務需要呼叫 Amazon SageMaker 執行階段服務,將呼叫路由到陰影端點。設定步驟與 Amazon SageMaker API 服務的設定步驟類似。請注意,Amazon SageMaker 執行階段服務的服務名稱為com.amazonaws.region.sagemaker.runtime,其中域是 Amazon VPC 所在區域的名稱。

設定 Amazon VPC 安全群組

SageMaker 當以下列其中一種方式指定兩個或多個處理執行個體時,澄清工作支援分散式處理:

  • SageMaker 主控台執行個體計數是在 [建立處理 Job] 頁面上 [工作設定] 面板的 [資源配置] 部分中指定。

  • SageMaker APIInstanceCount在您使用 CreateProcessingJobAPI 建立工作時指定。

  • SageMaker Python SDK:在instance_count使用 SageMakerClarifyProcessorAPI 或處理器 API 時指定。

在分散式處理中,必須允許同一處理任務內不同執行個體之間的通訊。若要執行此操作,請為安全群組設定規則,允許相同安全群組成員彼此間的傳入連線。如需資訊,請參閱安全群組規則