使用 Amazon EMR 受管安全群組 - Amazon EMR

使用 Amazon EMR 受管安全群組

注意

Amazon EMR 旨在為可能具有冒犯性或非包容性的產業術語 [例如 "master" (主) 和 "slave" (從屬)] 使用包容性替代術語。我們已轉換為新術語,以培養更具包容性的體驗並促進您對服務元件的理解。

現在,我們將「節點」描述為執行個體,將 Amazon EMR 執行個體類型描述為主要核心任務執行個體。在轉換期間,您可能仍然會發現對過時術語的舊參考,例如與 Amazon EMR 安全群組相關的術語。

不同的受管安全群組,會和主要執行個體及叢集中的核心與任務執行個體關聯。當您在私有子網路中建立叢集時,會需要額外的受管安全群組以存取服務。關於您網路組態的受管安全群組角色,詳細資訊請參閱 Amazon VPC 選項

當您指定叢集的受管安全群組時,您必須針對所有的受管安全群組,使用相同類型的安全群組 (預設或自訂)。例如,您不能指定主要執行個體的自訂安全群組,然後不指定核心執行個體與任務執行個體的自訂安全群組。

如果使用預設受管安全群組,則不需要在建立叢集時指定這些群組。Amazon EMR 會自動使用預設值。此外,如果叢集的 VPC 中尚未存在預設值,Amazon EMR 將建立預設值。如果您明確指定它們但尚未存在,Amazon EMR 也會予以建立。

您可以在建立叢集之後,編輯受管安全群組中的規則。當您建立新的叢集時,Amazon EMR 會針對您所指定的受管安全群組,檢查其中的規則,然後在先前可能已經新增的規則之外,再建立新叢集所需任何遺漏的傳入規則。除非明確說明,否則預設 Amazon EMR 受管安全群組的每個規則也會新增到您指定的自訂 Amazon EMR 受管安全群組。

預設的受管安全群組如下:

適用於主要執行個體的 Amazon EMR 受管安全群組 (公有子網路)

公有子網路中適用於主要執行個體的預設受管安全群組具有 ElasticMapReduce-primary群組名稱。其具有下列規則。如果您指定自訂受管安全群組,Amazon EMR 會將所有相同規則新增至您的自訂安全群組。

類型 通訊協定 連接埠範圍 來源 詳細資訊
傳入規則
所有 ICMP-IPv4 全部 N/A 適用於主要執行個體的受管安全群組的群組 ID。也就是包含規則的同一個安全群組。

這些自反規則,會允許與指定安全群組相關的任何執行個體,所傳入的流量。針對多個叢集使用預設的 ElasticMapReduce-primary,可讓這些叢集的核心節點和任務節點,透過 ICMP 或任何 TCP 或 UDP 連接埠,來與彼此進行通訊。指定自訂的受管安全群組,來限制跨叢集存取。

所有 TCP TCP 全部
所有 UDP UDP 全部
所有 ICMP-IPV4 全部 N/A 受管安全群組的群組 ID (針對核心節點和任務節點所指定)。

即使執行個體位於不同的叢集中,這些規則也可針對與指定安全群組相關聯的任何核心執行個體和任務執行個體,允許所有的傳入的 ICMP 流量,以及從這些執行個體透過任何 TCP 或 UDP 連接埠傳送的流量。

所有 TCP TCP 全部
所有 UDP UDP 全部
自訂 TCP 8443 各種 Amazon IP 地址範圍 這些規則可讓叢集管理程式與主節點進行通訊。
透過舊主控台,授予受信任來源對主要安全群組的 SSH 存取

若要編輯安全群組,您必須擁有許可,才能管理叢集所在 VPC 的安全群組。如需詳細資訊,請參閱《IAM 使用者指南》中的變更使用者許可和允許管理 EC2 安全群組的範例政策

  1. 導覽至新的 Amazon EMR 主控台,然後從側邊導覽選取切換至舊主控台。如需有關切換至舊主控台時預期情況的詳細資訊,請參閱使用舊主控台

  2. 選擇 Clusters (叢集)。選擇您要修改的叢集名稱

  3. 安全和存取下,選擇主叢集的安全群組連結。

  4. 從清單中選擇 ElasticMapReduce-master (ElasticMapReduce-master)

  5. 選擇傳入規則標籤,然後選擇編輯傳入規則

  6. 使用下列設定,檢查允許公有存取的傳入規則。如果存在,請選擇刪除將其移除。

    • 類型

      SSH

    • 連接埠

      22

    • Source (來源)

      自訂 0.0.0.0/0

    警告

    在 2020 年 12 月之前,ElasticMapReduce-master 安全群組已預先設定規則,允許來自所有來源的連接埠 22 上的傳入流量。建立此規則是為了簡化與主節點的初始 SSH 連線。強烈建議您移除此傳入規則,並限制信任來源的流量。

  7. 捲動至規則列表底部並選擇新增規則

  8. 針對 Type (類型),選擇 SSH (SSH)

    選取 SSH 會自動為協定輸入 TCP,並為連接埠範圍輸入 22

  9. 對於來源,請選取我的 IP,自動將您的 IP 地址新增為來源位址。也可新增一系列自訂受信任用戶端 IP 地址,或為其他用戶端建立額外的規則。許多網路環境會動態分配 IP 地址,因此您將來可能需要更新受信任用戶端的 IP 地址。

  10. 選擇 Save (儲存)。

  11. 或者,從清單中選擇 ElasticMapReduce-slave (ElasticMapReduce-slave),並重複上述步驟,以允許 SSH 用戶端存取核心節點和任務節點。

