建立和管理用法設定檔 - AWS Glue

建立和管理用法設定檔

建立 AWS Glue 用法設定檔

管理員應該建立用法設定檔,然後將其指派給各種使用者。建立用法設定檔時,可指定預設值,以及各種任務和工作階段參數的允許值範圍。必須為任務或互動式工作階段設定至少一個參數。如果使用者在使用此設定檔時有提供參數值的話,您可以自訂在未替工作提供參數值時應使用的預設值,和/或設定一個範圍限制或一組允許的值來進行驗證。

預設值是由管理員設定的最佳實務,以協助任務作者。當使用者建立新任務且未設定逾時值時,將會套用用法設定檔的預設逾時值。如果作者沒有設定檔,則會套用 AWS Glue 服務預設值,並儲存在任務的定義中。在執行時期,AWS Glue 會強制執行設定檔中設定的限制 (最小、最大、允許的工作者)。

設定參數後,所有其他參數都可選用。可針對任務或互動式工作階段自訂的參數如下:

  • 工作者人數:限制工作者數以避免過度使用運算資源。您可以設定預設值、最小值和最大值。最小值為 1。

  • 工作者類型:限制工作負載的相關工作者類型。您可以設定預設類型,並允許使用者設定檔的工作者類型。

  • 逾時:定義任務或互動式工作階段在終止之前可執行和消耗資源的最長時間。設定逾時值以避免長時間執行的任務。

    您可以在分鐘內設定預設值、最小值和最大值。最小值為 1 (分鐘)。雖然 AWS Glue 預設逾時值為 2880 分鐘,但您可以在用法設定檔中設定任何預設值。

    最佳實務是設定 'default' 的值。如果使用者未設定任何值,則此值將用於建立任務或工作階段。

  • 閒置逾時:定義在執行儲存格之後,互動式工作階段在逾時之前處於非活動狀態的分鐘數。定義互動式工作階段在工作完成後終止的閒置逾時值。閒置逾時範圍應在逾時限制內。

    您可以在分鐘內設定預設值、最小值和最大值。最小值為 1 (分鐘)。雖然 AWS Glue 預設逾時值為 2880 分鐘,但您可以在用法設定檔中設定任何預設值。

    最佳實務是設定 'default' 的值。如果使用者未設定任何值,則此值將用於建立工作階段。

以管理員身分建立 AWS Glue 用法設定檔 (主控台)
  1. 在左側導覽功能表中,選擇成本管理

  2. 選擇建立用法設定檔

  3. 輸入用法設定檔的用法設定檔名稱

  4. 輸入可選說明,以協助其他人辨識用法設定檔的目的。

  5. 在設定檔中定義至少一個參數。表單中的所有欄位都是參數。例如,工作階段閒置逾時最小值。

  6. 定義套用至用法設定檔的任何選用標籤。

  7. 選擇儲存

    在 AWS Glue 中建立用法設定檔的管理員範例。
建立用法設定檔 (AWS CLI)
  1. 輸入以下命令。

    aws glue create-usage-profile --name profile-name --configuration file://config.json --tags list-of-tags

    其中 config.json 可以定義互動式工作階段 (SessionConfiguration) 和任務 (JobConfiguration) 的參數值:

    //config.json (There is a separate blob for session/job configuration { "SessionConfiguration": { "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" }, "idleTimeout": { "DefaultValue": "30", "MinValue": "10", "MaxValue": "4000" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.1X", "G.2X", "G.4X", "G.8X", "G.12X", "G.16X", "R.1X", "R.2X", "R.4X", "R.8X" ] }, "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" } }, "JobConfiguration": { "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.1X", "G.2X", "G.4X", "G.8X", "G.12X", "G.16X", "R.1X", "R.2X", "R.4X", "R.8X" ] }, "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" } } }
  2. 輸入下列命令以查看建立的用法設定檔:

    aws glue get-usage-profile --name profile-name

    回應:

    { "ProfileName": "foo", "Configuration": { "SessionConfiguration": { "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.1X", "G.2X", "G.4X", "G.8X", "G.12X", "G.16X", "R.1X", "R.2X", "R.4X", "R.8X" ] }, "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" }, "idleTimeout": { "DefaultValue": "30", "MinValue": "10", "MaxValue": "4000" } }, "JobConfiguration": { "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.1X", "G.2X", "G.4X", "G.8X", "G.12X", "G.16X", "R.1X", "R.2X", "R.4X", "R.8X" ] }, "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" } } }, "CreatedOn": "2024-01-19T23:15:24.542000+00:00" }

