本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将 EMR Notebook 与存储库集成的先决条件和注意事项
在计划将 Git-based 存储库与 EMR Notebooks 集成时,请考虑以下有关提交、权限和托管的最佳实践。
注意
EMR Notebooks 在控制台中作为 Amazon EMR Studio Workspaces 提供。通过控制台中的创建 Workspace 按钮,可以创建新的 Notebooks。要访问或创建 Workspaces,EMR Notebooks 用户需要额外的 IAM 角色权限。有关更多信息,请参阅 Amazon EMR Notebooks 是控制台中的 Amazon EMR Studio Workspaces 和 Amazon EMR 控制台。
AWS CodeCommit
如果您使用 CodeCommit 存储库,则必须使用 Git 凭据和 HTTPS CodeCommit。不支持 SSH 密钥和带有 AWS CLI 凭据助手的 HTTPS。 CodeCommit 不支持个人访问令牌 (PAT)。有关更多信息,请参阅 IAM 用户指南中的 IAM 与 CodeCommit Git 证书、SSH 密钥和 AWS 访问密钥一起使用,以及用户指南中的使用 Git 凭证的 HTTPS AWS CodeCommit 用户设置。
访问和权限注意事项
在将存储库与 Notebook 关联之前,请确保集群、EMR Notebooks 的 IAM 角色和安全组具有正确的设置和权限。您也可以按照中的说明配置在私有网络中托管的 Git-based 存储库为 EMR Notebooks 配置私有托管的 Git 存储库。
-
集群互联网访问:启动的网络接口只有一个私有 IP 地址。这意味着 Notebook 连接到的集群必须位于具有网络地址转换 (NAT) 网关的私有子网中,或者必须能够通过虚拟私有网关访问 Internet。有关更多信息,请参阅 Amazon VPC 选项。
Notebook 的安全组必须包含出站规则,以便允许 Notebook 将流量从集群路由到 Internet。建议您创建自己的安全组。有关更多信息,请参阅为 EMR Notebooks 指定 EC2 安全组。
重要
如果网络接口启动到公有子网中,它将无法通过互联网网关(IGW)与互联网通信。
-
的权限 AWS Secrets Manager — 如果您使用 Secrets Manager 存储用于访问仓库的机密,则EMR Notebooks 的服务角色必须附加允许
secretsmanager:GetSecretValue执行该操作的权限策略。
为 EMR Notebooks 配置私有托管的 Git 存储库
使用以下说明为 EMR Notebooks 配置私有托管的存储库。您必须提供一个配置文件,其中包含有关您的 DNS 和 Git 服务器的信息。Amazon EMR 使用此信息配置将流量路由到您的私有托管存储库的 EMR Notebooks。
先决条件
在为 EMR Notebooks 配置私有托管的 Git 存储库之前,您必须具备以下条件:
-
保存 EMR 笔记本文件 Amazon S3 Control 的位置。
为 EMR Notebooks 配置一个或多个私有托管的 Git 存储库
-
使用提供的模板创建配置文件。为要在配置中指定的每个 Git 服务器包括以下值:
-
DnsServerIpV4:您的 DNS 服务器的 IPv4 地址。如果您同时提供DnsServerIpV4和GitServerIpV4List的值,则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>" ] } ] } ] -
-
将配置文件另存为
configuration.json。 -
将配置文件上载到名为
life-cycle-configuration的文件夹中的指定 Amazon S3 存储位置。例如,如果您的默认 S3 位置是s3://amzn-s3-demo-bucket/notebooks,则您的配置文件应位于s3://amzn-s3-demo-bucket/notebooks/life-cycle-configuration/configuration.json。重要
我们强烈建议您将
life-cycle-configuration文件夹的访问权限限制为仅您的 EMR Notebooks 管理员以及 EMR Notebooks 的服务角色。您还应该确保configuration.json免受未经授权的访问。有关说明,请参阅使用用户策略控制对存储桶的访问或 Amazon S3 的安全最佳实践。