

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

# 在 ElastiCache 中使用碎片
<a name="Shards"></a>

碎片 (API/CLI：節點群組） 是一到六個 ElastiCache for Valkey 或 Redis OSS 節點的集合。Valkey 或 Redis OSS （停用叢集模式） 叢集絕不會有多個碎片。使用碎片，您可以將大型資料庫分成較小、更快速且更易於管理的部分，稱為資料碎片。這可以透過將操作分散到多個不同的區段來提高資料庫效率。使用碎片可以提供許多好處，包括改善效能、可擴展性和成本效益。

您可以建立具有較高數量碎片和較低數量複本的叢集，每一叢集最高總計為 90 個節點。此叢集組態的範圍可以從 90 個碎片和 0 個複本到 15 個碎片和 5 個複本，這是允許的複本最大數量。叢集的資料會分割到叢集的各個碎片中。如果一個碎片中有超過一個節點，碎片會實作複寫，其中一個節點為讀取/寫入主要節點，其他節點則為僅供讀取複本節點。

如果引擎版本為 Valkey 7.2 及更高版本，或 Redis OSS 5.0.6 至 7.1，則每個叢集的節點或碎片限制最多可增加至 500 個。例如，您可以選擇設定具有 500 個節點的叢集，並容許碎片在 83 個（每個碎片一個主要版本和 5 個複本）到 500 個（單一主要版本並且沒有複本）之間變化。請確保有足夠的可用 IP 地址來容納增加的數量。常見的缺陷包括子網路群組中的子網路的 CIDR 範圍太小，或是子網路被共用並被其他叢集大量使用。如需詳細資訊，請參閱[建立子網路群組](SubnetGroups.Creating.md)。

 對於 5.0.6 以下的版本，每個叢集的限制為 250 個。

若要請求提高配額，請參閱 [AWS 服務配額](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html)，並選擇配額類型 **Nodes per cluster per instance type (每執行個體類型每叢集的節點數)**。

當您使用 ElastiCache 主控台建立 Valkey 或 Redis OSS （啟用叢集模式） 叢集時，您可以指定叢集中的碎片數量和碎片中的節點數量。如需詳細資訊，請參閱[建立 Valkey 或 Redis OSS （啟用叢集模式） 叢集 （主控台）](Clusters.Create.md#Clusters.Create.CON.RedisCluster)。如果您使用 ElastiCache API 或 AWS CLI 來建立叢集 （在 API/CLI 中稱為*複寫群組*)，您可以獨立設定碎片 (API/CLI：節點群組） 中的節點數量。如需詳細資訊，請參閱下列內容：
+ API：[CreateReplicationGroup](https://docs.aws.amazon.com/AmazonElastiCache/latest/APIReference/API_CreateReplicationGroup.html)
+ CLI：[create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html)

碎片中的每個節點都具有相同的運算、儲存體及記憶體規格。ElastiCache API 可讓您控制碎片的屬性，例如節點數、安全設定，以及系統維護時間。

![影像：Valkey 或 Redis OSS 碎片組態。](http://docs.aws.amazon.com/zh_tw/AmazonElastiCache/latest/dg/images/ElastiCacheClusters-CSN-RedisShards.png)


*Valkey 或 Redis OSS 碎片組態*

如需詳細資訊，請參閱[Valkey 或 Redis OSS 的離線重新分片 （啟用叢集模式）](scaling-redis-cluster-mode-enabled.md#redis-cluster-resharding-offline)及[Valkey 或 Redis OSS 的線上重新分片 （啟用叢集模式）](scaling-redis-cluster-mode-enabled.md#redis-cluster-resharding-online)。

## 尋找碎片的 ID
<a name="shard-find-id"></a>

您可以使用 AWS 管理主控台、 AWS CLI 或 ElastiCache API 尋找碎片的 ID。

### 使用 AWS 管理主控台
<a name="shard-find-id-con"></a>



**Topics**
+ [針對 Valkey 或 Redis OSS （停用叢集模式）](#shard-find-id-con-classic)
+ [針對 Valkey 或 Redis OSS （啟用叢集模式）](#shard-find-id-con-cluster)

#### 針對 Valkey 或 Redis OSS （停用叢集模式）
<a name="shard-find-id-con-classic"></a>

Valkey 或 Redis OSS （停用叢集模式） 複寫群組碎片 IDs 一律為 `0001`。

#### 針對 Valkey 或 Redis OSS （啟用叢集模式）
<a name="shard-find-id-con-cluster"></a>

下列程序使用 AWS 管理主控台 尋找 Valkey 或 Redis OSS （啟用叢集模式） 的複寫群組碎片 ID。

**在 Valkey 或 Redis OSS （啟用叢集模式） 複寫群組中尋找碎片 ID**

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

1. 在導覽窗格中，選擇 **Valkey** 或 **Redis OSS**，然後選擇您要尋找碎片 IDs 的 Valkey 或 Redis OSS （啟用叢集模式） 複寫群組的名稱。

1. 在 **Shard Name (碎片名稱)** 欄中，碎片 ID 是碎片名稱的最後四位數。

### 使用 AWS CLI
<a name="shard-find-id-cli"></a>

若要尋找 Valkey 或 Redis OSS （停用叢集模式） 或 Valkey 或 Redis OSS （啟用叢集模式） 複寫群組的碎片 （節點群組） ID，請使用 AWS CLI 操作`describe-replication-groups`搭配下列選用參數。
+ **`--replication-group-id`** - 選用參數，使用時會將輸出限制為指定複寫群組的詳細資訊。若忽略此參數，則最多會傳回 100 個複寫群組詳細資訊。

**Example**  
此命令將傳回 `sample-repl-group` 的詳細資訊。  
若為 Linux、macOS 或 Unix：  

```
aws elasticache describe-replication-groups \
    --replication-group-id {{sample-repl-group}}
```
針對 Windows：  

```
aws elasticache describe-replication-groups ^
    --replication-group-id {{sample-repl-group}}
```
此命令的輸出看起來會與以下內容相似。碎片 (節點群組) ID 已在此 {{highlighted}} (反白)，可讓您更輕易地找到。  

```
{
    "ReplicationGroups": [
        {
            "Status": "available", 
            "Description": "2 shards, 2 nodes (1 + 1 replica)", 
            "NodeGroups": [
                {
                    "Status": "available", 
                    "Slots": "0-8191", 
                    "NodeGroupId": "{{0001}}", 
                    "NodeGroupMembers": [
                        {
                            "PreferredAvailabilityZone": "us-west-2c", 
                            "CacheNodeId": "0001", 
                            "CacheClusterId": "sample-repl-group-0001-001"
                        }, 
                        {
                            "PreferredAvailabilityZone": "us-west-2a", 
                            "CacheNodeId": "0001", 
                            "CacheClusterId": "sample-repl-group-0001-002"
                        }
                    ]
                }, 
                {
                    "Status": "available", 
                    "Slots": "8192-16383", 
                    "NodeGroupId": "{{0002}}", 
                    "NodeGroupMembers": [
                        {
                            "PreferredAvailabilityZone": "us-west-2b", 
                            "CacheNodeId": "0001", 
                            "CacheClusterId": "sample-repl-group-0002-001"
                        }, 
                        {
                            "PreferredAvailabilityZone": "us-west-2a", 
                            "CacheNodeId": "0001", 
                            "CacheClusterId": "sample-repl-group-0002-002"
                        }
                    ]
                }
            ], 
            "ConfigurationEndpoint": {
                "Port": 6379, 
                "Address": "sample-repl-group.9dcv5r.clustercfg.usw2.cache.amazonaws.com"
            }, 
            "ClusterEnabled": true, 
            "ReplicationGroupId": "sample-repl-group", 
            "SnapshotRetentionLimit": 1, 
            "AutomaticFailover": "enabled", 
            "SnapshotWindow": "13:00-14:00", 
            "MemberClusters": [
                "sample-repl-group-0001-001", 
                "sample-repl-group-0001-002", 
                "sample-repl-group-0002-001", 
                "sample-repl-group-0002-002"
            ], 
            "CacheNodeType": "cache.m3.medium", 
            "DataTiering": "disabled",
            "PendingModifiedValues": {}
        }
    ]
}
```

### 使用 ElastiCache API
<a name="shard-find-id-api"></a>

若要尋找 Valkey 或 Redis OSS （停用叢集模式） 或 Valkey 或 Redis OSS （啟用叢集模式） 複寫群組的碎片 （節點群組） ID，請使用 AWS CLI 操作`describe-replication-groups`搭配下列選用參數。
+ **`ReplicationGroupId`** - 選用參數，使用時會將輸出限制為指定複寫群組的詳細資訊。若忽略此參數，則最多會傳回 {{xxx}} 個複寫群組詳細資訊。

**Example**  
此命令將傳回 `sample-repl-group` 的詳細資訊。  
若為 Linux、macOS 或 Unix：  

```
https://elasticache.us-west-2.amazonaws.com/
   ?Action=DescribeReplicationGroup
   &ReplicationGroupId=sample-repl-group
   &Version=2015-02-02
   &SignatureVersion=4
   &SignatureMethod=HmacSHA256
   &Timestamp=20150202T192317Z
   &X-Amz-Credential=<credential>
```