创建 EMR Studio - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

创建 EMR Studio

您可以使用 Amazon EMR 控制台或 Amazon CLI 为您的团队创建 EMR Studio。创建 Studio 实例是设置 Amazon EMR Studio 的一部分。

注意

我们重新设计了 Amazon EMR 控制台,以便其易于使用。请参阅 亚马逊 EMR 控制台,以了解有关新旧控制台体验差异的信息。

先决条件

在创建 Studio 之前,请确保您已在 设置 Amazon EMR Studio 中完成了之前的任务。

要使用 Amazon CLI 创建 Studio,您应该已经安装了最新版本。有关更多信息,请参阅安装或更新 Amazon CLI 的最新版本

重要

在创建 Studio 之前,请先 SwitchyOmega 在浏览器中停用代理管理工具,例如 FoxyProxy 或。当您选择 Create Studio(创建 Studio)时,活动代理可能会导致出现 Network Failure(网络故障)错误消息。

Amazon EMR 为您提供创建 Studio 的简单控制台体验,因此您可以快速开始使用默认设置,使用默认设置运行交互式工作负载或批处理作业。创建 EMR Studio 还会创建一个 EMR 无服务器应用程序,为你的交互式作业做好准备。

如果您想完全控制 Studio 的设置,可以选择 “自定义”,这样您就可以配置所有其他设置。

Interactive workloads
为交互式工作负载创建 EMR Studio
  1. 打开亚马逊 EMR 控制台,网址为 https://console.aws.amazon.com/emr。

  2. 在左侧导航栏的 EMR Studio 下,选择 Getting started(入门)。您还可以从 Studios 页面创建新 Studios。

  3. 如果您要为交互式工作负载创建 EMR Studio,Amazon EMR 会为您提供默认设置,但您可以编辑这些设置。可配置的设置包括 EMR Studio 的名称、工作空间的 S3 位置、要使用的服务角色、要使用的工作空间、EMR Serverless 应用程序名称以及相关的运行时角色。

  4. 选择创建 Studio 并启动工作区以完成并导航到 Studios 页面。您的新 Studio 在列表中,其中包含 Studio name (Studio 名称)Creation date (日期创建)Studio access URL (Studio 访问 URL) 等详细信息。您的工作区将在浏览器的新选项卡中打开。

Batch jobs
为交互式工作负载创建 EMR Studio
  1. 打开亚马逊 EMR 控制台,网址为 https://console.aws.amazon.com/emr。

  2. 在左侧导航栏的 EMR Studio 下,选择 Getting started(入门)。您还可以从 Studios 页面创建新 Studios。

  3. 如果您要为批处理任务创建 EMR Studio,Amazon EMR 会为您提供默认设置,但您可以编辑这些设置。可配置的设置包括 EMR Studio 的名称、EMR Serverless 应用程序名称和相关的运行时角色。

  4. 选择创建 Studio 并启动工作区以完成并导航到 Studios 页面。您的新 Studio 在列表中,其中包含 Studio name (Studio 名称)Creation date (日期创建)Studio access URL (Studio 访问 URL) 等详细信息。您的 EMR Studio 将在浏览器的新选项卡中打开。

Custom settings
使用自定义设置创建 EMR Studio
  1. 打开亚马逊 EMR 控制台,网址为 https://console.aws.amazon.com/emr。

  2. 在左侧导航栏的 EMR Studio 下,选择 Getting started(入门)。您还可以从 Studios 页面创建新 Studios。

  3. 选择创建 Studio,打开创建 Studio 页面。

  4. 输入工作室名称

  5. 选择创建新的 S3 存储桶或使用现有位置。

  6. 选择要添加到工作室的工作区。您最多可以添加 3 个工作区。

  7. 身份验证中,为 Studio 选择身份验证模式并根据下表提供信息。要了解有关 EMR Studio 身份验证的更多信息,请参阅 为 Amazon EMR Studio 选择身份验证模式

    如果您使用... 请执行此操作...
    IAM 身份验证或联合身份验证

    默认身份验证方法为 Amazon Identity and Access Management(IAM)。在屏幕底部,您还可以添加标签,以授予特定用户访问 Studio 的权限,如 将用户或组分配到 EMR Studio 中所述。

    如果您希望联合用户使用身份提供商 (IdP) 的 Studio URL 和凭据登录,请从下拉列表中选择您的 IdP,然后输入您的身份提供商 (IdP) 登录 URL 和参数名称。RelayState

    有关 IdP 身份验证 URL 和 RelayState 名称的列表,请参阅。身份提供商 RelayState 参数和身份验证 URL

    IAM Identity Center 身份验证

    选择您的 EMR Studio服务角色用户角色。有关更多信息,请参阅 创建 EMR Studio 服务角色创建 IAM Identity Center 身份验证模式的 EMR Studio 用户角色

    为 Studio 使用 IAM Identity Center(以前称为 Amazon 单点登录)身份验证时,您可以选择使用“启用可信身份传播”选项来简化用户的登录体验。通过可信身份传播,用户可以使用其 Identity Center 凭证登录,并在使用 Studio 时将其身份传播到下游 Amazon 服务。

    在“应用程序访问权限”部分中,您还可以指定 Identity Center 中的所有用户和组是否都应有权访问 Studio,或者是否只有您选择的分配用户和组才能访问 Studio。

    有关更多信息,请参阅 将 Amazon EMR 与 Amazon IAM Identity Center,以及《Amazon IAM Identity Center 用户指南》中的跨应用程序的可信身份传播

  8. 对于 VPC,请从下拉列表中选择适用于 Studio 的 Amazon Virtual Private Cloud (VPC)。

  9. Subnets (子网) 下,在您的 VPC 中选择最多五个子网以与 Studio 关联。创建 Studio 后,您可以选择添加更多子网。

  10. 对于 Security groups (安全组),选择默认安全组或自定义安全组。有关更多信息,请参阅 定义安全组以控制 EMR Studio 网络流量

    如果选择... 请执行此操作...
    默认 EMR Studio 安全组

    要为 Studio 启用基于 Git 的存储库链接,请选择 Enable clusters/endpoints and Git repository (启用集群/终端节点和 Git 存储库)。否则,请选择 Enable clusters/endpoints (启用集群/终端节点)

    您 Studio 的自定义安全组
    • Cluster/endpoint security group (集群/端点安全组) 下,从下拉列表中选择您配置的引擎安全组。您的 Studio 使用此安全组来允许来自附加 Workspaces 的入站访问。

    • Workspace security group (Workspace 安全组) 下,从下拉列表中选择您配置的 Workspace 安全组。您的 Studio 使用此安全组和 Workspaces 来提供对附加 Amazon EMR 集群和公共托管 Git 存储库的出站访问。

  11. 为您的 Studio 和其他资源添加标签。有关标签的更多信息,请参阅标签集群

  12. 选择创建 Studio 并启动工作区以完成并导航到 Studios 页面。您的新 Studio 在列表中,其中包含 Studio name (Studio 名称)Creation date (日期创建)Studio access URL (Studio 访问 URL) 等详细信息。

