先决条件和注意事项 - Amazon EMR
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

先决条件和注意事项

注意

EMR Notebooks 可在控制台中作为 EMR Studio 工作区使用。控制台中的 “创建工作区” 按钮允许您创建新的笔记本。要访问或创建 Workspaces,EMR Notebooks 用户需要额外的 IAM 角色权限。有关更多信息,请参阅 Amazon EMR 笔记本是控制台中的 Amazon EMR Studio 工作空间和亚马逊 EMR 控制台。

在计划将基于 Git 的存储库与 EMR Notebooks 集成时,请考虑以下事项。

Amazon CodeCommit

如果您使用 CodeCommit 存储库,则必须使用 Git 凭据和 HTTPS CodeCommit。不支持 SSH 密钥和带有 Amazon CLI 凭据助手的 HTTPS。 CodeCommit 不支持个人访问令牌 (PAT)。有关更多信息,请参阅 IAM 用户指南中的 IAM 与 CodeCommit Git 证书、SSH 密钥和 Amazon 访问密钥一起使用,以及用户指南中的使用 Git 凭证的 HTTPS Amazon CodeCommit 用户设置

访问和权限注意事项

在将存储库与笔记本关联之前,请确保集群、EMR Notebooks 的 IAM 角色和安全组具有正确的设置和权限。您还可以按照为 EMR Notebooks 配置私有托管的 Git 存储库中的说明配置在专用网络中托管的基于 Git 的存储库。

  • 集群互联网访问 – 启动的网络接口只有一个私有 IP 地址。这意味着笔记本连接到的集群必须位于具有网络地址转换 (NAT) 网关的私有子网中,或者必须能够通过虚拟私有网关访问 Internet。有关更多信息,请参阅 Amazon VPC 选项

    笔记本的安全组必须包含出站规则,以便允许笔记本将流量从集群路由到 Internet。建议您创建自己的安全组。有关更多信息,请参阅为 EMR Notebooks 指定 EC2 安全组

    重要

    如果网络接口启动到公有子网中,它将无法通过互联网网关(IGW)与互联网通信。

  • 的权限 Amazon Secrets Manager — 如果您使用 Secrets Manager 存储用于访问仓库的机密,则EMR Notebooks 的服务角色必须附加允许secretsmanager:GetSecretValue执行该操作的权限策略。

为 EMR Notebooks 配置私有托管的 Git 存储库

使用以下说明为 EMR Notebooks 配置私有托管的存储库。您必须提供一个配置文件,其中包含有关您的 DNS 和 Git 服务器的信息。Amazon EMR 使用此信息配置将流量路由到您的私有托管存储库的 EMR 笔记本。

先决条件

在为 EMR Notebooks 配置私有托管的 Git 存储库之前,您必须具备以下条件:

  • 保存 EMR 笔记本文件 Amazon S3 Control 的位置。

为 EMR Notebooks 配置一个或多个私有托管的 Git 存储库
  1. 使用提供的模板创建配置文件。为要在配置中指定的每个 Git 服务器包括以下值:

    • DnsServerIpV4 – 您的 DNS 服务器的 IPv4 地址。如果您同时提供 DnsServerIpV4GitServerIpV4List 的值,则 DnsServerIpV4 的值优先,并将用于解析您的 GitServerDnsName

      注意

      要使用私有托管的 Git 存储库,您的 DNS 服务器必须允许来自 EMR Notebooks 的入站访问。我们强烈建议您保护您的 DNS 服务器,防止其它未经授权的访问。

    • GitServerDnsName – 您的 Git 服务器的 DNS 名称。例如 "git.example.com"

    • GitServerIpV4List – 属于您的 Git 服务器的 IPv4 地址列表。

    [ { "Type": "PrivatelyHostedGitConfig", "Value": [ { "DnsServerIpV4": "<10.24.34.xxx>", "GitServerDnsName": "<enterprise.git.com>", "GitServerIpV4List": [ "<xxx.xxx.xxx.xxx>", "<xxx.xxx.xxx.xxx>" ] }, { "DnsServerIpV4": "<10.24.34.xxx>", "GitServerDnsName": "<git.example.com>", "GitServerIpV4List": [ "<xxx.xxx.xxx.xxx>", "<xxx.xxx.xxx.xxx>" ] } ] } ]
  2. 将配置文件另存为 configuration.json

  3. 将配置文件上载到名为 life-cycle-configuration 的文件夹中的指定 Amazon S3 存储位置。例如,如果您的默认 S3 位置是 s3://DOC-EXAMPLE-BUCKET/notebooks,则您的配置文件应位于 s3://DOC-EXAMPLE-BUCKET/notebooks/life-cycle-configuration/configuration.json

    重要

    我们强烈建议您将 life-cycle-configuration 文件夹的访问权限限制为仅您的 EMR Notebooks 管理员以及 EMR Notebooks 的服务角色。您还应该确保 configuration.json 免受未经授权的访问。有关说明,请参阅使用用户策略控制对存储桶的访问Amazon S3 的安全最佳实践

    有关上载说明,请参阅《Amazon Simple Storage Service 用户指南》中的创建文件夹上载对象