適用於核心和任務執行個體的 Amazon EMR 受管安全群組 (公有子網路)

公有子網路中適用於核心和任務執行個體的預設受管安全群組具有 ElasticMapReduce-core群組名稱。預設受管安全群組具有下列規則,如果您指定自訂受管安全群組,Amazon EMR 也會新增相同規則。

類型 通訊協定 連接埠範圍 來源 詳細資訊
傳入規則
所有 ICMP-IPV4 全部 N/A 受管安全群組的群組 ID (適用於核心執行個體和任務執行個體)。也就是包含規則的同一個安全群組。

這些自反規則,會允許與指定安全群組相關的任何執行個體,所傳入的流量。針對多個叢集使用預設的 ElasticMapReduce-core,可讓這些叢集的核心執行個體和任務執行個體,透過 ICMP 或任何 TCP 或 UDP 連接埠,來與彼此進行通訊。指定自訂的受管安全群組,來限制跨叢集存取。

所有 TCP TCP 全部
所有 UDP UDP 全部
所有 ICMP-IPV4 全部 N/A 適用於主要執行個體的受管安全群組的群組 ID。

即使執行個體位於不同的叢集中,這些規則也可針對與指定安全群組相關聯的任何主要執行個體,允許所有的傳入的 ICMP 流量,以及從這些執行個體透過任何 TCP 或 UDP 連接埠傳送的流量。

所有 TCP TCP 全部
所有 UDP UDP 全部

適用於主要執行個體的 Amazon EMR 受管安全群組 (私有子網路)

私有子網路中適用於主要執行個體的預設受管安全群組具有 ElasticMapReduce-Primary-Private群組名稱。預設受管安全群組具有下列規則,如果您指定自訂受管安全群組,Amazon EMR 也會新增相同規則。

類型 通訊協定 連接埠範圍 來源 詳細資訊
傳入規則
所有 ICMP-IPv4 全部 N/A 適用於主要執行個體的受管安全群組的群組 ID。也就是包含規則的同一個安全群組。

這些自反規則,會允許與指定安全群組相關的任何執行個體,所傳入的流量,而且可從私有子網路中存取。針對多個叢集使用預設的 ElasticMapReduce-Primary-Private,可讓這些叢集的核心節點和任務節點,透過 ICMP 或任何 TCP 或 UDP 連接埠,來與彼此進行通訊。指定自訂的受管安全群組,來限制跨叢集存取。

所有 TCP TCP 全部
所有 UDP UDP 全部
所有 ICMP-IPV4 全部 N/A 受管安全群組的群組 ID (適用於核心節點和任務節點)。

即使執行個體位於不同的叢集中,這些規則也可針對與指定安全群組相關聯的任何核心執行個體和任務執行個體 (可從私有子網路與其連線),允許所有的傳入的 ICMP 流量,以及從這些執行個體透過任何 TCP 或 UDP 連接埠傳送的流量。

所有 TCP TCP 全部
所有 UDP UDP 全部
HTTPS (8443) TCP 8443 受管安全群組的群組 ID,用來在私有子網路中存取服務。 此規則可允許叢集管理程式與主節點進行通訊。
傳出規則
所有流量 全部 全部 0.0.0.0/0 提供對外存取網際網路。
自訂 TCP TCP 9443 受管安全群組的群組 ID,用來在私有子網路中存取服務。

如果移除上面的「所有流量」預設傳出規則,則此規則是 Amazon EMR 5.30.0 及更新版本的最低需求。

注意

在您使用自訂受管安全群組時,Amazon EMR 不會新增此規則。

自訂 TCP TCP 80 (http) 或 443 (https) 受管安全群組的群組 ID,用來在私有子網路中存取服務。

如果移除上面的「所有流量」預設傳出規則,則此規則是 Amazon EMR 5.30.0 及更新版本透過 https 連接至 Amazon S3 的最低需求。

注意

在您使用自訂受管安全群組時,Amazon EMR 不會新增此規則。