创建 Studio 后,请按照将用户或组分配到 EMR Studio中的说明进行操作。

CLI
注意

为了便于读取,包含 Linux 行继续符 (\)。它们可以通过 Linux 命令删除或使用。对于 Windows,请将它们删除或替换为脱字号 (^)。

例 – 创建使用 IAM 进行身份验证的 EMR Studio

下面的示例 Amazon CLI 命令将创建使用 IAM 身份验证模式的 EMR Studio。当您为 Studio 使用 IAM 身份验证或联合身份验证时,您不需要指定 --user-role

要允许联合身份用户使用 Studio URL 和身份提供商 (IdP) 的凭据登录,请指定您的 --idp-auth-url--idp-relay-state-parameter-name。有关 IdP 身份验证 URL 和 RelayState 名称的列表,请参阅。身份提供商 RelayState 参数和身份验证 URL

aws emr create-studio \ --name <example-studio-name> \ --auth-mode IAM \ --vpc-id <example-vpc-id> \ --subnet-ids <subnet-id-1> <subnet-id-2>... <subnet-id-5> \ --service-role <example-studio-service-role-name> \ --user-role studio-user-role-name \ --workspace-security-group-id <example-workspace-sg-id> \ --engine-security-group-id <example-engine-sg-id> \ --default-s3-location <example-s3-location> \ --idp-auth-url <https://EXAMPLE/login/> \ --idp-relay-state-parameter-name <example-RelayState>
例 – 创建使用 Identity Center 进行身份验证的 EMR Studio

以下 Amazon CLI 示例命令创建使用 IAM Identity Center 身份验证模式的 EMR Studio。当您使用 IAM Identity Center 身份验证时,则必须指定 --user-role

有关 IAM Identity Center 身份验证的更多信息,请参阅 为 Amazon EMR Studio 设置 IAM Identity Center 身份验证模式

aws emr create-studio \ --name <example-studio-name> \ --auth-mode SSO \ --vpc-id <example-vpc-id> \ --subnet-ids <subnet-id-1> <subnet-id-2>... <subnet-id-5> \ --service-role <example-studio-service-role-name> \ --user-role <example-studio-user-role-name> \ --workspace-security-group-id <example-workspace-sg-id> \ --engine-security-group-id <example-engine-sg-id> \ --default-s3-location <example-s3-location> --trusted-identity-propagation-enabled \ --idc-user-assignment OPTIONAL \ --idc-instance-arn <iam-identity-center-instance-arn>
例 – aws emr create-studio 的 CLI 输出

以下是您创建 Studio 之后出现的输出示例。

{ StudioId: "es-123XXXXXXXXX", Url: "https://es-123XXXXXXXXX.emrstudio-prod.us-east-1.amazonaws.com" }

有关 create-studio 命令的更多信息,请参阅 Amazon CLI 命令参考

身份提供商 RelayState 参数和身份验证 URL

当您使用 IAM 联合身份验证时,您希望用户使用您的 Studio URL 和身份提供商 (IdP) 的证书进行登录,则可以在此时指定您的身份提供商 (IdP) 登录 URLRelayState参数名称。创建 EMR Studio

下表显示了一些常用身份提供商的标准身份验证 URL 和 RelayState 参数名称。

身份提供商 参数 身份验证 URL
Auth0 RelayState https://<sub_domain>.auth0.com/samlp/<app_id>
Google 账户 RelayState https://accounts.google.com/o/saml2/initsso?idpid=<idp_id>&spid=<sp_id>&forceauthn=false
Microsoft Azure RelayState https://myapps.microsoft.com/signin/<app_name>/<app_id>?tenantId=<tenant_id>
Okta RelayState https://<sub_domain>.okta.com/app/<app_name>/<app_id>/sso/saml
PingFederate TargetResource https://<host>/idp/<idp_id>/startSSO.ping?PartnerSpId=<sp_id>
PingOne TargetResource https://sso.connect.pingidentity.com/sso/sp/initsso?saasid=<app_id>&idpid=<idp_id>