

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

# 工作者間加密
<a name="interworker-encryption"></a>

在 Amazon EMR 6.15.0 版及更高版本中，啟用 Spark 任務執行中工作者之間的交互 TLS 加密通訊。啟用時，EMR Serverless 會自動為任務執行下佈建的每個工作者產生並分配唯一的憑證。當這些工作者通訊交換控制訊息或傳輸隨機播放資料時，他們會建立相互 TLS 連線，並使用設定的憑證來驗證彼此的身分。如果工作者無法驗證另一個憑證，TLS 交握會失敗，EMR Serverless 會中止它們之間的連線。

如果您使用 Lake Formation 搭配 EMR Serverless，則預設會啟用交互 TLS 加密。

## 在 EMR Serverless 上啟用交互 TLS 加密
<a name="interworker-encryption-enable"></a>

若要在 Spark 應用程式上啟用交互 TLS 加密，請在[建立 EMR Serverless 應用程式](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/getting-started.html#gs-cli)時`spark.ssl.internode.enabled`將 設為 true。如果您使用 AWS 主控台建立 EMR Serverless 應用程式，請選擇**使用自訂設定**，然後展開**應用程式組態**，然後輸入您的 `runtimeConfiguration`。

```
aws emr-serverless create-application \
--release-label emr-6.15.0 \
--runtime-configuration '{
  "classification": "spark-defaults", 
  "properties": {"spark.ssl.internode.enabled": "true"}
}' \
--type "SPARK"
```

如果您想要為個別 Spark 任務執行啟用交互 TLS 加密，請在使用 時將 `spark.ssl.internode.enabled`設定為 true`spark-submit`。

```
--conf spark.ssl.internode.enabled=true
```