授予使用者許可,以在 ML 生命週期中使用大型資料 - Amazon SageMaker AI

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

授予使用者許可,以在 ML 生命週期中使用大型資料

使用大於 10 GB CSV 格式或 2.5 GB Parquet 格式之資料集的 Amazon SageMaker Canvas 使用者需要大型資料處理的特定許可。這些許可對於管理整個機器學習生命週期的大規模資料至關重要。當資料集超過指定的閾值或應用程式的本機記憶體容量時, SageMaker Canvas 會使用 Amazon EMR Serverless 進行高效率處理。這適用於:

  • 資料匯入:使用隨機或分層取樣匯入大型資料集。

  • 資料準備:將已處理的資料從 Canvas 中的 Data Wrangler 匯出至 Amazon S3、新 Canvas 資料集或 Canvas 模型。

  • 模型建置:在大型資料集上訓練模型。

  • 推論:對大型資料集進行預測。

根據預設, SageMaker Canvas 會使用 EMR Serverless 以下列應用程式設定執行這些遠端任務:

  • 預先初始化容量:未設定

  • 應用程式限制:最大容量為 400 vCPUs, vCPUs 每個帳戶最大並行 16 個,3000 GB 記憶體,20000 GB 磁碟

  • 中繼存放區組態: AWS Glue Data Catalog

  • 應用程式日誌: AWS 受管儲存 (已啟用),使用 AWS 擁有的加密金鑰

  • 應用程式行為:在應用程式閒置 15 分鐘後,自動啟動任務提交和自動停止

若要啟用這些大型資料處理功能,使用者需要必要的許可,可透過 Amazon SageMaker AI 網域設定授予。授予這些許可的方法取決於您的 Amazon SageMaker AI 網域最初的設定方式。我們將涵蓋三個主要案例:

  • 快速網域設定

  • 自訂網域設定 (使用公有網際網路存取/不使用 VPC)

  • 自訂網域設定 (具有VPC和不具有公有網際網路存取)

每個案例都需要特定步驟,以確保使用者擁有必要的許可,才能在整個 SageMaker Canvas 機器學習生命週期中利用無EMR伺服器進行大型資料處理。

案例 1:快速網域設定

