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

先决条件和注意事项

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

Amazon CodeCommit

如果您使用 CodeCommit 存储库,则必须对 CodeCommit 使用 Git 凭证和 HTTPS。不支持 SSH 密钥和带有 Amazon CLI 凭证辅助程序的 HTTPS。CodeCommit 不支持个人访问令牌(PAT)。有关更多信息,请参阅《IAM 用户指南》中的将 IAM 与 CodeCommit 结合使用:Git 凭证、SSH 密钥和 Amazon 访问密钥和《Amazon CodeCommit 用户指南》中的适用于使用 Git 凭证的 HTTPS 用户的设置

访问和权限注意事项

在将存储库与笔记本关联之前,请确保集群、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 Notebooks。

先决条件

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

  • 将保存 EMR Notebooks 文件的 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 用户指南》中的创建文件夹上传对象