创建和管理使用情况配置文件 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建和管理使用情况配置文件

创建 Amazon Glue 使用情况配置文件

管理员应创建使用情况配置文件,然后将其分配给不同的用户。创建使用情况配置文件时,您可以为各种任务和会话参数指定默认值以及允许值的范围。您必须为任务或交互式会话配置至少一个参数。如果没有为任务提供参数值,您可以自定义要使用的默认值,并且/或者如果用户在使用此配置文件时提供了参数值,则可以设置范围限制或一组允许的值用于验证。

默认值是管理员为帮助任务作者而设置的最佳实践。当用户创建新任务但未设置超时值时,系统将应用使用情况配置文件的默认超时值。如果作者没有配置文件,系统将应用 Amazon Glue 服务默认值并将此值保存在任务定义中。在运行时,Amazon Glue 会强制执行配置文件中设置的限制(最小值、最大值、允许的工作线程数)。

配置参数后,所有其他参数均为可选。可以为任务或交互式会话自定义的参数如下:

  • 工作线程数量 – 限制工作线程的数量,以免过度使用计算资源。您可以设置默认值、最小值和最大值。最小值为 1。

  • 工作线程类型 – 限制工作负载的相关工作线程类型。可以为用户配置文件设置默认类型并允许工作线程类型。

  • 超时 – 定义任务或交互式会话在终止前可以运行和使用资源的最长时间。设置超时值,以免长时间运行任务。

    您可以设置默认值、最小值和最大值(单位为分钟)。最小值为 1(单位为分钟)。虽然 Amazon Glue 默认超时时间为 2880 分钟,但您可以在使用情况配置文件中设置任何默认值。

    最佳实践是设置一个“默认”值。如果用户未设置任何值,则此值将用于创建任务或会话。

  • 空闲超时 – 定义在单元格运行后,交互式会话需要处于非活动状态多少分钟才会超时。定义交互式会话的空闲超时时间,以便在工作完成后终止会话。空闲超时范围应在超时限制范围内。

    您可以设置默认值、最小值和最大值(单位为分钟)。最小值为 1(单位为分钟)。虽然 Amazon Glue 默认超时时间为 2880 分钟,但您可以在使用情况配置文件中设置任何默认值。

    最佳实践是设置一个“默认”值。如果用户未设置任何值,则此值将用于创建会话。

以管理员身份创建 Amazon Glue 使用情况配置文件(控制台)
  1. 在左侧导航菜单中,选择成本管理

  2. 选择创建使用情况配置文件

  3. 对于使用情况配置文件,输入使用情况配置文件名称

  4. 输入可选描述,以帮助其他人识别使用情况配置文件的用途。

  5. 在配置文件中,至少定义以下参数之一。表单中的任何字段都属于参数。例如会话空闲超时最小值。

  6. 定义适用于使用情况配置文件的所有可选标签。

  7. 选择保存

创建用户配置文件(Amazon 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.2X", "G.4X", "G.8X" ] }, "numberOfWorkers": { "DefaultValue": "10", "MinValue": "1", "MaxValue": "10" } }, "JobConfiguration": { "timeout": { "DefaultValue": "2880", "MinValue": "100", "MaxValue": "4000" }, "workerType": { "DefaultValue": "G.2X", "AllowedValues": [ "G.2X", "G.4X", "G.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.2X", "G.4X", "G.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.2X", "G.4X", "G.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

编辑使用情况配置文件

管理员可以编辑已创建的使用情况配置文件,以此更改任务和交互式会话的配置文件参数值。

要编辑使用情况配置文件,请执行以下操作:

以管理员身份编辑 Amazon Glue 使用情况配置文件(控制台)
  1. 在左侧导航菜单中,选择成本管理

  2. 选择您有权编辑的使用情况配置文件,然后选择编辑

  3. 根据需要对配置文件进行更改。默认情况下,已设定值的参数会被展开。

  4. 选择保存编辑

编辑使用情况配置文件(Amazon CLI)
  • 输入以下 命令。使用与上文所示的 create 命令相同的 --configuration 文件语法。

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

    其中 config.json 定义了交互式会话 (SessionConfiguration) 和任务 (JobConfiguration) 的参数值:

分配使用情况配置文件

使用情况配置文件页面中的利用率状态列显示是否向用户分配了使用情况配置文件。将鼠标悬停在状态上会显示分配的 IAM 实体。

管理员可以向创建 Amazon Glue 资源的用户/角色分配 Amazon Glue 使用情况配置文件。分配配置文件包含以下两个操作:

  • 使用 glue:UsageProfile 密钥更新 IAM 用户/角色标签,然后

  • 更新用户/角色的 IAM 策略。

对于使用 Amazon Glue Studio 创建任务/交互式会话的用户,管理员会标记以下角色:

  • 对于任务的限制,管理员会标记已登录的控制台角色

  • 对于交互式会话的限制,管理员会标记用户在创建笔记本时提供的角色

以下是管理员需要更新的关于 Amazon Glue 资源的创建者 IAM 用户/角色的策略示例:

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

Amazon Glue 会根据 Amazon Glue 使用情况配置文件中指定的值验证任务、任务运行和会话请求,如果不允许请求,则会引发异常。对于同步 API,将向用户抛出错误。对于异步路径,会创建失败的任务运行,并显示错误消息,提示输入参数超出了为用户/角色分配的配置文件所允许的范围。

要为用户/角色分配使用情况配置文件,请执行以下操作:

  1. 打开 IAM(Identity and Access Management)控制台。

  2. 在左侧导航中,选择角色用户

  3. 选择用户或角色。

  4. 选择标签选项卡。

  5. 选择添加新标签

  6. 添加标签,其中glue:UsageProfile为使用情况配置文件名称。

  7. 选择 Save changes(保存更改)

查看分配给自己的使用情况配置文件

用户可以查看向其分配的使用情况配置文件,并在进行 API 调用以创建 Amazon Glue 任务和会话资源时,或在启动任务时使用这些配置文件。

IAM 策略中提供了配置文件权限。只要调用者策略具有 glue:UsageProfile 权限,用户就可以查看配置文件。否则,您将收到拒绝被访问的错误。

要查看分配给自己的使用情况配置文件,请执行以下操作:

  1. 在左侧导航菜单中,选择成本管理

  2. 选择您有权查看的使用情况配置文件。