本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
EMR Notebooks 的要求、发行版本差异和安全性
注意
EMR Notebooks 在控制台中作为 Amazon EMR Studio Workspaces 提供。通过控制台中的创建工作区按钮,可以创建新的笔记本。要访问或创建 Workspaces,EMR Notebooks 用户需要额外的 IAM 角色权限。有关更多信息,请参阅 Amazon EMR Notebooks 是控制台中的 Amazon EMR Studio Workspaces 和 Amazon EMR 控制台。
使用 EMR 笔记本创建集群和开发解决方案时,请考虑以下要求、发行版本差异、安全信息和其他注意事项。
集群要求
-
启用 Amazon EMR 阻止公有访问 – 通过对集群进行入站访问,集群用户能够执行笔记本内核。确保只有授权用户才能访问集群。我们强烈建议您将阻止公有访问保持启用状态,并将入站 SSH 流量仅限于可靠来源。有关更多信息,请参阅使用 Amazon EMR 屏蔽公共访问和使用安全组控制您的 Amazon EMR 集群的网络流量。
-
使用兼容的集群 – 附加到笔记本的集群必须满足以下要求:
-
仅支持使用 Amazon EMR 创建的集群。您可以在 Amazon EMR 中单独创建集群,然后附加 EMR 笔记本,也可以在创建 EMR 笔记本时创建可兼容的集群。
-
仅支持使用 Amazon EMR 发行版 5.18.0 及更高版本创建的集群。请参阅 集群发行版的功能差异。
-
不支持使用具有 AMD EPYC 处理器的 Amazon EC2 实例创建的集群(例如 m5a.* 和 r5a.* 实例类型)。
-
EMR Notebooks 仅适用于在
VisibleToAllUsers
设置为true
的情况下创建的集群。默认情况下VisibleToAllUsers
为true
。 -
必须在 EC2-VPC 内启动集群。支持公有和私有子网。不支持 EC2-Classic 平台。
-
启动的集群必须安装有 Hadoop、Spark 和 Livy。可以安装其它应用程序,但 EMR Notebooks 目前仅支持 Spark 集群。
重要
对于 Amazon EMR 发行版本 5.32.0 及更高版本或 6.2.0 及更高版本,您的集群还必须运行 Jupyter Enterprise Gateway 应用程序才能使用 EMR Notebooks。
-
不支持使用 Kerberos 身份验证的集群。
-
与 AWS Lake Formation 集成的集群仅支持安装笔记本范围的库。不支持在集群上安装内核和库。
-
不支持具有多个主节点的集群。
-
不支持使用基于 AWS Graviton2 的 Amazon EC2 实例的集群
-
集群发行版的功能差异
我们强烈建议您将 EMR Notebooks 与使用 Amazon EMR 发行版本 5.30.0、5.32.0 或更高版本或 6.2.0 或更高版本创建的集群一起使用。借助这些版本,EMR Notebooks 在附加的 Amazon EMR 集群上运行内核。内核和库可直接安装到集群主节点上。将 EMR Notebooks 与这些集群版本结合使用具有以下好处:
-
提高了性能 – 笔记本内核在具有所选 EC2 实例类型的集群上运行。早期版本在无法调整大小、访问或自定义的专用实例上运行内核。
-
能够添加和自定义内核 – 您可以使用
conda
和pip
连接到集群来安装内核包。此外,支持在笔记本单元中使用终端命令来安装pip
。在早期版本中,仅预安装的内核可用(Python、PySpark、Spark 和 SparkR)。有关更多信息,请参阅 在集群主节点上安装内核和 Python 库。 -
能够安装 Python 库 - 您可以使用
conda
和pip
在集群主节点上安装 Python 库。我们建议使用conda
。对于早期版本,仅支持适用于 PySpark 的笔记本范围的库。
并发附加的 EMR Notebooks 的限制
创建支持笔记本的集群时,请考虑集群主节点的 EC2 实例类型。此 EC2 实例的内存限制决定了可以同时准备好在集群上运行代码和查询的笔记本的数量。
主节点 EC2 实例类型 | EMR Notebooks 数量 |
---|---|
*.medium |
2 |
*.large |
4 |
*.xlarge |
8 |
*.2xlarge |
16 |
*.4xlarge |
24 |
*.8xlarge |
24 |
*.16xlarge |
24 |
Jupyter notebook 和 Python 版本
EMR Notebooks 运行 Jupyter notebook 版本 6.0.2
安全注意事项
- 使用加密的 S3 位置
-
如果在 Amazon S3 中指定一个加密位置来存储笔记本文件,则必须将 EMR笔记本电脑的服务角色 设置为密钥用户。默认服务角色为
EMR_Notebooks_DefaultRole
。如果您使用 AWS KMS 密钥进行加密,请参阅《AWS Key Management Service 开发人员指南》中的在 AWS KMS 中使用密钥策略和添加密钥用户的支持文章。 - 在托管域中使用 Cookie
-
为了增强可能与 Amazon EMR 结合使用的非控制台应用程序的安全性,应用程序托管域已在公共后缀列表(PSL)中注册。这些托管域的示例包括以下各项:
emrstudio-prod.us-east-1.amazonaws.com
、emrnotebooks-prod.us-east-1.amazonaws.com
、emrappui-prod.us-east-1.amazonaws.com
。为进一步增强安全性,如果您需要在默认域名中设置敏感 Cookie,我们建议您使用带__Host-
前缀的 Cookie。这将有助于保护您的域,防范跨站点请求伪造(CSRF)攻击。有关更多信息,请参阅 Mozilla 开发者网络中的 Set-Cookie页面。