EMR Notebook 的需求、版本差異和安全性 - Amazon EMR

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

EMR Notebook 的需求、版本差異和安全性

注意

EMR 筆記本可在 主控台中作為 EMR Studio Workspaces 使用。主控台中的建立工作區按鈕可讓您建立新的筆記本。若要存取或建立 Workspaces,EMRNotebooks 使用者需要額外IAM的角色許可。如需詳細資訊,請參閱主控台中的 Amazon EMR Notebooks 是 Amazon EMR Studio WorkspacesAmazon EMR主控台

當您使用EMR筆記本建立叢集和開發解決方案時,請考慮下列需求、版本差異、安全資訊和其他考量事項。

叢集要求

  • 啟用 Amazon EMR Block Public Access – 叢集的傳入存取可讓叢集使用者執行筆記本核心。請確定只有授權的使用者可以存取叢集。我們強烈建議您讓區塊公有存取保持啟用狀態,並將傳入SSH流量限制為僅受信任的來源。如需詳細資訊,請參閱 使用 Amazon EMR區塊公有存取使用 Amazon EMR叢集的安全群組控制網路流量

  • 使用相容叢集 – 附接至筆記本的叢集必須符合下列要求:

    • 僅EMR支援使用 Amazon 建立的叢集。您可以在 Amazon 內獨立建立叢集,EMR然後連接EMR筆記本,或者您可以在建立EMR筆記本時建立相容的叢集。

    • 僅支援使用 Amazon EMR5.18.0 版及更新版本建立的叢集。請參閱 依叢集發行版本分類的功能差異

    • 不支援使用具有AMDEPYC處理器的 Amazon EC2執行個體建立的叢集,例如 m5a.* 和 r5a.* 執行個體類型。

    • EMR 筆記本僅適用於使用 VisibleToAllUsers 設定為 建立的叢集trueVisibleToAllUserstrue預設為 。

    • 叢集必須在 EC2- 內啟動VPC。可支援公有和私有子網路。不支援 EC2-Classic 平台。

    • 叢集啟動時必須已安裝 Hadoop、Spark 和 Livy。可能已安裝其他應用程式,但EMR筆記本目前僅支援 Spark 叢集。

      重要

      對於 Amazon EMR5.32.0 及更新版本,或 6.2.0 及更新版本,您的叢集也必須執行 Jupyter Enterprise Gateway 應用程式,才能使用EMR筆記本。

    • 不支援使用 Kerberos 身分驗證的叢集。

    • 與 整合的叢集僅 AWS Lake Formation 支援安裝筆記本通用型程式庫。不支援在叢集上安裝核心和程式庫。

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

    • 不支援使用以 AWS Graviton2 為基礎的 Amazon EC2執行個體的叢集。

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

我們強烈建議您使用EMR筆記本搭配使用 Amazon EMR5.30.0、5.32.0 或更新版本或 6.2.0 或更新版本建立的叢集。在這些版本中,EMR筆記本會在連接的 Amazon EMR叢集上執行核心。核心和程式庫可以直接安裝在叢集主節點上。將EMR筆記本與這些叢集版本搭配使用具有下列優點:

  • 改善效能 – 筆記本核心在叢集上執行,且具有您選擇的EC2執行個體類型。舊版會在無法調整大小、存取或自訂的特殊執行個體上執行核心。

  • 新增和自訂核心的能力 – 可以使用 condapip 連線到叢集來安裝核心套件。此外,在筆記本儲存格內使用終端機命令支援 pip 安裝。在舊版中,只有預先安裝的核心可用 (Python、、 PySparkSpark 和 SparkR。如需詳細資訊,請參閱在叢集主節點上安裝核心和 Python 程式庫

  • 安裝 Python 程式庫的能力 – 可以使用 condapip在叢集主節點上安裝 Python 程式庫。我們建議您使用 conda。對於舊版,僅 PySpark 支援 的筆記本範圍程式庫

叢集版本支援的EMR筆記本功能
叢集發行版本 適用於 的筆記本範圍程式庫 PySpark 叢集上的核心安裝 在主節點上安裝 Python 程式庫

早於 5.18.0

EMR 不支援筆記本

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筆記本的限制

當您建立支援筆記本的叢集時,請考慮叢集主要節點的EC2執行個體類型。此EC2執行個體的記憶體限制會決定可同時準備好在叢集上執行程式碼和查詢的筆記本數量。

主要節點EC2執行個體類型 EMR 筆記本數量

*.medium

2

*.large

4

*.xlarge

8

*.2xlarge

16

*.4xlarge

24

*.8xlarge

24

*.16xlarge

24

Jupyter 筆記本和 Python 版本

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

安全相關考量

使用加密的 S3 位置

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

將 Cookie 與託管網域搭配使用

為了增強您可以與 Amazon 搭配使用的主控台外應用程式的安全性EMR,應用程式託管網域會在公有字尾清單中註冊 (PSL)。這些託管網域的範例包括:emrstudio-prod.us-east-1.amazonaws.com.rproxy.goskope.comemrnotebooks-prod.us-east-1.amazonaws.com.rproxy.goskope.comemrappui-prod.us-east-1.amazonaws.com。為了加強安全性,如果您需要在預設網域名稱中設定敏感性 Cookie,我們建議您使用具 __Host- 前置詞的 Cookie。這有助於保護您的網域免受跨網站請求偽造嘗試 (CSRF)。如需詳細資訊,請參閱 Set-Cookie Mozilla 開發人員網路 中的 頁面。