適用於核心和任務執行個體的 Amazon EMR 受管安全群組 (私有子網路)

私有子網路中適用於核心和任務執行個體的預設受管安全群組具有 ElasticMapReduce-Core-Private群組名稱。預設受管安全群組具有下列規則,如果您指定自訂受管安全群組,Amazon EMR 也會新增相同規則。

類型 通訊協定 連接埠範圍 來源 詳細資訊
傳入規則
所有 ICMP-IPV4 全部 N/A 受管安全群組的群組 ID (適用於核心執行個體和任務執行個體)。也就是包含規則的同一個安全群組。

這些自反規則,會允許與指定安全群組相關的任何執行個體,所傳入的流量。針對多個叢集使用預設的 ElasticMapReduce-core,可讓這些叢集的核心執行個體和任務執行個體,透過 ICMP 或任何 TCP 或 UDP 連接埠,來與彼此進行通訊。指定自訂的受管安全群組,來限制跨叢集存取。

所有 TCP TCP 全部
所有 UDP UDP 全部
所有 ICMP-IPV4 全部 N/A 適用於主要執行個體的受管安全群組的群組 ID。

即使執行個體位於不同的叢集中,這些規則也可針對與指定安全群組相關聯的任何主要執行個體,允許所有的傳入的 ICMP 流量,以及從這些執行個體透過任何 TCP 或 UDP 連接埠傳送的流量。

所有 TCP TCP 全部
所有 UDP UDP 全部
HTTPS (8443) TCP 8443 受管安全群組的群組 ID,用來在私有子網路中存取服務。 此規則可允許叢集管理程式和核心節點與任務節點進行通訊。
傳出規則
所有流量 全部 全部 0.0.0.0/0 請參閱以下 編輯傳出規則
自訂 TCP TCP 80 (http) 或 443 (https) 受管安全群組的群組 ID,用來在私有子網路中存取服務。

如果移除上面的「所有流量」預設傳出規則,則此規則是 Amazon EMR 5.30.0 及更新版本透過 https 連接至 Amazon S3 的最低需求。

注意

在您使用自訂受管安全群組時,Amazon EMR 不會新增此規則。

編輯傳出規則

依預設,Amazon EMR 會建立此安全群組,其中包含允許所有協定和連接埠上的所有傳出流量的傳出規則。選取允許所有傳出流量是因為可以在 Amazon EMR 叢集上執行的各種 Amazon EMR 和客戶應用程式可能需要不同的輸出規則。在建立預設的安全群組時,Amazon EMR 無法預測這些特定設定。您可以縮小安全群組中的輸出範圍,以僅包含適合您的使用案例和安全政策的規則。此安全群組至少需要下列輸出規則,但部分應用程式可能需要額外的輸出規則。

類型 通訊協定 連接埠範圍 目的地 詳細資訊
所有 TCP TCP 全部 pl-xxxxxxxx 受管 Amazon S3 字首清單 com.amazonaws.MyRegion.s3
所有流量 全部 全部 sg-xxxxxxxxxxxxxxxxx ElasticMapReduce-Core-Private 安全群組的 ID。
所有流量 全部 全部 sg-xxxxxxxxxxxxxxxxx ElasticMapReduce-Primary-Private 安全群組的 ID。
自訂 TCP TCP 9443 sg-xxxxxxxxxxxxxxxxx ElasticMapReduce-ServiceAccess 安全群組的 ID。

適用於存取服務的 Amazon EMR 受管安全群組 (私有子網路)

私有子網路中適用於服務存取的預設受管安全群組具有 ElasticMapReduce-ServiceAccess群組名稱。該群組具有傳入與傳出規則,可允許透過 HTTPS (連接埠 8443、連接埠 9443),將流量傳送到私有子網路中的其他受管安全群組。這些規則可讓叢集管理程式與主節點、核心節點和任務節點進行通訊。如要指定自訂的安全群組,則必須使用相同的規則。

類型 通訊協定 連接埠範圍 來源 詳細資訊
傳入規則 搭配 Amazon EMR 5.30.0 及更新版本的 Amazon EMR 叢集的必要項目。
自訂 TCP TCP 9443 適用於主要執行個體的受管安全群組的群組 ID。

此規則允許主要執行個體的安全群組與服務存取安全群組之間的通訊。

傳出規則 所有 Amazon EMR 叢集的必要項目
自訂 TCP TCP 8443 適用於主要執行個體的受管安全群組的群組 ID。

這些規則可讓叢集管理程式與主節點、核心節點和任務節點進行通訊。

自訂 TCP TCP 8443 受管安全群組的群組 ID (適用於核心執行個體和任務執行個體)。

這些規則可讓叢集管理程式與主節點、核心節點和任務節點進行通訊。