2026-01
介绍 AWS Glue 使用配置文件以实现灵活的成本控制 大数据博客
AWS Glue 使用配置文件:灵活的成本控制
关键要点
AWS Glue 是一种无服务器的数据集成服务,支持 ETL 工作负载。新推出的 AWS Glue 使用配置文件允许管理员为不同用户创建特定的使用参数。这些配置文件帮助控制计算资源和成本,避免资源浪费。AWS Glue 是一款无服务器的数据集成服务,能够以可扩展的方式运行提取、转换和加载ETL工作负载。使用云平台的主要优势之一是它的灵活性;用户可以在实际需要时配置计算资源。然而,随着资源创建的便利性而来的,是在资源未得到管理或缺乏约束时,云成本可能出现飙升的风险。因此,管理员需要在避免高基础架构成本与让用户无障碍工作的之间找到平衡。
为了解决这一问题,我们很高兴地宣布 AWS Glue 使用配置文件的正式推出。有了这些配置文件,管理员可以为账户内的不同用户类别如开发者、测试人员和产品团队创建不同的配置文件。每个配置文件都是一组独特的参数,可以分配给不同类型的用户。例如,开发者可能需要更多的工作节点,因此可以设定更高的最大工作节点数量,而产品团队可能需要较少的工作节点以及较低的超时或空闲超时值。
AWS Glue 使用配置文件的运作方式
AWS Glue 使用配置文件是通过指定的 Amazon 资源名称 (ARN) 来标识的,有助于更好地治理资源。管理员可以创建 AWS Glue 使用配置文件,并定义在未提供参数值时使用的默认值。例如,可以创建一个 AWS Glue 使用配置文件,默认工作节点数量设置为 2。当使用与该配置文件关联的 AWS 身份和访问管理 (IAM) 用户登录 AWS Glue 控制台并创建新作业时,请求的工作节点的初始值将显示为 2,而非服务的默认值 10。
此外,管理员还可以为用户在创建资源时提供的参数指定一组允许值进行验证。如果参数为数字,管理员可以通过指定最小值和最大值来定义允许值的范围,而非特定的集合。例如,可以创建一个仅允许 G1X 工作节点类型的 AWS Glue 使用配置文件。当使用与该配置文件关联的 IAM 用户登录 AWS Glue 控制台并使用 G2X 工作节点类型创建作业时,保存作业将会失败。
创建 AWS Glue 使用配置文件
要开始创建 AWS Glue 使用配置文件,请完成以下步骤:
登录到 AWS Glue 控制台,在导航面板选择 成本管理。让我们为开发者创建你的第一个使用配置文件。
选择 创建使用配置文件。在 使用配置文件名称 中,输入 developer。在 自定义作业配置 中,将 工作节点数量 的 默认值 设置为 20。对于 默认工作节点类型,选择 G1X。对于 允许工作节点类型,选择 G1X、G2X、G4X 和 G8X。在 自定义会话配置 中,将相同的值配置。选择 创建使用配置文件。接下来,为需要较少工作节点和较低超时或空闲超时值的业务分析师创建另一个使用配置文件。
选择 创建使用配置文件。在 使用配置文件名称 中,输入 analyst。在 自定义作业配置 中,将 工作节点数量 的 默认值 设置为 2,将 最大值 设置为 5。对于 默认工作节点类型,选择 G1X。对于 允许工作节点类型,仅选择 G1X。对于 超时,将 默认值 设置为 60,将 最大值 设置为 120。在 自定义会话配置 中,将相同的值配置。对于 空闲超时,将 默认值 设置为 10,将 最大值 设置为 60。选择 创建使用配置文件。您已成功创建两个使用配置文件。
分配使用配置文件
限制只有在配置文件分配给 IAM 用户或角色时,才能对 AWS Glue API 调用生效。管理员需要采取两个步骤来分配配置文件:
在 IAM 中,对用户或角色创建一个名为 glueUsageProfile 的标签,标签值为使用的配置文件名称。用户或角色的 IAM 策略需要更新,以包括 glueGetUsageProfile IAM 动作权限以读取分配的配置文件。以下步骤将创建两个新用户,每个用户分配不同的配置文件:
在 IAM 控制台中,选择 用户 。选择 创建用户。在 用户名 中,输入 blogDeveloper。选择 提供用户访问 AWS 管理控制台 和 我想创建一个 IAM 用户。可以输入自定义密码或让系统生成一个后者情况下,请选择 显示密码,以便稍后用于登录。选择 下一步。附加托管策略 AWSGlueConsoleFullAccess 和 IAMReadOnlyAccess。选择 下一步。查看摘要并完成创建。记住密码以备后用,选择 返回用户列表 并选择刚创建的用户。在 权限 选项卡中,选择 添加权限,然后选择 创建内联策略。在策略编辑器中,切换到 JSON 并输入以下策略,将 AWS 区域、账户 ID 和使用配置文件名称的占位符替换为实际值。对于用户 blogDeveloper 使用 developer 作为使用配置文件名称,对于角色 blogAnalyst 使用 analyst。
json{ Version 20121017 Statement [ { Effect Allow Action [ glueGetUsageProfile ] Resource [ arnawsglueltaws regiongtltaccount idgtusageProfile/ltusage profile namegt ] } { Effect Allow Action [ iamPassRole ] Resource [ ] Condition { StringLike { iamPassedToService [ glueamazonawscom ] } } } ]}
将策略命名为 GlueUsageProfilePermission,然后完成创建。
在 标签 选项卡中,添加一个名为 glueUsageProfile 的新标签,其值为 developer。重复上述步骤以创建名为 blogAnalyst 的用户,将策略中的 ARN 替换为 arnawsglueltaws regiongtltaccount idgtusageProfile/analyst。确保在更新策略时填写区域和账户 ID,并将标签值指定为 analyst。
在 AWS Glue 控制台中,导航到 developer 使用配置文件。您会看到状态已从 未分配 更改为 已分配。
最后,完成以下步骤以为 AWS Glue 作业和会话创建两个 IAM 角色:
创建两个 AWS Glue 的 IAM 角色。命名为 GlueServiceRoledeveloper 和 GlueServiceRoleanalyst。配置以下内联策略,替换区域、账户 ID 和使用配置文件名称的占位符。对于 GlueServiceRoledeveloper,使用 developer,对于 GlueServiceRoleanalyst使用 analyst。
json{ Version 20121017 Statement [ { Effect Allow Action [ glueGetUsageProfile ] Resource [ arnawsglueltaws regiongtltaccount idgtusageProfile/ltusage profile namegt ] } { Effect Allow Action [ iamPassRole ] Resource [ ] Condition { StringLike { iamPassedToService [ glueamazonawscom ] } } } ]}
鲸鱼官方正版官方入口对于 IAM 角色的 标签 选项卡,添加一个新标签,名称为 glueUsageProfile,值为 developer对于 GlueServiceRoledeveloper和 analyst对于 GlueServiceRoleanalyst。
使用配置文件示例:作业
现在你已经为两个用户分配了不同的 AWS Glue 配置文件。让我们测试并观察差异。首先,使用用户 blogDeveloper 来查看配置文件 developer 的效果。
使用 blogDeveloper 用户打开 AWS Glue 控制台。在导航面板中选择 ETL 作业,然后选择 脚本编辑器。选择 创建脚本。选择 作业详情 选项卡。请求的工作节点数量 的默认值为 20,对应于配置文件 developer 的默认设置。
现在,使用用户 blogAnalyst 测试 analyst 配置文件。
使用 blogAnalyst 用户打开 AWS Glue 控制台。在导航面板中选择 ETL 作业,然后选择 脚本编辑器。选择 创建脚本。选择 作业详情 选项卡。请求的工作节点数量 的默认值为 2,这对应于配置文件 analyst 的默认设置。
此外,作业超时 的默认值为 60,这也符合 analyst 配置文件的默认值。
对于 工作节点类型,选择下拉菜单。
只有 G1X 是可用的,而 G2X、G4X 和 G8X 都被禁用。这是因为我们只允许 analyst 配置文件选择 G1X。
若尝试输入不合法的请求工作节点数量 20,将会显示警告消息:使用配置文件 analyst 的最大工作节点数不能超过 5。
当前用户 blogAnalyst 尝试在作业中设置请求工作节点数量为 20,而该配置文件对该用户的最大工作节点数量仅为 5,因此作业运行失败,显示如下错误消息。
在此示例中,我们展示了如何根据配置文件中的预配置值来管理 AWS Glue 作业。
使用配置文件示例:会话
接下来,继续使用用户 blogAnalyst,利用 AWS Glue Studio 笔记本界面查看如何通过使用配置文件进行交互式会话的管理:
使用 blogAnalyst 用户打开 AWS Glue 控制台。在导航面板中选择 ETL 作业,选择 笔记本。对于 IAM 角色,选择 GlueServiceRoleanalyst。选择 创建笔记本。等待笔记本准备就绪。在第二个笔记本单元中,numberofworkers 设置为 2,这对应于 analyst 配置文件的默认值。
若将 numberofworkers 从 2 更新为 10,以模拟进入不合法的访问模式:
pythonnumberofworkers 10
运行该单元时会出现错误消息:“提供的工作节点数量不在 [1 5] 的范围内”。这是因为给定的值 10 超出了分配给该用户的配置文件的最大工作节点数量。
然后将 numberofworkers 更新为 5,以模拟合法的访问模式:
pythonnumberofworkers 5

这次,成功创建了会话。
现在你已经观察到如何根据配置文件中的预配置值管理 AWS Glue 交互式会话。
结论
本文演示了 AWS Glue 使用配置文件如何便捷灵活地管理您的 AWS Glue 资源。
使用 AWS Glue 使用配置文件,可以管理和控制不同用户的资源,以设定您组织的最佳实践并节省成本。AWS Glue 使用配置文件作为防护措施,防止发生未经授权的资源使用。
欢迎您亲自尝试该功能,并在评论中留下反馈或问题。