

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

# 在 ElastiCache 中選擇網路類型
<a name="network-type"></a>

ElastiCache 支援網際網路通訊協定第 4 版和第 6 版 (IPv4 和 IPv6)，可讓您將叢集設定為接受：
+ 只有 IPv4 連接，
+ 只有 IPv6 連線，
+ IPv4 和 IPv6 連線皆可 (雙堆疊)

在 [Nitro 系統上](https://aws.amazon.com/ec2/nitro/)建置的所有執行個體上，使用 Valkey 7.2 和更新版本或 Redis OSS 6.2 和更新版本的工作負載都支援 IPv6。透過 IPv6 存取 ElastiCache 不另行收費。

**注意**  
不支援在 IPV6/雙堆疊可用性之前建立的叢集遷移。也不支援在新建立的叢集上切換網路類型。

在 [Nitro 系統上](https://aws.amazon.com/ec2/nitro/)建置的所有執行個體上使用 Memcached 1.6.6 以上版本的工作負載都支援 IPv6。透過 IPv6 存取 ElastiCache 不另行收費。

## 設定網路類型的子網路
<a name="network-type-subnets"></a>

如果您在 Amazon VPC 中建立叢集，就必須指定子網路群組。ElastiCache 會使用此子網路群組選擇子網路及該子網路中的 IP 地址，以與您的節點建立關聯。ElastiCache 叢集需要具有 IPv4 和 IPv6 地址的雙堆疊子網路，以便在雙堆疊模式下運作，且僅限 IPv6 的子網路僅會以 IPv6 運作。

## 使用雙堆疊
<a name="network-type-dual-stack"></a>

在啟用叢集模式下使用 ElastiCache for Redis OSS 時，從應用程式的角度來看，透過組態端點連線至所有叢集節點與直接連線至個別快取節點並無不同。若要達成此目標，叢集感知用戶端必須參與叢集探索程序，並要求所有節點的組態資訊。Rediss 的探索通訊協定在每個節點僅支援一個 IP。

當您使用 ElastiCache for Memcachedand 選擇雙堆疊做為網路類型建立叢集時，您需要指定 IP 探索類型：IPv4 或 IPv6。ElastiCache 會將網路類型和 IP 探索預設為 IPv6，但這可以變更。如果您使用自動探索，只有您所選 IP 類型的 IP 地址會傳回至 Memcached 用戶端。如需詳細資訊，請參閱[自動識別叢集中的節點 (Memcached)](AutoDiscovery.md)。

為了維持與所有現有用戶端的回溯相容性，我們會引入 IP 探索，讓您選取要在探索通訊協定中公告的 IP 類型 (即 IPv4 或 IPv6)。雖然這將自動探索限制為只有一種 IP 類型，但有了自動探索功能，雙堆疊仍然十分有用，因為可讓您從 IPv4 遷移 (或回復) 到 IPv6 探索 IP 類型，而不會導致停機。

## 啟用 TLS 的雙堆疊 ElastiCache 叢集
<a name="configuring-tls-enabled-dual-stack"></a>

為 ElastiCache 叢集啟用 TLS 時，叢集探索函數，例如 `cluster slots`、 `cluster shards`和 `cluster nodes` 搭配 Valkey 或 Redis OSS 以及 `config get cluster`搭配 Memcached 會傳回主機名稱，而非 IPs。接著會使用主機名稱而非 IP 來連線 ElastiCache 叢集，並執行 TLS 交握。這表示用戶端不會受到 IP 探索參數的影響。*針對啟用 TLS 的叢集，IP 探索參數對偏好的 IP 通訊協定沒有影響。*反之，用戶端在解析 DNS 主機名稱時偏好使用的 IP 通訊協定會決定所使用的 IP 通訊協定。

如需如何在解析 DNS 主機名稱時設定 IP 通訊協定偏好設定的範例，請參閱 [啟用 TLS 的雙堆疊 ElastiCache 叢集](BestPractices.md#network-type-configuring-tls-enabled-dual-stack)。

## 使用AWS 管理主控台(Valkey 和 Redis OSS)
<a name="network-type-console"></a>

使用 建立叢集時AWS 管理主控台，請在**連線能力**下選擇網路類型，即 **IPv4**、**IPv6** 或**雙堆疊**。如果您要建立 Valkey 或 Redis OSS （啟用叢集模式） 叢集並選擇雙堆疊，則必須選取**探索 IP 類型**，即 IPv6 或 IPv4。

如需詳細資訊，請參閱 [建立 Valkey 或 Redis OSS （啟用叢集模式） 叢集 （主控台）](Clusters.Create.md#Clusters.Create.CON.RedisCluster) 或 [建立 Valkey 或 Redis OSS （停用叢集模式） （主控台）](Clusters.Create.md#Clusters.Create.CON.Redis) 。

使用 建立複寫群組時AWS 管理主控台，請選擇網路類型，即 **IPv4**、**IPv6** 或**雙堆疊**。若您選擇雙堆疊，則須選取 IPv6 或 IPv4 做為 **Discovery IP type** (探索 IP 類型)。

如需詳細資訊，請參閱 [從頭開始建立 Valkey 或 Redis OSS （停用叢集模式） 複寫群組](Replication.CreatingReplGroup.NoExistingCluster.Classic.md) 或 [從頭開始在 Valkey 或 Redis OSS （啟用叢集模式） 中建立複寫群組](Replication.CreatingReplGroup.NoExistingCluster.Cluster.md) 。

## 使用AWS 管理主控台(Memcached)
<a name="network-type-console-mem"></a>

使用 建立叢集時AWS 管理主控台，請在**連線能力**下選擇網路類型，即 **IPv4**、**IPv6** 或**雙堆疊**。若您選擇雙堆疊，則須選取 IPv6 或 IPv4 做為 **Discovery IP type** (探索 IP 類型)。

如需詳細資訊，請參閱[建立 Memcached 叢集 (主控台)](Clusters.Create-mc.md#Clusters.Create.CON.Memcached)。

## 使用 CLI 搭配 Valkey、Memcached 或 Redis OSS。
<a name="network-type-cli"></a>

**Redis OSS**

使用 CLI 建立具有 Valkey 或 Redis OSS 的叢集時，您可以使用 [create-cache-cluster](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-cache-cluster.html) 命令並指定 `NetworkType`和 `IPDiscovery` 參數：

針對 Linux、macOS 或 Unix：

```
aws elasticache create-cache-cluster \
    --cache-cluster-id "cluster-test" \
    --engine redis \
    --cache-node-type cache.m5.large \
    --num-cache-nodes 1 \
    --network-type dual_stack \
    --ip-discovery ipv4
```

針對 Windows：

```
aws elasticache create-cache-cluster ^
    --cache-cluster-id "cluster-test" ^
    --engine redis ^
    --cache-node-type cache.m5.large ^
    --num-cache-nodes 1 ^
    --network-type dual_stack ^
    --ip-discovery ipv4
```

使用 CLI 建立停用叢集模式的複寫群組時，您可以使用 [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html) 命令並指定 `NetworkType` 和 `IPDiscovery` 參數：

針對 Linux、macOS 或 Unix：

```
aws elasticache create-replication-group \
   --replication-group-id sample-repl-group \
   --replication-group-description "demo cluster with replicas" \
   --num-cache-clusters 3 \
   --primary-cluster-id redis01 \
   --network-type dual_stack \
   --ip-discovery ipv4
```

針對 Windows：

```
aws elasticache create-replication-group ^
   --replication-group-id sample-repl-group ^
   --replication-group-description "demo cluster with replicas" ^
   --num-cache-clusters 3 ^
   --primary-cluster-id redis01 ^
   --network-type dual_stack ^
   --ip-discovery ipv4
```

建立已啟用叢集模式的複寫群組，並使用 CLI 將 IPv4 用於 IP 探索時，您可以使用 [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html) 命令並指定 `NetworkType` 和 `IPDiscovery` 參數：

針對 Linux、macOS 或 Unix：

```
aws elasticache create-replication-group \
  --replication-group-id demo-cluster \
  --replication-group-description "demo cluster" \
  --cache-node-type cache.m5.large \
  --num-node-groups 2 \
  --engine redis \
  --cache-subnet-group-name xyz \
  --network-type dual_stack \
  --ip-discovery ipv4 \
  --region us-east-1
```

針對 Windows：

```
aws elasticache create-replication-group ^
  --replication-group-id demo-cluster ^
  --replication-group-description "demo cluster" ^
  --cache-node-type cache.m5.large ^
  --num-node-groups 2 ^
  --engine redis ^
  --cache-subnet-group-name xyz ^
  --network-type dual_stack ^
  --ip-discovery ipv4 ^
  --region us-east-1
```

建立已啟用叢集模式的複寫群組，並使用 CLI 將 IPv6 用於 IP 探索時，您可以使用 [create-replication-group](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-replication-group.html) 命令並指定 `NetworkType` 和 `IPDiscovery` 參數：

針對 Linux、macOS 或 Unix：

```
aws elasticache create-replication-group \
  --replication-group-id demo-cluster \
  --replication-group-description "demo cluster" \
  --cache-node-type cache.m5.large \
  --num-node-groups 2 \
  --engine redis \
  --cache-subnet-group-name xyz \
  --network-type dual_stack \
  --ip-discovery ipv6 \
  --region us-east-1
```

針對 Windows：

```
aws elasticache create-replication-group ^
  --replication-group-id demo-cluster ^
  --replication-group-description "demo cluster" ^
  --cache-node-type cache.m5.large ^
  --num-node-groups 2 ^
  --engine redis ^
  --cache-subnet-group-name xyz ^
  --network-type dual_stack ^
  --ip-discovery ipv6 ^
  --region us-east-1
```

**Memcached**

使用 CLI 使用 Memcached 建立叢集時，您可以使用 [create-cache-cluster](https://docs.aws.amazon.com/cli/latest/reference/elasticache/create-cache-cluster.html) 命令並指定 `NetworkType`和 `IPDiscovery` 參數：

針對 Linux、macOS 或 Unix：

```
aws elasticache create-cache-cluster \
    --cache-cluster-id "cluster-test" \
    --engine memcached \
    --cache-node-type cache.m5.large \
    --num-cache-nodes 1 \
    --network-type dual_stack \
    --ip-discovery ipv4
```

針對 Windows：

```
aws elasticache create-cache-cluster ^
    --cache-cluster-id "cluster-test" ^
    --engine memcached ^
    --cache-node-type cache.m5.large ^
    --num-cache-nodes 1 ^
    --network-type dual_stack ^
    --ip-discovery ipv4
```