

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

# 為您的 Amazon EMR 叢集選擇 AWS 區域
<a name="emr-plan-region"></a>

在全球各地資料中心的伺服器上執行的 Amazon Web Services。資料中心依地理區域進行組織。在您啟動 Amazon EMR 叢集時，必須指定區域。您可以選擇區域以減少延遲、最大限度地降低成本或因應法規需求。如需 Amazon EMR 支援的區域與端點清單，請參閱《Amazon Web Services 一般參考》**中的[區域與端點](https://docs.aws.amazon.com/general/latest/gr/#emr_region)。

為獲得最佳效能，您應該啟動與資料相同區域中的叢集。例如，如果 Amazon S3 儲存貯體將您的輸入資料儲存在美國西部 (奧勒岡) 區域，您應該在美國西部 (奧勒岡) 區域中啟動您的叢集，以避免跨區域資料傳輸費用。如果使用一個 Amazon S3 儲存貯體來接收叢集的輸出，您也會想在美國西部 (奧勒岡) 區域中建立一個 Amazon S3 儲存貯體。

如果您打算將一個 Amazon EC2 金鑰對與叢集關聯 (必須使用 SSH 以登入至主節點)，金鑰對必須建立在與叢集相同的區域。同樣地，Amazon EMR 建立用來管理該叢集的安全群組，也是建立在與叢集相同的區域中。

如果您在 2017 年 5 月 17 日 AWS 帳戶 或之後註冊 ，當您從 AWS 管理主控台 存取資源時的預設區域為美國東部 （俄亥俄） (us-east-2)；對於較舊的帳戶，預設區域為美國西部 （奧勒岡） (us-west-2) 或美國東部 （維吉尼亞北部） (us-east-1)。如需詳細資訊，請參閱 [ 區域與端點](https://docs.aws.amazon.com/general/latest/gr/rande.html)。

某些 AWS 功能僅適用於有限的 區域。例如，叢集運算執行個體僅在美國東部 (維吉尼亞北部) 區域中提供，亞太區域 (雪梨) 區域僅支援 Hadoop 1.0.3 及更新版本。當選擇一個區域時，請檢查該區域支援您想使用的功能。

為了獲得最佳效能，請針對將與叢集搭配使用的所有 AWS 資源使用相同的區域。下表映射了服務間的區域名稱。如需 Amazon EMR 區域的清單，請參閱《Amazon Web Services 一般參考》**中的 [AWS 區域 與端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#emr_region)。

## 使用主控台選擇一個區域
<a name="emr-dev-specify-region-console"></a>

您的預設區域會顯示在導覽列上帳戶資訊的左側。若要同時在新主控台和舊主控台中切換區域，請選擇「區域」下拉式功能表並選取新選項。

## 使用 指定區域 AWS CLI
<a name="emr-dev-specify-region-cli"></a>

 AWS CLI 使用 **aws configure**命令或 `AWS_DEFAULT_REGION`環境變數，在 中指定預設區域。如需詳細資訊，請參閱*AWS Command Line Interface 《 使用者指南*》中的[設定 AWS 區域](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html#cli-installing-specifying-region)。

## 使用 SDK 或 API 選擇一個區域
<a name="emr-dev-specify-region-api"></a>

若要使用 SDK 選擇一個區域，請設定您的應用程式以使用該區域的端點。如果您正在使用 AWS SDK 建立一個用戶端應用程式，您可以透過呼叫 `setEndpoint` 來變更用戶端端點，如下列範例所示：

```
1. client.setEndpoint("elasticmapreduce.us-west-2.amazonaws.com");
```

在透過設定端點讓您的應用程式指定區域後，您可以為叢集的 EC2 執行個體設定可用區域。可用區域是多個不同地理的位置，其在工程設計上是為了與其他可用區域的故障隔離，並能夠以低成本、低延遲的方式，透過網路連線至相同區域中的其他可用區域。一個區域包含一個或更多的可用區域。若要最佳化效能並降低延遲，所有資源都應該位於與使用它們的叢集相同的可用區域。