

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

# 選擇 ElastiCache 的區域和可用區域
<a name="RegionsAndAZs"></a>

您可以使用對應的端點指定區域和可用區域，為您的 ElastiCache 叢集提供額外的可擴展性和可靠性。

AWS 雲端運算資源存放在高可用性的資料中心設施中。為了提供額外的可擴展性和可靠性，這些資料中心設施會位在不同的實體位置。這些地點是依*「區域」*及*「可用區域」*分類。

AWS 區域很大，廣泛分散到不同的地理位置。可用區域是 AWS 區域內的不同位置，旨在與其他可用區域中的故障隔離。它們提供相同 AWS 區域中其他可用區域的低成本、低延遲網路連線能力。

**重要**  
每個區域都是完全獨立的。您啟動的任何 ElastiCache 活動 (例如建立叢集) 都只會在您目前的預設區域中執行。

若要在特定區域中建立或使用叢集，請使用對應的區域服務端點。如需了解服務端點，請參閱[支援的區域和端點](#SupportedRegions)。

![\[圖片： 區域和可用區域\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/images/ElastiCache-RegionsAndAZs.png)


*區域與可用區域*

**Topics**
+ [使用 Memcached 的可用區域考量事項](#CacheNode.Memcached.AvailabilityZones)
+ [安置您的節點](#RegionsAndAZs.AZMode)
+ [支援的區域和端點](#SupportedRegions)
+ [搭配 ElastiCache 使用本地區域](Local_zones.md)
+ [搭配 ElastiCache 使用 Outpost](ElastiCache-Outposts.md)

## 使用 Memcached 的可用區域考量事項
<a name="CacheNode.Memcached.AvailabilityZones"></a>

將 Memcached 節點散佈在一個區域內的多個可用區域，有助於保護您免受災難性故障的影響，例如可用區域內停電。

**無伺服器快取**

ElastiCache 無伺服器快取會建立跨多個可用區域的高度可用快取。您可以在建立無伺服器叢集時指定來自不同可用區域和相同 VPC 的子網路，否則 ElastiCache 會自動從預設 VPC 中選擇子網路。

**自行設計 ElastiCache for Memcached 叢集**

Memcached 叢集最多可以有 300 個節點。建立節點或將節點新增至 Memcached 叢集時，您可以為所有節點指定單一可用區域、允許 ElastiCache 為所有節點選擇單一可用區域、為每個節點指定可用區域，或允許 ElastiCache 為每個節點選擇可用區域。將新節點新增至現有的 Memcached 叢集時，您可以在不同的可用區域中建立新節點。快取節點一旦建立，就無法修改其可用區域。

如果您希望單一可用區域叢集中的叢集將其節點分佈於多個可用區域，ElastiCache 可以在不同可用區域中建立新節點。接著您可以刪除部分或所有原始快取節點。建議您使用此方法。

**將 Memcached 節點從單一可用區域遷移至多個可用區域**

1. 在需要的可用區域中建立新的快取節點，藉此修改叢集。在請求中執行下列操作：
   + 將 `AZMode` (CLI：`- -az-mode`) 設定為 `cross-az`。
   + 將 `NumCacheNodes` (CLI：`- -num-cache-nodes`) 設定為目前作用中快取節點的數目，以及您要建立的新快取節點數目。
   + 將 `NewAvailabilityZones` (CLI：`- -new-availability-zones`) 設定為您要在其中建立新快取節點的區域清單。若要讓 ElastiCache 決定每個新節點的可用區域，請勿指定清單。
   +  將 `ApplyImmediately` (CLI：`- -apply-immediately`) 設定為 true。
**注意**  
如果您沒有使用自動探索功能，請務必使用新的快取節點端點來更新用戶端應用程式。

   繼續進行下一個步驟之前，請確定 Memcached 節點已完全建立且可用。

1. 移除原始可用區域中不再需要的節點，藉此修改叢集。在請求中執行下列操作：
   + 將 `NumCacheNodes` (CLI：`- -num-cache-nodes`) 設定為套用此修改之後您想要的作用中快取節點數目。
   + 將 `CacheNodeIdsToRemove` (CLI：`- -nodes-to-remove`) 設定為您要從叢集中移除的快取節點清單。

     列出的快取節點 ID 數量必須等於目前作用中的節點數減去 `NumCacheNodes` 中的值。
   + (選用) 將 `ApplyImmediately` (CLI：`- -apply-immediately`) 設定為 true。

     如果您沒有將 `ApplyImmediately` (CLI：`- -apply-immediately`) 設定為 true，節點刪除作業將在下一個維護時段進行。

## 安置您的節點
<a name="RegionsAndAZs.AZMode"></a>

Amazon ElastiCache 支援將所有的叢集節點安置在單一或多個可用區域 (AZ) 中。如果您進一步選擇將節點安置在多個 AZ (建議做法)，ElastiCache 可讓您選擇每個節點的 AZ，或允許 ElastiCache 為您選擇。

將節點安置在不同 AZ 時，您可以避免某個 AZ 的故障 (例如停電) 就造成整個系統故障。測試已證實將所有節點安置在一個 AZ 或分散在多個 AZ 之間並不會有顯著的延遲差異。

您可以在建立叢集時指定每個節點的 AZ，或在修改現有叢集時新增節點。建立叢集時為每個節點指定 AZ 時，該子網路群組中必須有可用 AZ。如需詳細資訊，請參閱下列內容：
+ [為 Memcached 建立叢集](Clusters.Create-mc.md)
+ [為 Valkey 或 Redis OSS 建立叢集](Clusters.Create.md)
+ [修改 ElastiCache 叢集](Clusters.Modify.md)
+ [將節點新增至 ElastiCache 叢集](Clusters.AddNode.md)

## 支援的區域和端點
<a name="SupportedRegions"></a>

Amazon ElastiCache 可在多個 AWS 區域中使用。這表示您可以在符合您需求的位置啟動 ElastiCache 叢集。例如，您可以在最接近客戶的 AWS 區域中啟動 ，或在特定區域中啟動 AWS ，以符合特定法律要求。

每個 區域皆設計為與其他 區域完全隔離。各個區域包含多個可用區域 (AZ)。ElastiCache Serverless 快取會自動跨多個可用區域複寫資料 （除了 `us-west-1`，其中資料會在兩個可用區域中複寫），以獲得高可用性。自行設計 ElastiCache 叢集時，您可以選擇在不同的 AZ 中啟動節點，以實現容錯能力。如需區域和可用區域的詳細資訊，請參閱本主題最上方的 [選擇 ElastiCache 的區域和可用區域](#RegionsAndAZs)。


**支援 ElastiCache 的區域**  
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/RegionsAndAZs.html)

有些區域支援節點類型的子集。如需各 AWS 區域支援的節點類型資料表，請參閱 [支援的節點類型 (依AWS區域)](CacheNodes.SupportedTypes.md#CacheNodes.SupportedTypesByRegion)。

大多數區域支援透過建立介面 VPC 端點，在 VPC 和 ElastiCache API 端點之間建立私有連線 AWS PrivateLink。如需詳細資訊，請參閱[ElastiCache API 和界面 VPC 端點 (AWS PrivateLink)](elasticache-privatelink.md)。

如需依區域列出的 AWS 產品和服務資料表，請參閱[依區域列出的產品和服務](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。