本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
将EMR笔记本与存储库集成时的先决条件和注意事项
在计划将基于 Git 的存储库与 EMR Notebook 集成时,请考虑以下有关提交、权限和托管的最佳实践。
注意
EMR笔记本电脑可在控制台中作为 EMR Studio 工作区使用。控制台中的 “创建工作区” 按钮允许您创建新的笔记本。要访问或创建工作区,EMRNotebook 用户需要额外的IAM角色权限。有关更多信息,请参阅 Amazon EMR Notebook 是控制台和亚马逊控制台中的 Ama z EMR on EMR Studio 工作空间。
AWS CodeCommit
如果您使用 CodeCommit 存储库,则必须使用 Git 凭据和HTTPS CodeCommit。SSH不支持HTTPS使用 AWS CLI 凭证助手的密钥和密钥。 CodeCommit 不支持个人访问令牌 (PATs)。有关更多信息,请参阅《用户指南》中的 “使用IAM与 CodeCommit:Git 凭据、SSH密钥和 AWS 访问密钥一起使用” 和 “IAM用户指南” 中的 “使用 Git 凭据的AWS CodeCommit 用户设置”。HTTPS
访问和权限注意事项
在将存储库与笔记本关联之前,请确保您的集群、N EMR otebook IAM 角色和安全组具有正确的设置和权限。您还可以按照为笔记本配置私有托管的 Git 存储库 EMR中的说明配置在专用网络中托管的基于 Git 的存储库。
-
集群互联网访问 – 启动的网络接口只有一个私有 IP 地址。这意味着您的笔记本电脑连接的集群必须位于带有网络地址转换 (NAT) 网关的私有子网中,或者必须能够通过虚拟专用网关访问互联网。有关更多信息,请参阅 Amazon VPC 选项。
笔记本的安全组必须包含出站规则,以便允许笔记本将流量从集群路由到 Internet。建议您创建自己的安全组。有关更多信息,请参阅为EMR笔记本指定EC2安全组。
重要
如果网络接口启动到公有子网,它将无法通过互联网网关与互联网通信(IGW)。
-
的权限 AWS Secrets Manager — 如果您使用 Secrets Manager 存储用于访问仓库的机密,则EMR笔记本电脑的服务角色必须附加允许该
secretsmanager:GetSecretValue
操作的权限策略。
为笔记本配置私有托管的 Git 存储库 EMR
按照以下说明为 Notebook 配置私有托管存储库。EMR您必须提供包含有关您DNS和 Git 服务器信息的配置文件。Amazon EMR 使用这些信息来配置可以将流量路由到您的私人托管存储库的EMR笔记本。
先决条件
在为 Notebook 配置私有托管的 Git 存储库EMR之前,必须具备以下条件:
-
用于保存EMR笔记本文件 Amazon S3 Control 的位置。
为笔记本配置一个或多个私有托管的 Git 存储库 EMR
-
使用提供的模板创建配置文件。为要在配置中指定的每个 Git 服务器包括以下值:
-
DnsServerIpV4
-您的DNS服务器IPv4地址。如果您同时提供DnsServerIpV4
和GitServerIpV4List
的值,则DnsServerIpV4
的值优先,并将用于解析您的GitServerDnsName
。注意
要使用私有托管的 Git 存储库,DNS您的服务器必须允许从 Notebook 进行入站访问EMR。我们强烈建议您保护您的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 Notebook 管理员和 Not EMR ebook 的服务角色。您还应该确保configuration.json
免受未经授权的访问。有关说明,请参阅使用用户策略控制对存储桶的访问或 Amazon S3 的安全最佳实践。