允許 Amazon SageMaker Clarify 任務存取您 Amazon VPC 中的資源 - Amazon SageMaker AI

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

允許 Amazon SageMaker Clarify 任務存取您 Amazon VPC 中的資源

為了控制對您的資料和 SageMaker Clarify 任務的存取,建議您建立一個私有 Amazon VPC,並設定為任務無法經由公用網際網路存取。有關建立和配置 Amazon VPC 以處理作業的資訊,請參閱允許 SageMaker Processing 工作存取您的 Amazon VPC 中的資源

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

設定 SageMaker Clarify 任務存取的 Amazon VPC

設定私有 Amazon VPC for SageMaker Clarify 任務時,您需要指定子網路和安全群組,並在運算訓練後偏差指標和特徵貢獻時,讓任務能夠從 SageMaker AI 模型取得推論,以協助解釋模型預測。

SageMaker Clarify 任務 Amazon VPC 子網路和安全群組

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

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

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

    "NetworkConfig": { "VpcConfig": { "Subnets": [ "subnet-0123456789abcdef0", "subnet-0123456789abcdef1", "subnet-0123456789abcdef2" ], "SecurityGroupIds": [ "sg-0123456789abcdef0" ] } }
  • SageMaker Python SDK:使用 SageMakerClarifyProcessor API 的 NetworkConfig 參數,或 Processor API,如下列範例所示:

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

SageMaker AI 使用資訊來建立網路介面,並將其連接至 SageMaker Clarify 任務。網路介面會為 SageMaker Clarify 提供 Amazon VPC 內的網路連線,該連線不會連至公用網際網路。它們也可讓 SageMaker Clarify 任務連線到私有 Amazon VPC 中的資源。

注意

必須關閉 SageMaker Clarify 任務的網路隔離選項 (預設會關閉此選項),以便 SageMaker Clarify 任務可以與影子端點通訊。

設定用於推論的模型 Amazon VPC

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

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

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

您可以使用 SageMaker Clarify 處理任務的分析組態 initial_instance_count 參數,指定要啟動的影子端點執行個體數目。或者,如果您在 SageMaker AI Python SDK 中使用 SageMakerClarifyProcessor API,任務需要取得 ModelConfig 類別instance_count指定的 。

注意

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

ClientError:託管端點 sagemaker-clarify-endpoint-XXX 錯誤:失敗。原因:找不到至少 2 個與 SageMaker AI 子網路重疊之請求執行個體類型 YYY 的可用區域 (YY)。

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

設定 SageMaker Clarify 任務存取私有 Amazon VPC

一般來說,您可以按照為 SageMaker 處理配置您的私有 VPC為 SageMaker 澄清作業配置您的私有亞馬遜 VPC。以下是 SageMaker Clarify 任務的數個重點與特殊要求。

連線至 Amazon VPC 外部的資源

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

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

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

設定 Amazon VPC 安全群組

當以下列其中一種方式指定兩個或多個處理執行個體時,SageMaker Clarify 任務會支援分散式處理:

  • SageMaker AI 主控台執行個體計數是在建立處理任務頁面上任務設定面板的資源組態部分中指定。

  • SageMaker API:在您使用 CreateProcessingJob API 建立任務時指定 InstanceCount

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

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