本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
ElastiCache 支持 Internet 协议版本 4 IPv4 和 6(和 IPv6),允许您将集群配置为接受:
只有 IPv4 连接,
只有 IPv6 连接,
两者 IPv4 兼而 IPv6 有之(双栈)
IPv6 在 Nitro 系统上构建的所有实例上都支持使用 Valkey 7.2 及更高版本或 Redis OSS 6.2 及更高版本的工作负载。
注意
不支持迁移在 IPV6 /dual-stack 可用之前创建的集群。也不支持在新创建的集群上切换网络类型。
IPv6 支持在 Nitro 系统上构建的所有实例上使用 Memcached 1.6.6 及更高版本的工作负载。
为网络类型配置子网
如果您在 Amazon VPC 中创建集群,则必须指定子网组。 ElastiCache 使用该子网组选择子网和该子网内的 IP 地址以与您的节点关联。 ElastiCache 群集需要一个双堆栈子网 IPv4 并分配给它们 IPv6 的地址才能在双堆栈模式下运行,并且需要一个 IPv6仅限子网才能以-only模式运行。 IPv6
使用双堆栈将解为
在启用了集群模式的 Redis OSS 上使用 ElastiCache 时,从应用程序的角度来看,通过配置终端节点连接到所有集群节点与直接连接到单个缓存节点没有什么不同。要实现此目的,集群感知客户端必须参与群集发现过程并请求所有节点的配置信息。Redis 的发现协议仅支持每个节点一个 IP。
当您使用 ElastiCache for Memcached 创建缓存集群并选择双堆栈作为网络类型时,您需要指定 IP 发现类型,即或。 IPv4 IPv6 ElastiCache 会将网络类型和 IP 发现默认为 IPv6,但可以更改。如果您使用 Auto Discovery,则仅将所选 IP 类型的 IP 地址返回给 Memcached 客户端。有关更多信息,请参阅 自动识别集群(Memcached)中的节点。
为了保持与所有现有客户端的向后兼容性,引入了 IP 发现,允许您选择要在发现协议中通告的 IP 类型(即 IPv4 或 IPv6)。虽然这将 auto discovery 限制为仅有一种 IP 类型,但双堆栈对于启用集群模式的工作负载仍然有利,因为它可以在不停机的情况下从 IPv6 Discovery IP 类型迁移(或回滚)。 IPv4
启用 TLS 的双堆栈 ElastiCache 集群
当为 ElastiCache 集群启用 TLS 时,集群发现功能(例如cluster slots
cluster shards
、和)cluster nodes
使用 Valkey 或 Redis OSS 以及 config get cluster
Memcached 时会返回主机名而不是。 IPs然后使用主机名代替 IPs 连接到 ElastiCache 集群并执行 TLS 握手。这意味着客户端不会受到 IP 发现参数的影响。对于启用 TLS 的集群,IP 发现参数对首选 IP 协议没有影响。相反,使用的 IP 协议将取决于客户端在解析 DNS 主机名时首选的 IP 协议。
有关在解析 DNS 主机名时如何配置 IP 协议首选项的示例,请参阅启用 TLS 的双堆栈 ElastiCache 集群。
使用 AWS Management Console (Valkey 和 Redis OSS)
使用创建集群时 AWS Management Console,在 “连接” 下,选择网络类型 IPv4,IPv6或者双堆栈。如果您要创建 Valkey 或 Redis OSS(已启用集群模式)集群并选择双堆栈,则必须选择发现 IP 类型,即或 IPv6 。 IPv4
有关更多信息,请参阅 创建 Valkey 或 Redis OSS(已启用集群模式)集群(控制台)或 创建 Valkey 或 Redis OSS 集群(已禁用集群模式)集群(控制台)。
使用创建复制组时 AWS Management Console,请选择网络类型IPv6或双堆栈。IPv4如果选择双堆栈,则必须选择 Discovery IP 类型,即 IPv6 或 IPv4。
有关更多信息,请参阅 从头创建 Valkey 或 Redis OSS(已禁用集群模式)复制组或 从头开始在 Valkey 或 Redis OSS(已启用集群模式)中创建复制组。
使用 AWS Management Console (Memcached)
使用创建缓存集群时 AWS Management Console,在 “连接” 下选择网络类型 IPv4,IPv6或者双堆栈。如果选择双堆栈,则必须选择 Discovery IP 类型,即 IPv6 或 IPv4。
有关更多信息,请参阅 创建 Memcached 集群(控制台)。
在 Valkey、Memcached 或 Redis OSS 上使用 CLI。
Redis OSS
使用 CLI 创建带有 Valkey 或 Redis OSS 的缓存集群时,您可以使用create-cache-cluster命令并指定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命令并指定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命令并指定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命令并指定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命令并指定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