用户后台会话 - Amazon EMR

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

用户后台会话

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

注意

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

配置用户后台会话

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

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

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

为 Amazon EMR 启用用户后台会话

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

先决条件:

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

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

  • 启动 7.11 或更高版本的 EMR 集群,并启用可信身份传播。

步骤 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 设置和 IAM Identity Center 实例级EC2 设置:

用户后台会话配置矩阵
userBackgroundSession 已启用 IAM 身份中心 已启用 Amazon EMR userBackgroundSessions 行为
TRUE 已启用用户后台会话
FALSE 会话过期,用户注销
TRUE 会话过期,用户注销
FALSE 会话过期,用户注销

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

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

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

  • 此设置在 IAM Identity Center 控制台的 “设置” → “身份验证” → “配置”配置(参见 “非交互式作业” 部分)

禁用用户后台会话的影响

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

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

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

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

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

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

全新 Livy 会话
  • 将使用新的会话时长进行后台会话。

注意事项

功能可用性

Amazon EMR 的用户后台会话可用于:

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

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

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

    注意

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

成本影响

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

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

Livy 会话终止条件

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

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

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

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

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