View a markdown version of this page

EMR Notebooks 的需求、發行版本的差異和安全性 - Amazon EMR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

EMR Notebooks 的需求、發行版本的差異和安全性

注意

EMR Notebooks 可在 主控台中做為 EMR Studio 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 及更新版本建立的叢集。請參閱 依叢集發行版本分類的功能差異。

    • 不支援搭配使用 Amazon EC2 執行個體與 AMD EPYC 處理器所建立的叢集 (例如 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支援安裝筆記本範圍的程式庫。不支援在叢集上安裝核心和程式庫。

    • 不支援具有多個主節點的叢集。

    • Amazon EMR 6.9.0+ 和 5.31.1+ 版支援 JupyterEnterpriseGateway 搭配 AWSGraviton 執行個體。

依叢集發行版本分類的功能差異

強烈建議您將 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 功能
叢集發行版本 針對 PySpark 的筆記本範圍庫 叢集上的核心安裝 在主節點上安裝 Python 程式庫

早於 5.18.0

不支援 EMR Notebooks

5.18.0–5.25.0

否

否

否

5.26.0–5.29.0

是

否

否

5.30.0

是

是

是

6.0.0

否

否

否

5.32.0 及更新版本,以及 6.2.0 及更新版本 是 是 是

同時附接 EMR Notebooks 的限制

在建立支援筆記本的叢集時,請考慮叢集主節點的 EC2 執行個體類型。這個 EC2 執行個體的記憶體限制,會決定筆記本的數量 (這些是已經準備就緒的筆記本,可在叢集上同時執行程式碼和查詢)。

主節點 EC2 執行個體類型 EMR Notebooks 的數量

*.medium

2

*.large

4

*.xlarge

8

*.2xlarge

16

*.4xlarge

24

*.8xlarge

24

*.16xlarge

24

Jupyter 筆記本和 Python 版本

EMR Notebooks 會執行 Jupyter 筆記本版本 6.0.2 和 Python 3.6.5,無論附接叢集的 Amazon EMR 發行版本為何。

安全相關考量

使用加密的 S3 位置

如果您在 Amazon S3 中指定加密位置來儲存筆記本檔案,則必須將 EMR Notebooks 的服務角色 設定為金鑰使用者。預設服務角色為 EMR_Notebooks_DefaultRole。如果您使用 AWS KMS金鑰進行加密,請參閱《 AWS Key Management Service開發人員指南》中的在 AWSKMS 中使用金鑰政策,以及新增金鑰使用者的支援文章。

將 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 頁面。