

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

# 使用 Amazon EMR 受管安全群組
<a name="emr-man-sec-groups"></a>

**注意**  
Amazon EMR 旨在為可能具有冒犯性或非包容性的產業術語 [例如 "master" (主) 和 "slave" (從屬)] 使用包容性替代術語。我們已轉換為新術語，以培養更具包容性的體驗並促進您對服務元件的理解。  
現在，我們將「節點」描述為**執行個體**，將 Amazon EMR 執行個體類型描述為**主要**、**核心**和**任務**執行個體。在轉換期間，您可能仍然會發現對過時術語的舊參考，例如與 Amazon EMR 安全群組相關的術語。

不同的受管安全群組，會和主要執行個體及叢集中的核心與任務執行個體關聯。當您在私有子網路中建立叢集時，會需要額外的受管安全群組以存取服務。關於您網路組態的受管安全群組角色，詳細資訊請參閱 [啟動叢集時的 Amazon VPC 選項](emr-clusters-in-a-vpc.md)。

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

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

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

預設的受管安全群組如下：
+ **ElasticMapReduce-primary**

  如需此安全群組中的規則，請參閱 [適用於主要執行個體的 Amazon EMR 受管安全群組 (公有子網路)](#emr-sg-elasticmapreduce-master)。
+ **ElasticMapReduce-core**

  如需此安全群組中的規則，請參閱 [適用於核心和任務執行個體的 Amazon EMR 受管安全群組 (公有子網路)](#emr-sg-elasticmapreduce-slave)。
+ **ElasticMapReduce-Primary-Private**

  如需此安全群組中的規則，請參閱 [適用於主要執行個體的 Amazon EMR 受管安全群組 (私有子網路)](#emr-sg-elasticmapreduce-master-private)。
+ **ElasticMapReduce-Core-Private**

  如需此安全群組中的規則，請參閱 [適用於核心和任務執行個體的 Amazon EMR 受管安全群組 (私有子網路)](#emr-sg-elasticmapreduce-slave-private)。
+ **ElasticMapReduce-ServiceAccess**

  如需此安全群組中的規則，請參閱 [適用於存取服務的 Amazon EMR 受管安全群組 (私有子網路)](#emr-sg-elasticmapreduce-sa-private)。

## 適用於主要執行個體的 Amazon EMR 受管安全群組 (公有子網路)
<a name="emr-sg-elasticmapreduce-master"></a>

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

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/emr/latest/ManagementGuide/emr-man-sec-groups.html)

**使用主控台授予受信任來源 SSH 對主要安全群組的存取權**

若要編輯安全群組，您必須擁有許可，才能管理叢集所在 VPC 的安全群組。如需詳細資訊，請參閱《IAM 使用者指南》**中的[變更使用者許可](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html)和允許管理 EC2 安全群組的[範例政策](https://docs.aws.amazon.com//IAM/latest/UserGuide/reference_policies_examples_ec2_securitygroups-vpc.html)。

1. 登入 AWS 管理主控台，並在 https：//[https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr) 開啟 Amazon EMR 主控台。

1. 選擇 **Clusters (叢集)**。選擇您要修改的叢集 **ID**。

1. 在**網路和安全**窗格中，展開 **EC2 安全群組 （防火牆）** 下拉式清單。

1. 在**主節點**下，選擇您的安全群組。

1. 選擇 **Edit inbound Rules** (編輯傳入規則)。

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

     SSH
   + **連接埠**

     22
   + **來源**

     自訂 0.0.0.0/0
**警告**  
在 2020 年 12 月之前，有一個預先設定的規則，允許來自所有來源的連接埠 22 上的傳入流量。建立此規則是為了簡化與主節點的初始 SSH 連線。強烈建議您移除此傳入規則，並限制信任來源的流量。

1. 捲動至規則列表底部並選擇**新增規則**。

1. 針對 **Type (類型)**，選擇 **SSH (SSH)**。

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

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

1. 選擇**儲存**。

1. 或者，在網路和安全窗格**的核心節點和任務節點**下選擇其他**安全**群組，並重複上述步驟，以允許 SSH 用戶端存取核心節點和任務節點。

## 適用於核心和任務執行個體的 Amazon EMR 受管安全群組 (公有子網路)
<a name="emr-sg-elasticmapreduce-slave"></a>

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

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/emr/latest/ManagementGuide/emr-man-sec-groups.html)

## 適用於主要執行個體的 Amazon EMR 受管安全群組 (私有子網路)
<a name="emr-sg-elasticmapreduce-master-private"></a>

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

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/emr/latest/ManagementGuide/emr-man-sec-groups.html)

## 適用於核心和任務執行個體的 Amazon EMR 受管安全群組 (私有子網路)
<a name="emr-sg-elasticmapreduce-slave-private"></a>

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

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/emr/latest/ManagementGuide/emr-man-sec-groups.html)

### 編輯傳出規則
<a name="private-sg-egress-rules"></a>

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


| Type | 通訊協定 | 連接埠範圍 | 目標 | 詳細資訊 | 
| --- | --- | --- | --- | --- | 
| 所有 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 受管安全群組 (私有子網路)
<a name="emr-sg-elasticmapreduce-sa-private"></a>

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


| Type | 通訊協定 | 連接埠範圍 | 來源 | 詳細資訊 | 
| --- | --- | --- | --- | --- | 
| 傳入規則 搭配 Amazon EMR 5.30.0 及更新版本的 Amazon EMR 叢集的必要項目。 | 
| 自訂 TCP | TCP | 9443 | 適用於主要執行個體的受管安全群組的群組 ID。 |  此規則允許主要執行個體的安全群組與服務存取安全群組之間的通訊。 | 
| 傳出規則 所有 Amazon EMR 叢集的必要項目 | 
| 自訂 TCP | TCP | 8443 | 適用於主要執行個體的受管安全群組的群組 ID。 |  這些規則可讓叢集管理程式與主節點、核心節點和任務節點進行通訊。 | 
| 自訂 TCP | TCP | 8443 | 受管安全群組的群組 ID (適用於核心執行個體和任務執行個體)。 |  這些規則可讓叢集管理程式與主節點、核心節點和任務節點進行通訊。 | 