如果您在建立 SageMaker AI 網域時使用快速設定選項,請遵循下列步驟:

  1. 導覽至 Amazon SageMaker AI 網域設定:

    1. 在 開啟 Amazon SageMaker AI 主控台https://console.aws.amazon.com/sagemaker/

    2. 在左側導覽窗格中選擇 Domains (網域)。

    3. 選擇網域。

    4. 選擇應用程式組態索引標籤。

    5. 捲動至 Canvas 區段,然後選擇編輯

  2. 啟用大型資料處理:

    1. 大型資料處理組態區段中,開啟啟用無EMR伺服器以進行大型資料處理

    2. 建立或選取無EMR伺服器角色:

      1. 選擇建立並使用新的執行角色來建立新的角色,該IAM角色與 EMR Serverless 和附加AWS 受管政策: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy的政策具有信任關係。Canvas 會擔任此IAM角色來建立無EMR伺服器任務。

      2. 或者,如果您已有具有 EMR Serverless 信任關係的執行角色,請選取使用現有的執行角色,然後從下拉式清單中選擇您的角色。

        • 現有角色的名稱必須以字首 開頭AmazonSageMakerCanvasEMRSExecutionAccess-

        • 您選擇的角色至少也應該具有AWS 受管政策: AmazonSageMakerCanvasEMRServerlessExecutionRolePolicy政策中所述的許可。

        • 該角色應具有無EMR伺服器信任政策,如下所示:

          { "Version": "2012-10-17", "Statement": [ { "Sid": "EMRServerlessTrustPolicy", "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "<your-account-id>" } } } ] }
  3. (選用) 新增自訂 Amazon S3 儲存貯體的 Amazon S3 許可:

    1. Canvas 受管政策會自動為名稱SageMaker AI中包含 sagemaker或 的 Amazon S3 儲存貯體授予讀取和寫入許可。它也會授予具有標籤 之自訂 Amazon S3 儲存貯體中物件的讀取許可"SageMaker": "true"

    2. 對於沒有必要標籤的自訂 Amazon S3 儲存貯體,請將下列政策新增至無EMR伺服器角色:

    3. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::*" ] } ] }
    4. 我們建議您將許可範圍縮小到您希望 Canvas 存取的特定 Amazon S3 儲存貯體。

  4. 儲存變更並重新啟動 SageMaker Canvas 應用程式。

案例 2:自訂網域設定 (使用公有網際網路存取/不使用 VPC)

如果您建立或使用自訂網域,請遵循案例 1 中的步驟 1-3,然後執行這些額外步驟:

  1. 將 Amazon ECRDescribeImages操作的許可新增至您的 Amazon SageMaker AI 執行角色,因為 Canvas 使用公有 Amazon ECR Docker 映像進行資料準備和模型訓練:

    1. 登入 AWS 主控台,並在 開啟IAM主控台https://console.aws.amazon.com/iam/

    2. 選擇角色

    3. 在搜尋方塊中,依名稱搜尋您的 SageMaker AI 執行角色,然後選取它。

    4. 將下列政策新增至您的 SageMaker AI 執行角色。這可以透過將其新增為內嵌政策或將政策陳述式附加至現有政策來完成。請注意,IAM角色最多可連接 10 個政策。

      { "Version": "2012-10-17", "Statement": [{ "Sid": "ECRDescribeImagesOperation", "Effect": "Allow", "Action": "ecr:DescribeImages", "Resource": [ "arn:aws:ecr:*:*:repository/sagemaker-data-wrangler-emr-container", "arn:aws:ecr:*:*:repository/ap-dataprep-emr" ] }] }
  2. 儲存變更並重新啟動 SageMaker Canvas 應用程式。

案例 3:自訂網域設定 (具有VPC和不具有公有網際網路存取)

如果您建立或使用自訂網域,請遵循案例 2 中的所有步驟,然後遵循這些額外步驟:

  1. 確保您的VPC子網路是私有的:

    1. 確認子網路的路由表沒有0.0.0.0/0與網際網路閘道對應的項目。

  2. 新增建立網路介面的許可:

    1. 將 SageMaker Canvas 與 EMR Serverless 搭配使用以進行大規模資料處理時,EMRServerless 需要能夠建立 AmazonEC2ENIs,以啟用 EMR Serverless 應用程式與 VPC 資源之間的網路通訊。

    2. 將下列政策新增至您的 Amazon SageMaker AI 執行角色。這可以透過將其新增為內嵌政策或將政策陳述式附加至現有政策來完成。請注意,IAM角色最多可連接 10 個政策。

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowEC2ENICreation", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ], "Condition": { "StringEquals": { "aws:CalledViaLast": "ops.emr-serverless.amazonaws.com" } } } ] }
  3. (選用) 將ENI建立限制為特定子網路:

    1. 若要進一步保護設定,將 的建立限制ENIs在 內的特定子網路VPC,您可以使用特定條件標記每個子網路。

    2. 使用以下IAM政策,以確保 EMR Serverless 應用程式只能在允許的子網路和安全群組EC2ENIs內建立 Amazon:

      { "Sid": "AllowEC2ENICreationInSubnetAndSecurityGroupWithEMRTags", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface" ], "Resource": [ "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringEquals": { "aws:ResourceTag/KEY": "VALUE" } } }
  4. 依照頁面上的步驟在 中設定 Amazon SageMaker Canvas VPC而不存取網際網路來設定 Amazon S3 的VPC端點,這是無EMR伺服器和其他 SageMaker Canvas 所使用的 AWS 服務所需要。

  5. 儲存變更並重新啟動 SageMaker Canvas 應用程式。

遵循這些步驟,您可以在 SageMaker Canvas 中為各種網域設定啟用大型資料處理,包括具有自訂VPC組態的網域。請記得在進行這些變更以套用新許可後重新啟動 SageMaker Canvas 應用程式。