

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

# 使用全域資料存放區跨AWS區域複寫
<a name="Redis-Global-Datastore"></a>

**注意**  
全域資料存放區目前僅適用於節點型叢集。

透過使用全域資料存放區功能，您可以跨AWS區域使用全受管、快速、可靠且安全的 Valkey 或 Redis OSS 叢集複寫。使用此功能，您可以建立跨區域僅供讀取複本叢集，以跨AWS區域啟用低延遲讀取和災難復原。

在以下各節中，您可以找到如何使用全域資料存放區的描述。

**Topics**
+ [概觀](#Redis-Global-Data-Stores-Overview)
+ [先決條件和限制](Redis-Global-Datastores-Getting-Started.md)
+ [使用全域資料存放區 (主控台)](Redis-Global-Datastores-Console.md)
+ [使用全域資料存放區 (CLI)](Redis-Global-Datastores-CLI.md)

## 概觀
<a name="Redis-Global-Data-Stores-Overview"></a>

每個*全域資料存放區*都是一個或多個叢集的集合，用於彼此複寫。

全域資料存放區由下列項目組成：
+ **主要 (主動) 叢集** - 主要叢集接受複寫到全域資料存放區內所有叢集的寫入。主要叢集也接受讀取請求。
+ **次要 (被動) 叢集** - 次要叢集只接受讀取要求，並從主要叢集複寫資料更新。次要叢集必須位於與主要叢集不同的AWS區域。

當您在 ElastiCache for Valkey 或 Redis OSS 中建立全域資料存放區時，它會自動將您的資料從主要叢集複寫到次要叢集。您可以選擇複寫 Valkey 或 Redis OSS 資料的AWS區域，然後在該區域中建立次要叢集AWS。然後 ElastiCache 會設定和管理兩個叢集之間的自動非同步資料複寫。

使用適用於 Valkey 或 Redis OSS 的全域資料存放區具有下列優點：
+ **地理效能** – 透過在其他AWS區域中設定遠端複本叢集並在它們之間同步資料，您可以減少該AWS區域中的資料存取延遲。全域資料存放區可以透過跨AWS區域提供低延遲的地理本機讀取，協助提高應用程式的回應能力。
+ **災難復原** - 如果全域資料存放區中的主要叢集發生降級，您可以將次要叢集升級為新的主要叢集。您可以透過連接到包含次要叢集的任何AWS區域來執行此操作。

下圖顯示了全域資料存放區如何運作。

![\[全域資料存放區\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/images/Global-DataStore.png)


# 先決條件和限制
<a name="Redis-Global-Datastores-Getting-Started"></a>

在開始使用全域資料存放區之前，請注意下列事項：
+ 下列 AWS 區域支援全域資料存放區：
  + **非洲** - 開普敦
  + **亞太區域** - 香港、海德拉巴、雅加達、馬來西亞、墨爾本、孟買、大阪、首爾、新加坡、雪梨、泰國和東京 
  + **加拿大** - 加拿大中部和加拿大西部 （卡加利）
  + **中國** - 北京和寧夏
  + **歐洲 ** - 法蘭克福、倫敦、愛爾蘭、米蘭、巴黎、西班牙、斯德哥爾摩和蘇黎世
  + **AWS GovCloud** -美國西部和美國東部
  + **以色列** - 特拉維夫
  + **中東** - 巴林和阿拉伯聯合大公國
  + **美國** - 東部 （維吉尼亞北部和俄亥俄） 和美國西部 （加利佛尼亞北部和奧勒岡）
  + **南美洲** - 墨西哥 （中部） 和聖保羅
+  全域資料存放區中的所有叢集 (主要和次要) 應具有相同數量的主節點、節點類型、引擎版本和碎片數量 (在啟用叢集模式的情況下)。全域資料存放區中的每個叢集都可以擁有不同數量的僅供讀取複本，以容納該叢集的本機讀取流量。

  如果您計劃使用現有的單一節點叢集，則必須啟用複寫。
+ 大型和以上大小的執行個體支援全域資料存放區。
+ 您可以為主要叢集設定複寫，從一個 AWS 區域到最多兩個其他 AWS 區域中的次要叢集。
**注意**  
例外情況是中國 (北京) 區域和中國 (寧夏) 區域，在兩個區域之間只能進行複寫。
+ 您只能在 VPC 叢集中使用全域資料存放區。如需詳細資訊，請參閱[用於存取 Amazon VPC 中 ElastiCache 快取的存取模式](elasticache-vpc-accessing.md)。當您使用 EC2-Classic 時，不支援全域資料存放區。如需詳細資訊，請參閱《Amazon EC2 使用者指南》中的 [EC2-Classic](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/ec2-classic-platform.html)。 *Amazon EC2 *
**注意**  
目前無法在 [搭配 ElastiCache 使用本地區域](Local_zones.md) 使用全域資料存放區。
+ ElastiCache 不支援從一個區域自動容錯移轉到另一個 AWS 區域。必要時，您可以手動升級次要叢集。如需範例，請參閱「[將次要叢集升級為主要叢集](Redis-Global-Datastores-Console.md#Redis-Global-Datastores-Console-Promote-Secondary)」。
+ 若要從現有資料啟動，請使用現有叢集做為主要叢集以建立全域資料存放區。我們不支援將現有叢集新增為次要叢集。將叢集新增為次要叢集的程序會清除資料，這可能會導致資料遺失。
+ 當您修改屬於全域資料存放區之叢集的本機參數群組時，參數更新會套用至所有叢集。
+ 您可以利用垂直方式 (擴展和縮減) 和水平方式 (橫向縮減和擴展) 來擴展區域叢集。您可以透過修改全域資料存放區來擴展叢集。全域資料存放區中的所有區域叢集隨後便會進行擴展，而不會發生中斷。如需詳細資訊，請參閱[擴展 ElastiCache](Scaling.md)。
+ 全域資料存放區支援[靜態加密](at-rest-encryption.md)、[傳輸中加密](in-transit-encryption.md)和 [AUTH](auth.md)。
+ 全域資料存放區不支援網際網路通訊協定第 6 版 (IPv6)。
+  全域資料存放區支援 AWS KMS 金鑰。如需詳細資訊，請參閱 *AWS Key Management Service 開發人員指南*中的 [AWS KMS 金鑰管理服務概念](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#master_keys)。

**注意**  
全域資料存放區支援[發佈/訂閱簡訊](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/elasticache-use-cases.html#elasticache-for-redis-use-cases-messaging)，規定如下：  
若是停用叢集模式，完全支援發佈/訂閱簡訊。在主要 AWS 區域的主要叢集上發佈的事件會傳播到次要 AWS 區域。
若是啟用叢集模式，適用下列條件：  
對於不在金鑰空間中的已發佈事件，只有相同區域中的訂閱者 AWS 會收到事件。
對於已發佈的金鑰空間事件，所有 AWS 區域中的訂閱者都會收到事件。

# 使用全域資料存放區 (主控台)
<a name="Redis-Global-Datastores-Console"></a>

若要使用主控台建立全域資料存放區，請遵循下列兩個步驟程序：

1. 使用現有叢集或建立新叢集，來建立主要叢集。引擎必須是 Valkey 7.2 或更新版本，或 Redis OSS 5.0.6 或更新版本。

1. 在不同的 AWS 區域中新增最多兩個次要叢集，再次使用 Valkey 7.2 或更新版本，或 Redis OSS 5.0.6 或更新版本。

下列程序引導您如何為 Valkey 或 Redis OSS 建立全域資料存放區，並使用 ElastiCache 主控台執行其他操作。

**Topics**
+ [使用現有叢集建立全域資料存放區](#Redis-Global-Datastores-Console-Create-Primary)
+ [使用新的主要叢集建立新的全域資料存放區](#Redis-Global-Datastores-Create-From-Scratch)
+ [檢視全域資料存放區詳細資訊](#Redis-Global-Datastores-Console-Details)
+ [將區域新增至全域資料存放區](#Redis-Global-Datastores-Console-Create-Secondary)
+ [修改全域資料存放區](#Redis-Global-Datastores-Console-Modify-Regional-Clusters)
+ [將次要叢集升級為主要叢集](#Redis-Global-Datastores-Console-Promote-Secondary)
+ [從全域資料存放區移除區域](#Redis-Global-Datastore-Console-Remove-Region)
+ [刪除全域資料存放區](#Redis-Global-Datastores-Console-Delete-GlobalDatastore)

## 使用現有叢集建立全域資料存放區
<a name="Redis-Global-Datastores-Console-Create-Primary"></a>

在此案例中，您使用現有的叢集做為新全域資料存放區的主要叢集。然後您可以在不同的 AWS 區域中建立次要唯讀叢集。這個次要叢集會從主要叢集接收自動的非同步更新。

**重要**  
現有叢集必須使用 Valkey 7.2 或更新版本的引擎，或 Redis OSS 5.0.6 或更新版本的引擎。

**使用現有叢集建立全域資料存放區**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/) 的 ElastiCache 主控台。

1. 在導覽窗格中，選擇**全域資料存放區**，然後選擇**建立全域資料存放區**。

1. 在**主要叢集設定**頁面上，執行下列動作：
   + 在**全域資料存放區資訊**欄位中，輸入新全域資料存放區的名稱。
   + (選用) 輸入 **Description (描述)** 值。

1. 在**區域叢集**下，選取**使用現有的區域叢集**。

1. 在**現有叢集**下，選取您要使用的現有叢集。

1. 保持以下選項不變。它們會預先填入以符合主要叢集組態，您無法變更它們。
   + 引擎版本
   + 節點類型
   + 參數群組
**注意**  
ElastiCache 會自動從所提供的參數群組值產生新的參數群組，並將新參數群組套用至叢集。使用此新參數群組可修改全域資料存放區上的參數。每個自動產生的參數群組都只與一個叢集相關聯，因此也只與一個全域資料存放區相關聯。
   + 碎片數量
   + Encryption at rest (靜態加密) - 啟用存放在磁碟上的資料加密功能。如需詳細資訊，請參閱[靜態加密](at-rest-encryption.md)。
**注意**  
您可以選擇**客戶受管 AWS KMS** 金鑰並選擇金鑰，以提供不同的加密金鑰。如需詳細資訊，請參閱[使用客戶受管 AWS KMS 金鑰](at-rest-encryption.md#using-customer-managed-keys-for-elasticache-security)。
   + Encryption in-transit (傳輸中加密) - 啟用傳輸中資料加密功能。如需詳細資訊，請參閱[傳輸中加密](in-transit-encryption.md)。對於 Valkey 7.2 及更新版本和 Redis OSS 6.0 及更新版本，如果您啟用傳輸中加密，系統會提示您指定下列其中一個**存取控制**選項：
     + **No Access Control (無存取控制)** - 這是預設的設定。這表示沒有任何限制。
     + **User Group Access Control List (使用者群組存取控制清單)** - 選擇具有已定義的一組使用者和可用作業許可的使用者群組。如需詳細資訊，請參閱[使用主控台和 CLI 管理使用者群組](Clusters.RBAC.md#User-Groups)。
     + **AUTH 預設使用者** – Valkey 或 Redis OSS 伺服器的身分驗證機制。如需詳細資訊，請參閱 [AUTH](auth.md)。

1. (選用) 視需要更新其餘的次要叢集設定。這些值會預先填入與主要叢集相同的值，但您可以更新它們以符合該叢集的特定需求。
   + 連線埠
   + 複本數量
   + 子網路群組
   + 偏好的可用區域
   + 安全群組
   + 客戶受管 (AWS KMS 金鑰）
   + AUTH 字符
   + 啟用自動備份
   + Backup retention period (備份保留期間)
   + 備份時段
   + Maintenance window (維護時段)
   + SNS 通知的主題

1. 選擇**建立**。這樣做會將全域資料存放區的狀態設定為 **Creating (正在建立)**。狀態轉變為 **Modifying (修改中)**之後，主要叢集便與全域資料存放區建立關聯，且次要叢集處於 **Associating (建立關聯中)**狀態。

   在主要叢集和次要叢集皆關聯至全域資料存放區之後，狀態會變更為 **Available (可用)**。此時，您已具備接受讀取和寫入的主要叢集，以及接受從主要叢集複寫之讀取的次要叢集。

   此頁面已更新，指出叢集是否為全域資料存放區的一部分，包括：
   + **Global Datastore (全域資料存放區)** - 叢集所屬全域資料存放區的名稱。
   + **Global Datastore Role (全域資料存放區角色)** - 主要或次要叢集的角色。

您最多可以在不同的區域中新增一個額外的次要叢集 AWS 。如需詳細資訊，請參閱[將區域新增至全域資料存放區](#Redis-Global-Datastores-Console-Create-Secondary)。

## 使用新的主要叢集建立新的全域資料存放區
<a name="Redis-Global-Datastores-Create-From-Scratch"></a>

如果您選擇以新叢集建立全域資料存放區，請依照下列程序操作。

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/) 的 ElastiCache 主控台。

1. 在導覽窗格中，選擇**全域資料存放區**，然後選擇**建立全域資料存放區**。

1. 在 **Primary cluster settings** (主要叢集設定) 中，執行下列動作：

   1. 針對 **Cluster mode** (叢集模式)，選擇 **Enabled** (已啟用) 或 **Disabled** (已停用)。

   1. 針對 **Global Datastore info** (全域資料存放區資訊)，輸入 **Name** (名稱) 的值。ElastiCache 會使用此尾碼來產生全域資料存放區的唯一名稱。您可以使用您在此處指定的尾碼來搜尋全域資料存放區。

   1. (選用) 輸入 **Global Datastore Description (全域資料存放區描述)** 的值。

1. 在 **Regional cluster** (區域叢集) 中：

   1. 針對**區域**，選擇可用的 AWS 區域。

   1. 選擇 **Create new regional cluster** (建立新的區域叢集)，或 **Use existing regional cluster** (使用現有的區域叢集)

   1. 如果選擇 **Create new regional cluster** (建立新的區域叢集)，請在 **Cluster info** (叢集資訊) 中，輸入叢集的名稱和選用描述。

   1. 在 **Location** (位置) 中，建議您接受 **Multi-AZ** (多可用區域) 和 **Auto-failover** (自動容錯移轉) 的預設設定。

1. 在 **Cluster settings** (叢集設定) 中

   1. 針對 **Engine version** (引擎版本)，選擇可用版本，即 5.0.6 或更新版本。

   1. 針對 **Port** (連接埠)，使用預設連接埠 6379。如果您基於任何原因需要使用不同的連接埠，請輸入連接埠號碼。

   1. 對於 **Parameter group (參數群組)**，請選擇參數群組或新建參數群組。參數群組可控制叢集的執行時間參數。如需參數群組的詳細資訊，請參閱 [Valkey 和 Redis OSS 參數](ParameterGroups.Engine.md#ParameterGroups.Redis)和[建立 ElastiCache 參數群組](ParameterGroups.Creating.md)。
**注意**  
當您選取參數群組來設定引擎組態值時，該參數群組會套用至全域資料存放區中的所有叢集。在 **Parameter Groups (參數群組)** 頁面上，yes/no (是/否) **Global (全域)** 屬性指出參數群組是否為全域資料存放區的一部分。

   1. 在 **Node type (節點類型)** 中，選擇向下箭頭 (![\[Downward-pointing triangle icon, typically used to indicate a dropdown menu.\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/images/ElastiCache-DnArrow.png))。在 **Change node type (變更節點類型)** 對話方塊中，為您想要的節點類型選擇 **Instance family (執行個體系列)** 的值。然後選擇您要用於此叢集的節點類型，然後選擇 **Save (儲存)**。

      如需詳細資訊，請參閱[選擇您的節點大小](CacheNodes.SelectSize.md)。

      如果選擇 r6gd 節點類型，將自動啟用資料分層。如需詳細資訊，請參閱[ElastiCache 中的資料分層](data-tiering.md)。

   1. 如果您要建立 Valkey 或 Redis OSS （停用叢集模式） 叢集：

      針對 **Number of replicas** (複本數)，選擇您要讓此叢集具備的複本數目。

   1. 如果您要建立 Valkey 或 Redis OSS （啟用叢集模式） 叢集：

      1. 針對**碎片數量**，選擇您希望此 Valkey 或 Redis OSS （啟用叢集模式） 叢集的碎片數量 （分割區/節點群組）。

         對於某些版本的 Valkey 或 Redis OSS （啟用叢集模式），您可以動態變更叢集中的碎片數量：
         + **Redis OSS 3.2.10 和更新版本** – 如果您的叢集正在執行 Redis OSS 3.2.10 或更新版本，您可以動態變更叢集中的碎片數量。如需詳細資訊，請參閱[擴展 Valkey 或 Redis OSS （啟用叢集模式） 叢集](scaling-redis-cluster-mode-enabled.md)。
         + **其他 Redis OSS 版本** – 如果您的叢集在 3.2.10 版之前執行 Redis OSS 版本，則有另一種方法。在這種情況下，若要變更叢集中的碎片數量，請使用新的碎片數量建立新的叢集。如需詳細資訊，請參閱[從備份還原到新的快取](backups-restoring.md)。

      1. 針對 **Replicas per shard (每個碎片的複本)**，選擇您要讓每個碎片具備的僅供讀取複本節點數目。

         下列限制適用於 Valkey 或 Redis OSS （啟用叢集模式）。
         + 如果您已啟用多個可用區，請確保每個碎片至少有一個複本。
         + 使用主控台建立叢集時，每個碎片的複本數都相同。
         + 每個碎片的僅供讀取複本數均固定而無法變更。如果您發現每個碎片 (API/CLI：節點群組) 需要更多或更少的複本，則必須使用新的複本數來建立新叢集。如需詳細資訊，請參閱[教學課程：使用外部建立的備份植入新的節點型叢集](backups-seeding-redis.md)。

1. 針對 **Subnet group settings** (子網路群組設定)，選擇要套用至此叢集的子網路。ElastiCache 提供預設 IPv4 子網路群組，或者您可以選擇建立新的子網路群組。針對 IPv6，您必須建立具有 IPv6 CIDR 區塊的子網路群組。若您選擇 **dual stack** (雙堆疊)，則須選取 IPv6 或 IPv4 做為探索 IP 類型。

   如需詳細資訊，請參閱[在您的 VPC 中建立子網路](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#AddaSubnet)。

1. 針對 **Availability zone placements** (可用區域置放)，您有兩種選項：
   + **No preference (無偏好設定)** - ElastiCache 會選擇可用區域。
   + **Specify availability zones (指定可用區域)** - 您可為每個叢集指定可用區域。

     如果您選擇指定可用區域，請針對每個碎片中的每個叢集，從清單中選擇可用區域。

   如需詳細資訊，請參閱[選擇 ElastiCache 的區域和可用區域](RegionsAndAZs.md)。  
![\[圖片：指定 Keyspace 和可用區域\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/images/ElastiCache-ClusterOn-Slots-AZs.png)

   *指定 Keyspace 和可用區域*

1. 選擇 **Next** (下一步)

1. 在**進階 Valkey 和 Redis OSS 設定**下

   1. 針對 **Security** (安全)：

     1. 若要加密資料，您有下列選項：
        + **Encryption at rest (靜態加密)** - 啟用存放在磁碟上的資料加密功能。如需詳細資訊，請參閱[靜態加密](at-rest-encryption.md)。
**注意**  
您可以選擇**客戶受管 AWS KMS 金鑰**並選擇金鑰，以提供不同的加密金鑰。如需詳細資訊，請參閱[使用來自 AWS KMS 的客戶受管金鑰](at-rest-encryption.md#using-customer-managed-keys-for-elasticache-security)。
        + **Encryption in-transit (傳輸中加密)** - 啟用傳輸中資料加密功能。如需詳細資訊，請參閱[傳輸中加密](in-transit-encryption.md)。針對 Valkey 7.2 及更高版本，以及 Redis OSS 6.0 及更高版本，如果您啟用傳輸中加密，系統會提示您指定下列其中一個**存取控制**選項：
          + **No Access Control (無存取控制)** - 這是預設的設定。這表示使用者存取叢集時不受任何限制。
          + **User Group Access Control List (使用者群組存取控制清單)** - 選取的使用者群組需具有可存取叢集的已定義使用者集。如需詳細資訊，請參閱[使用主控台和 CLI 管理使用者群組](Clusters.RBAC.md#User-Groups)。
          + **AUTH 預設使用者** – Valkey 或 Redis OSS 伺服器的身分驗證機制。如需詳細資訊，請參閱 [AUTH](auth.md)。
        + **AUTH** – Valkey 或 Redis OSS 伺服器的身分驗證機制。如需詳細資訊，請參閱 [AUTH](auth.md)。
**注意**  
對於 3.2.6 以上版本的 Redis OSS，除了 3.2.10 版之外，AUTH 是唯一的選項。

     1. 在 **Security groups (安全群組)** 中，選擇要用於此叢集的安全群組。*安全群組*可做為防火牆來控制叢集的網路存取。您可以為 VPC 使用預設安全群組，或建立新的安全群組。

        如需安全群組的詳細資訊，請參閱 *Amazon VPC 使用者指南*中的 [VPC 的安全群組](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html)。

1. 針對定期排程自動備份，請選取 **Enable automatic backups (啟用自動備份)**，然後輸入每份自動備份要保存的天數，過了此天數後即會自動將其刪除。如果您不想定期排程自動備份，請清除 **Enable automatic backups (啟用自動備份)** 核取方塊。在任何一種情況下，您都可以選擇建立手動備份。

   如需備份和還原的詳細資訊，請參閱 [快照和還原](backups.md)。

1. (選用) 指定維護時段。*維護時段*是 ElastiCache 排程的每週叢集系統維護時間，通常長度為一小時。您可以讓 ElastiCache 選擇維護時段的日期和時間 (*No preference* (無偏好設定))，或自行選擇日期、時間和持續時間 (*Specify maintenance window* (指定維護時段))。如果您從清單中選擇 *Specify maintenance window (指定維護時段)*，請為您的維護時段選擇 *Start day (開始日)*、*Start time (開始時間)* 和 *Duration (持續時間)*。所有時間均以 UCT 時間表示。

   如需詳細資訊，請參閱[管理 ElastiCache 叢集維護](maintenance-window.md)。

1. (選用) 針對 **Logs (日誌)**：
   + 在 **Log format (日誌格式)** 下，選擇 **Text (文字)** 或 **JSON**。
   + 在 **Destination Type (目的地類型)** 下，選擇 **CloudWatch Logs** 或 **Kinesis Firehose**。
   + 在**日誌目的地**下，選擇**建立新** ，然後輸入您的 CloudWatch Logs 日誌群組名稱或 Firehose 串流名稱，或選擇**選取現有**，然後選擇您的 CloudWatch Logs 日誌群組名稱或您的 Firehose 串流名稱。

1. 針對 **Tags** (標籤)，為協助您管理叢集和其他 ElastiCache 資源，您可以用標籤形式將自己的中繼資料指派給每個資源。如需詳細資訊，請參閱[為您的 ElastiCache 資源加上標籤](Tagging-Resources.md)。

1. 檢閱所有項目和選項，然後進行任何所需的更正。就緒後，請選擇 **Next** (下一步)。

1. 在上述步驟中設定叢集之後，現在設定次要叢集詳細資訊。

1. 在**區域叢集**下，選擇 叢集所在的 AWS 區域。

1. 在 **Cluster info** (叢集資訊) 中，輸入叢集的名稱和選用描述。

1. 下列選項會預先填入以符合主要叢集組態，且無法變更：
   + 位置
   + 引擎版本
   + 執行個體類型
   + 節點類型
   + 碎片數量
   + 參數群組
**注意**  
ElastiCache 會自動從所提供的參數群組值產生新的參數群組，並將新參數群組套用至叢集。使用此新參數群組可修改全域資料存放區上的參數。每個自動產生的參數群組都只與一個叢集相關聯，因此也只與一個全域資料存放區相關聯。
   + Encryption at rest (靜態加密) - 啟用存放在磁碟上的資料加密功能。如需詳細資訊，請參閱[靜態加密](at-rest-encryption.md)。
**注意**  
您可以選擇**客戶受管 AWS KMS** 金鑰並選擇金鑰，以提供不同的加密金鑰。如需詳細資訊，請參閱[使用客戶受管 AWS KMS 金鑰](at-rest-encryption.md#using-customer-managed-keys-for-elasticache-security)。
   + Encryption in-transit (傳輸中加密) - 啟用傳輸中資料加密功能。如需詳細資訊，請參閱[傳輸中加密](in-transit-encryption.md)。對於 Valkey 7.2 及更高版本，以及 Redis OSS 6.4 及更高版本，如果您啟用傳輸中加密，系統會提示您指定下列其中一個**存取控制**選項：
     + **No Access Control (無存取控制)** - 這是預設的設定。這表示使用者存取叢集時不受任何限制。
     + **User Group Access Control List (使用者群組存取控制清單)** - 選擇的使用者群組需具有可存取叢集的已定義使用者集。如需詳細資訊，請參閱[使用主控台和 CLI 管理使用者群組](Clusters.RBAC.md#User-Groups)。
     + **AUTH 預設使用者** – Valkey 或 Redis OSS 伺服器的身分驗證機制。如需詳細資訊，請參閱 [AUTH](auth.md)。
**注意**  
對於 4.0.2 和 6.0.4 之間的 Redis OSS 版本，當第一次支援傳輸中加密時，AUTH 是唯一的選項。

   其餘的次要叢集設定會預先填入與主要叢集相同的值，但是可以更新下列項目以符合該叢集的特定需求：
   + 連線埠
   + 複本數量
   + 子網路群組
   + 偏好的可用區域 
   + 安全群組
   + 客戶受管 (AWS KMS 金鑰） 
   + AUTH 字符
   + 啟用自動備份
   + Backup retention period (備份保留期間)
   + 備份時段
   + Maintenance window (維護時段)
   + SNS 通知的主題

1. 選擇**建立**。這樣做會將全域資料存放區的狀態設定為 **Creating (正在建立)**。在主要叢集和次要叢集皆關聯至全域資料存放區之後，狀態會變更為 **Available (可用)**。您已具備接受讀取和寫入的主要叢集，以及接受從主要叢集複寫之讀取的次要叢集。

   此頁面也會更新，以指出叢集是否為全域資料存放區的一部分，包括下列項目：
   + **Global Datastore (全域資料存放區)** - 叢集所屬全域資料存放區的名稱。
   + **Global Datastore Role (全域資料存放區角色)** - 主要或次要叢集的角色。

您最多可以在不同的區域中新增一個額外的次要叢集 AWS 。如需詳細資訊，請參閱[將區域新增至全域資料存放區](#Redis-Global-Datastores-Console-Create-Secondary)。

## 檢視全域資料存放區詳細資訊
<a name="Redis-Global-Datastores-Console-Details"></a>

您可以在全域資料存放區頁面檢視現有**全域資料存放**區的詳細資訊，也可以修改它們。

**檢視全域資料存放區詳細資訊**

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

1. 在導覽窗格中，選擇**全域資料存放區**，然後選擇可用的全域資料存放區。

接著，您可以檢查下列全域資料存放區屬性：
+ **全域資料存放區名稱：**全域資料存放區的名稱
+ **描述：**全域資料存放區的描述
+ **狀態：**選項包括：
  + 正在建立
  + Modifying (正在修改)
  + 可用性
  + 正在刪除
  + Primary-Only (僅限主要) - 此狀態表示全域資料存放區僅包含主要叢集。所有次要叢集都已刪除或未成功建立。
+ **叢集模式：**啟用或停用
+ **引擎版本：**執行全域資料存放區的 Valkey 或 Redis OSS 引擎版本
+ **執行個體節點類型：**用於全域資料存放區的節點類型
+ **靜態加密：**啟用或停用
+ **傳輸中加密：**啟用或停用
+ **AUTH：**啟用或停用

您可以對全域資料存放區進行下列變更：
+ [將區域新增至全域資料存放區](#Redis-Global-Datastores-Console-Create-Secondary) 
+ [從全域資料存放區移除區域](#Redis-Global-Datastore-Console-Remove-Region) 
+ [將次要叢集升級為主要叢集](#Redis-Global-Datastores-Console-Promote-Secondary)
+ [修改全域資料存放區](#Redis-Global-Datastores-Console-Modify-Regional-Clusters)

全域資料存放區頁面也會列出組成全域資料存放區的個別叢集，以及每個叢集的下列屬性：
+ **區域** - 儲存叢集 AWS 的區域
+ **Role (角色)** - 主要或次要
+ **Cluster name (叢集名稱)** - 叢集的名稱
+ **Status (狀態)** - 選項包括：
  + **Associating (正在關聯)** - 叢集正在與全域資料存放區進行關聯
  + **Associated (已關聯)** - 叢集已關聯至全域資料存放區關聯
  + **Disassociating (正在取消關聯)** - 正在進行從使用全域資料存放區名稱的全域資料存放區移除次要叢集的程序。之後，次要叢集不會再接收來自主要叢集的更新，但會保留為該 AWS 區域中的獨立叢集。
  + **Disassociated (已取消關聯)** - 次要叢集已從全域資料存放區移除，現在是其 AWS 區域中的獨立叢集。
+ **全域資料存放區複本延遲** – 顯示全域資料存放區中每個次要 AWS 區域的一個值。這是次要區域的主節點和主要區域的主節點之間的延遲。對於啟用叢集模式的 Valkey 或 Redis OSS，延遲表示碎片之間的最大延遲秒數。

## 將區域新增至全域資料存放區
<a name="Redis-Global-Datastores-Console-Create-Secondary"></a>

您最多可以將一個額外 AWS 區域新增至現有的全域資料存放區。在此案例中，您要在從主要叢集接收自動和非同步更新的個別 AWS 區域中建立唯讀叢集。

**將 AWS 區域新增至全域資料存放區**

1. 登入 AWS 管理主控台 並開啟位於 https：//[https://console.aws.amazon.com/elasticache/](https://console.aws.amazon.com/elasticache/) 的 ElastiCache 主控台。

1. 在導覽窗格中，選擇**全域資料存放區**，然後選取現有的全域資料存放區。

1. 選擇**新增區域叢集**，然後選擇要存放次要叢集 AWS 的區域。

1. 在**叢集資訊**下，輸入**名稱**的值，以及選擇性地輸入叢集的**描述**的值。

1. 保持以下選項不變。這些項目會預先填入以符合主要叢集組態，且您無法加以變更。
   + 引擎版本
   + 執行個體類型
   + 節點類型
   + 碎片數量
   + 參數群組
**注意**  
ElastiCache 會自動從所提供的參數群組值產生新的參數群組，並將新參數群組套用至叢集。使用此新參數群組可修改全域資料存放區上的參數。每個自動產生的參數群組都只與一個叢集相關聯，因此也只與一個全域資料存放區相關聯。
   + 靜態加密
**注意**  
您可以選擇**客戶受管 AWS KMS** 金鑰並選擇金鑰，以提供不同的加密金鑰。
   + 傳輸中加密
   + AUTH

1. (選用) 更新其餘的次要叢集設定。這些值會預先填入與主要叢集相同的值，但您可以更新它們以符合該叢集的特定需求：
   + 連線埠
   + 複本數量
   + 子網路群組
   + 偏好的可用區域
   + 安全群組
   + 客戶受管 AWS KMS 金鑰） 
   + AUTH 字符
   + 啟用自動備份
   + Backup retention period (備份保留期間)
   + 備份時段
   + Maintenance window (維護時段)
   + SNS 通知的主題

1. 選擇**新增**。

## 修改全域資料存放區
<a name="Redis-Global-Datastores-Console-Modify-Regional-Clusters"></a>

您可以修改區域叢集的屬性。除了將次要叢集升級為主要叢集之外，全域資料存放區上一次只能進行一項修改作業。如需詳細資訊，請參閱[將次要叢集升級為主要叢集](#Redis-Global-Datastores-Console-Promote-Secondary)。

**修改全域資料存放區**

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

1. 在導覽窗格中，選擇**全域資料存放**區，然後在**全域資料存放區名稱**中選擇全域資料存放區。

1. 選擇 **Modify (修改)**，然後選擇下列選項：
   + **Modify description (修改描述)** - 更新全域資料存放區的描述
   + **修改引擎版本** – 只有 Valkey 7.2 和更新版本或 Redis OSS 5.0.6 和更新版本可用。
   + **Modify node type (修改節點類型)** - 可利用垂直方式 (擴充規模和縮減規模) 和水平方式 (橫向縮減和擴展) 來擴展區域叢集。選項包括 R5 和 M5 節點系列。如需節點類型的詳細資訊，請參閱[支援的節點類型](CacheNodes.SupportedTypes.md)。
   + **Modify Automatic Failover (修改自動容錯移轉)** - 啟用或停用自動容錯移轉功能。當您啟用容錯移轉，而區域叢集中的主節點意外關閉時，ElastiCache 會容錯移轉到其中一個區域複本。如需詳細資訊，請參閱[自動容錯移轉](AutoFailover.md)。

   對於啟用叢集模式的 Valkey 或 Redis OSS 叢集：
   + **Add shards (新增碎片)** - 輸入要新增的碎片數目，並選擇性指定一或多個可用區域。
   + **刪除碎片** – 選擇要在每個 AWS 區域中刪除的碎片。
   + **Rebalance shards (重新平衡碎片)** - 重新平衡位置分佈，確保在叢集中現有的碎片間均勻分佈。

若要修改全域資料存放區的參數，請修改全域資料存放區的任何成員叢集參數群組。ElastiCache 會自動將此變更套用至該全域資料存放區內的所有叢集。若要修改該叢集的參數群組，請使用 Valkey 或 Redis OSS 主控台或 [ModifyCacheCluster](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ModifyCacheCluster.html) API 操作。如需詳細資訊，請參閱[修改 ElastiCache 參數群組](ParameterGroups.Modifying.md)。當您修改全域資料存放區中包含之任何叢集的參數群組時，它會套用至該全域資料存放區內的所有叢集。

若要重設整個參數群組或特定參數，請使用 [ResetCacheParameterGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_ResetCacheParameterGroup.html) API 操作。

## 將次要叢集升級為主要叢集
<a name="Redis-Global-Datastores-Console-Promote-Secondary"></a>

如果主要叢集或 AWS 區域無法使用或遇到效能問題，您可以將次要叢集提升為主要叢集。即使正在進行其他修改，也可隨時進行升級。您也可以同時發佈多個升級，全域資料存放區最終會解析為一個主要叢集。如果您同時提升多個次要叢集，ElastiCache 無法保證哪個叢集最終解析為主要叢集。

**將次要叢集升級為主要叢集**

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

1. 在導覽窗格中，選擇**全域資料存放區**。

1. 選擇全域資料存放區名稱以檢視詳細資訊。

1. 選擇 **Secondary (次要)** 叢集。

1. 選擇 **Promote to primary (升級為主要)**。

   接著系統會提示您確認您的決定，並顯示下列警告：` Promoting a region to primary will make the cluster in this region as read/writable. Are you sure you want to promote the secondary cluster to primary?`

   `The current primary cluster in primary region will become secondary and will stop accepting writes after this operation completes. Please ensure you update your application stack to direct traffic to the new primary region.`

1. 如果您要繼續升級， 請選擇 **Confirm (確認)**，如果不想繼續升級，請選擇 **Cancel (取消)**。

如果您選擇確認，則全域資料存放區會移至**Modifying (正在修改)** 狀態，且在升級完成之前無法使用。

## 從全域資料存放區移除區域
<a name="Redis-Global-Datastore-Console-Remove-Region"></a>

您可以使用下列程序，從全域資料存放區移除 AWS 區域。

**從全域資料存放區移除 AWS 區域**

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

1. 在導覽窗格中，選擇**全域資料存放區**。

1. 選擇全域資料存放區。

1. 選擇您要移除的 **Region (區域)**。

1. 選擇 **Remove region (移除區域)**。
**注意**  
此選項僅適用於次要叢集。

   接著系統會提示您確認您的決定，並顯示下列警告：` Removing the region will remove your only available cross region replica for the primary cluster. Your primary cluster will no longer be set up for disaster recovery and improved read latency in remote region. Are you sure you want to remove the selected region from the global datastore?`

1. 如果您要繼續升級， 請選擇 **Confirm (確認)**，如果不想繼續升級，請選擇 **Cancel (取消)**。

如果您選擇確認，則會移除 AWS 區域，次要叢集不會再收到複寫更新。

## 刪除全域資料存放區
<a name="Redis-Global-Datastores-Console-Delete-GlobalDatastore"></a>

若要刪除全域資料存放區，請先移除所有次要叢集。如需詳細資訊，請參閱[從全域資料存放區移除區域](#Redis-Global-Datastore-Console-Remove-Region)。這樣做會使全域資料存放區處於 **primary-only (僅限主要)** 狀態。

**刪除全域資料存放區**

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

1. 在導覽窗格中，選擇**全域資料存放區**。

1. 在 **Global Datastore Name (全域資料存放區名稱)** 下，選擇您要刪除的全域資料存放區，然後選擇 **Delete (刪除)**。

   接著系統會提示您確認您的決定，並顯示下列警告：`Are you sure you want to delete this Global Datastore?`

1. 選擇 **刪除**。

全域資料存放區會轉換為 **Deleting (正在刪除)** 狀態。

# 使用全域資料存放區 (CLI)
<a name="Redis-Global-Datastores-CLI"></a>

您可以使用 AWS Command Line Interface (AWS CLI) 從命令列控制多個 AWS 服務，並透過指令碼將其自動化。您可以使用 AWS CLI 進行臨機操作 （一次性）。

## 下載和設定 AWS CLI
<a name="Redis-Global-Datastores-Downloading-CLI"></a>

 AWS CLI 會在 Windows、macOS 或 Linux 上執行。請使用下列程序來下載並進行設定。

**下載、安裝及設定 CLI**

1. 在[AWS 命令列界面](https://aws.amazon.com/cli)網頁上下載 AWS CLI。

1. 遵循*AWS Command Line Interface 《 使用者指南*》中安裝 AWS CLI 和設定 AWS CLI 的指示。

## 將 AWS CLI 與全域資料存放區搭配使用
<a name="Redis-Global-Datastores-Using-CLI"></a>

使用下列 CLI 作業來處理全域資料存放區：
+ [create-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-global-replication-group.html)

  ```
  aws elasticache create-global-replication-group \
     --global-replication-group-id-suffix my global datastore  \
     --primary-replication-group-id sample-repl-group  \
     --global-replication-group-description an optional description of the global datastore
  ```

  建立時，Amazon ElastiCache 會自動將字首套用至全域資料存放區 ID。每個 AWS 區域都有自己的字首。例如，在美國西部 (加利佛尼亞北部) 區域建立的全域資料儲存 ID 都以 "virxk" 開頭，加上您提供的尾碼名稱。尾碼與自動產生的字首結合，可保證跨多個區域的全域資料存放區名稱保持唯一性。

  下表列出每個 AWS 區域及其全域資料存放區 ID 字首。

    
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/Redis-Global-Datastores-CLI.html)
+  [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html) - 使用此作業可透過將全域資料存放區的名稱提供給 `--global-replication-group-id` 參數，為全域資料存放區建立次要叢集。

  ```
  aws elasticache create-replication-group \
    --replication-group-id secondary replication group name \
    --replication-group-description “Replication group description" \
    --global-replication-group-id global datastore name
  ```

  呼叫此操作並傳入`--global-replication-group-id`值時，ElastiCache 會從全域複寫群組的主要複寫群組推斷下列參數的值。請勿傳入這些參數的值：

  `"PrimaryClusterId",`

  `"AutomaticFailoverEnabled",`

  ` "NumNodeGroups",`

  ` "CacheParameterGroupName",`

  ` "CacheNodeType",`

  ` "Engine",`

  ` "EngineVersion",`

  ` "CacheSecurityGroupNames",`

  ` "EnableTransitEncryption",`

  ` "AtRestEncryptionEnabled",`

  ` "SnapshotArns",`

  ` "SnapshotName"`
+ [describe-global-replication-groups](https://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-global-replication-groups.html)

  ```
  aws elasticache describe-global-replication-groups \
     --global-replication-group-id my global datastore  \
     --show-member-info an optional parameter that returns a list of the primary and secondary clusters that make up the global datastore
  ```
+ [modify-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/modify-global-replication-group.html)

  ```
  aws elasticache modify-global-replication-group \
     --global-replication-group-id my global datastore  \
     --automatic-failover-enabled \
     --cache-node-type node type \
     --cache-parameter-group-name parameter group name \ 
     --engine-version engine version \
     -—apply-immediately \
     --global-replication-group-description description
  ```

  **ElastiCache GlobalDataStore 的 Redis 至 OSS Valkey 跨引擎升級**

  您可以使用主控台、API 或 CLI，將現有的 Redis OSS 全域複寫群組升級至 Valkey。

  如果您有現有的 Redis OSS 全域複寫群組，您可以使用 modify-global-replication-group API 指定新的引擎和引擎版本，以升級至 Valkey。

  若為 Linux、macOS 或 Unix：

  ```
  aws elasticache modify-global-replication-group \
     --global-replication-group-id myGlobalReplGroup \
     --engine valkey \
     --apply-immediately \
     --engine-version 8.0
  ```

  針對 Windows：

  ```
  aws elasticache modify-global-replication-group ^
     --global-replication-group-id myGlobalReplGroup ^
     --engine valkey ^
     --apply-immediately ^
     --engine-version 8.0
  ```

  如果您將自訂快取參數群組套用至要升級的現有 Redis OSS 全域複寫群組，您也需要在請求中傳遞自訂的 Valkey 快取參數群組。輸入 Valkey 自訂參數群組必須與現有的 Redis OSS 自訂參數群組具有相同的 Redis OSS 靜態參數值。

  若為 Linux、macOS 或 Unix：

  ```
  aws elasticache modify-global-replication-group \
     --global-replication-group-id myGlobalReplGroup \
     --engine valkey \
     --engine-version 8.0 \
     --apply-immediately \
     --cache-parameter-group-name myParamGroup
  ```

  針對 Windows：

  ```
  aws elasticache modify-global-replication-group ^
     --global-replication-group-id myGlobalReplGroup ^
     --engine valkey ^
     --engine-version 8.0 ^
     --apply-immediately ^
     --cache-parameter-group-name myParamGroup
  ```
+ [delete-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/delete-global-replication-group.html)

  ```
  aws elasticache delete-global-replication-group \
     --global-replication-group-id my global datastore  \
     --retain-primary-replication-group defaults to true
  ```
+ [disassociate-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/disassociate-global-replication-group.html)

  ```
  aws elasticache disassociate-global-replication-group \
     --global-replication-group-id my global datastore  \
     --replication-group-id my secondary cluster  \
     --replication-group-region the AWS Region in which the secondary cluster resides
  ```
+ [failover-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/failover-global-replication-group.html)

  ```
  aws elasticache failover-replication-group \
     --global-replication-group-id my global datastore \
     --primary-region The AWS Region of the primary cluster \  
     --primary-replication-group-id  The name of the global datastore, including the suffix.
  ```
+ [increase-node-groups-in-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/increase-node-groups-in-global-replication-group.html)

  ```
  aws elasticache increase-node-groups-in-global-replication-group \
     --apply-immediately yes \
     --global-replication-group-id global-replication-group-name \
     --node-group-count 3
  ```
+ [decrease-node-groups-in-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/decrease-node-groups-in-global-replication-group.html)

  ```
  aws elasticache decrease-node-groups-in-global-replication-group \
     --apply-immediately yes \
     --global-replication-group-id global-replication-group-name \
     --node-group-count 3
  ```
+ [rebalance-shards-in-global-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/rebalance-slots-in-global-replication-group.html)

  ```
  aws elasticache rebalance-shards-in-global-replication-group \
     --apply-immediately yes \
     --global-replication-group-id global-replication-group-name
  ```

使用說明列出 ElastiCache for Valkey 或 Redis OSS 的所有可用命令。

```
aws elasticache help
```

您還可以使用說明來描述特定命令，並了解更多關於它的用法：

```
aws elasticache create-global-replication-group help
```