View a markdown version of this page

用户后台会话 - Amazon EMR

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

用户后台会话

借助用户后台会话,即使用户已从笔记本界面注销,长时间运行的分析和机器学习工作负载也能继续运行。从 EC2 版本 7.11 上的 EMR 开始,此功能可通过 EMR-EC2可信身份传播功能获得。以下部分说明了用户后台会话的配置选项和行为。

注意

用户后台会话设置仅影响通过 U SageMaker nified Studio 启动的 Spark 工作负载。对此设置的更改适用于新的 Livy 会话——现有的活动会话不受影响。

配置用户后台会话

必须在两个级别上启用用户后台会话才能正常运行:

  1. IAM 身份中心实例级别(由 IdC 管理员配置)

  2. EMR 集群级别(由 EMR 集群管理员配置)

为 Amazon EMR 启用用户后台会话

要启用用户后台会话,必须true在创建 EMR 安全配置identityCenterConfiguration时将userBackgroundSessionsEnabled参数设置为。

先决条件:

  • 用于创建或更新 EMR 安全配置的 IAM 角色需要sso:PutApplicationSessionConfiguration权限。此权限允许用户通过 Amazon EMR 管理的 IAM 身份中心应用程序进行后台会话。

  • 为 IAM 身份中心创建 IAM 角色

    • 要将 Amazon EMR 与 IAM 身份中心集成,请创建一个 IAM 角色,从 EMR 集群通过 IAM 身份中心进行身份验证。亚马逊 EMR 使用 SigV4 证书将 IAM 身份中心身份中继到下游服务,例如。 AWS Lake Formation您的角色还应具有调用下游服务所需的权限。

    • 为启用 IAM 身份中心的 EMR 集群配置 Lake Formation。有关所需的角色权限,请参阅:为身份中心创建 IAM 角色。

  • 启动 7.11 或更高版本的 EMR 集群并启用 Trusted-Identity 传播。

步骤 1-创建UserBackgroundSession 启用身份中心的 EMR 安全配置

用户需要将EnableUserBackgroundSession标志设置为 true,这将允许在 EMR 托管 IDC 应用程序 UserBackgourndSession 级别启用 EMR 服务。如果将此标志设置为false或未设置,EMR 将默认禁用 IDC UserBackgroundSession 。

使用示例 AWS CLI:

aws emr create-security-configuration --name "idc-userBackgroundSession-enabled-secConfig" \ --region AWS_REGION \ --security-configuration ' \ { "AuthenticationConfiguration":{ "IdentityCenterConfiguration":{ "EnableIdentityCenter":true, "IdentityCenterInstanceARN": "arn:aws:sso:::instance/ssoins-123xxxxxxxxxx789", "IdentityCenterApplicationAssigmentRequired": false, "EnableUserBackgroundSession": true, "IAMRoleForEMRIdentityCenterApplicationARN": "arn:aws:iam::12345678912:role/YOUR_ROLE" } },\ "AuthorizationConfiguration": { "IAMConfiguration": { "EnableApplicationScopedIAMRole": true, "ApplicationScopedIAMRoleConfiguration": { "PropagateSourceIdentity": true } },\ "LakeFormationConfiguration": { "AuthorizedSessionTagValue": "Amazon EMR" } },\ "EncryptionConfiguration": { "EnableInTransitEncryption": true, "EnableAtRestEncryption": false, "InTransitEncryptionConfiguration": { "TLSCertificateConfiguration": { "CertificateProviderType": "PEM", "S3Object": "s3://amzn-s3-demo-bucket/cert/my-certs.zip" } } } }'

第 2 步-创建并启动启用身份中心的集群

现在,您已经设置了通过 Identity Center 进行身份验证的 IAM 角色,并创建了启用 Identity Center 的 Amazon EMR 安全配置,您可以创建和启动您的身份感知集群。有关使用所需安全配置启动集群的步骤,请参阅为 Amazon EMR 集群指定安全配置。

配置矩阵

用户后台会话行为取决于 EMR-EC2 设置和 IAM 身份中心实例级设置:

用户后台会话配置矩阵
IAM 身份中心用户BackgroundSession 已启用 亚马逊 EMR 用户 BackgroundSessionsEnabled 行为
TRUE 用户后台会话已启用
FALSE 会话过期,用户注销
TRUE 会话过期,用户注销
FALSE 会话过期,用户注销

默认用户后台会话持续时间

默认情况下,在 IAM Identity Center 中,所有用户后台会话的持续时间限制为 7 天。管理员可以在 IAM Identity Center 控制台中修改此持续时间。此设置在 IAM Identity Center 实例级别应用,会影响该实例内所有受支持的 IAM Identity Center 应用程序。

  • 持续时间可以设置为 15 分钟到 90 天之间的任何值。

  • 此设置是在 IAM 身份中心控制台的 “设置” → “身份验证” → “配置” 下配置的(请参阅 “ Non-Interactive 任务” 部分)

禁用用户后台会话的影响

在 IAM 身份中心禁用用户后台会话时:

现有的 Livy 会话
  • 如果它们是在启用用户后台会话的情况下启动的,则可以不间断地继续运行。这些会话将继续使用其现有的后台会话令牌,直到这些会话自然终止或被明确停止。

新的 Livy 会话
  • 将使用标准的可信身份传播流程,并将在用户注销或交互式会话到期(例如关闭 Amazon U SageMaker nified Studio JupyterLab 笔记本电脑时)时终止。

更改用户后台会话持续时间

在 IAM Identity Center 中修改用户后台会话的持续时间设置时:

现有的 Livy 会话
  • 继续以与启动时相同的后台会话持续时间运行。

新的 Livy 会话
  • 将使用新的会话持续时间进行后台会话。

注意事项

功能可用性

亚马逊 EMR 的用户后台会话可用于:

  • 仅限 Spark 引擎(不支持 Hive 引擎)

  • 仅限 Livy 交互式会话(不支持批处理作业和流媒体作业)

  • 亚马逊 EMR 发布标签 7.11 及更高版本。在 EMR 版本 7.11 中,您需要安装引导操作脚本以在创建集群时启用用户后台会话。请联系 AWS 支持部门了解更多详情。

    注意

    如果您使用的是 U SageMaker nified Studio 预置的集群,则无需引导操作脚本即可使用此功能。

成本影响

  • 即使在用户结束其 Amazon U SageMaker nified Studio 会 JupyterLab 话之后,任务仍将继续运行直至完成,并且将在完成的整个运行期间产生费用。

  • 监控您的活跃后台会话,以避免因忘记或放弃会话而产生不必要的费用。

Livy 会话终止条件

使用用户后台会话时,Livy 会话将继续运行,直到出现以下情况之一:

  • 用户后台会话过期(基于 IdC 配置,最长 90 天)。

  • 管理员手动撤消用户后台会话。

  • Livy 会话达到其空闲超时(默认值:上次执行语句后 8 小时)。

  • 用户明确停止或重新启动笔记本内核。