用於管理用法設定檔的其他 CLI 命令:

  • aws glue list-usage-profiles

  • aws glue update-usage-profile --name profile-name --configuration file://config.json

  • aws glue delete-usage-profile --name profile-name

編輯用法設定檔

管理員可以編輯他們已建立的用法設定檔,以變更任務和互動式工作階段的設定檔參數值。

若要編輯用法設定檔:

若要以管理員身分編輯 AWS Glue 用法設定檔 (主控台)
  1. 在左側導覽功能表中,選擇成本管理

  2. 選擇您具有編輯許可的用法設定檔,然後選擇編輯

  3. 視需要變更設定檔。根據預設,已具有值的參數會展開。

  4. 選擇儲存編輯

    使用者在 AWS Glue 中編輯用法設定檔的範例。
若要編輯用法設定檔 (AWS CLI)
  • 輸入以下命令。使用相同的 --configuration 檔案語法,如上述建立命令中所示。

    aws glue update-usage-profile --name profile-name --configuration file://config.json

    其中 config.json 定義互動式工作階段 (SessionConfiguration) 和任務 (JobConfiguration) 的參數值:

指派用法設定檔

用法設定檔頁面中的使用狀態欄會顯示是否將用法設定檔指派給使用者。將滑鼠暫留在狀態上會顯示指派的 IAM 實體。

管理員可以將 AWS Glue 用法設定檔指派給建立 AWS Glue 資源的使用者/角色。指派設定檔是兩個動作的組合:

  • 使用 glue:UsageProfile 金鑰更新 IAM 使用者/角色標籤,然後

  • 更新使用者/角色的 IAM 政策。

對於使用 AWS Glue Studio 建立任務/互動式工作階段的使用者,管理員會標記下列角色:

  • 對於任務的限制,管理員會標記已登入的主控台角色

  • 如需互動式工作階段的限制,管理員會標記使用者在建立筆記本時提供的角色

以下是管理員需要對建立 AWS Glue 資源的 IAM 使用者/角色進行更新的範例政策:

{ "Effect": "Allow", "Action": [ "glue:GetUsageProfile" ], "Resource": [ "arn:aws:glue:us-east-1:123456789012:usageProfile/foo" ] }

AWS Glue 根據 AWS Glue 用法設定檔中指定的值來驗證任務、任務執行和工作階段請求,如果不允許請求,則會引發例外狀況。對於同步 API,會將錯誤擲回給使用者。對於非同步路徑,會建立失敗的任務執行,並顯示錯誤訊息,指出輸入參數超出使用者/角色指派設定檔的允許範圍。

若要將用法設定檔指派給使用者/角色:

  1. 開啟 (Identity and Access Management) IAM 主控台。

  2. 在左側導覽窗格中,選擇使用者或者角色

  3. 選擇使用者或角色。

  4. 選擇 Tags (標籤) 索引標籤。

  5. 選擇新增標籤

  6. 新增索引鍵glue:UsageProfile為用法設定檔名稱的標籤。

  7. 選擇 Save changes (儲存變更)

    將標籤新增至 IAM 角色的範例。

檢視您指派的用法設定檔

使用者可以檢視其指派的用法設定檔,並在進行 API 呼叫以建立 AWS Glue 任務和工作階段資源或啟動任務時對其進行使用。

IAM 政策中提供設定檔許可。只要呼叫者政策具有 glue:UsageProfile 許可,使用者就可以查看設定檔。否則,您會收到「存取遭拒」錯誤。

若要檢視指派的用法設定檔:

  1. 在左側導覽功能表中,選擇成本管理

  2. 選擇您具有檢視許可的用法設定檔。

在 AWS Glue 中檢視其指派用法設定檔的使用者範例。