在中选择网络类型 ElastiCache - 亚马逊 ElastiCache

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在中选择网络类型 ElastiCache

ElastiCache 支持 Internet 协议版本 4 IPv4 和 6(和IPv6),允许您将集群配置为接受:

  • 只有IPv4连接,

  • 只有IPv6连接,

  • 两者IPv4兼而IPv6有之(双栈)

IPv6支持使用 Valkey 7.2 及更高版本的工作负载,或者在 Nitro 系统上构建的所有实例上使用 Redis OSS 引擎 6.2 及更高版本的工作负载。通过访问 ElastiCache 不收取任何额外费用IPv6。

注意

不支持迁移在 IPV6 /dual-stack 可用之前创建的集群。也不支持在新创建的集群上切换网络类型。

IPv6在 Nitro 系统上构建的所有实例上都支持使用 Memcached 引擎 1.6.6 及更高版本的工作负载。通过访问 ElastiCache 不收取任何额外费用IPv6。

为网络类型配置子网

如果您在 Amazon 中创建集群VPC,则必须指定子网组。 ElastiCache 使用该子网组选择子网和该子网内的 IP 地址以与您的节点关联。 ElastiCache 群集需要一个双堆栈子网IPv4并分配给它们IPv6的地址才能在双堆栈模式下运行,并且需要一个IPv6仅限子网才能以-only模式运行。IPv6

使用双堆栈将解为

在启用集群模式下使用 ElastiCache (RedisOSS) 时,从应用程序的角度来看,通过配置终端节点连接到所有集群节点与直接连接到单个缓存节点没有什么不同。要实现此目的,集群感知客户端必须参与群集发现过程并请求所有节点的配置信息。Redis 的发现协议仅支持每个节点一个 IP。

当您使用 ElastiCache (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 群集

当TLS为集群启用时, ElastiCache 集群发现功能(例如cluster slotscluster shards、和)cluster nodes使用 Valkey 或 Redis 以及使用 Memcached 时会返回主机名而不是OSS。config get cluster IPs然后使用主机名代替IPs连接到 ElastiCache 集群并执行TLS握手。这意味着客户端不会受到 IP 发现参数的影响。对于TLS已启用的群集,IP 发现参数对首选 IP 协议没有影响。相反,所使用的 IP 协议将由客户端在解析DNS主机名时首选哪个 IP 协议来决定。

有关如何在解析DNS主机名时配置 IP 协议首选项的示例,请参阅TLS已启用双堆栈 ElastiCache 群集

使用 AWS Management Console (Valkey 和 RedisOSS)

使用创建集群时 AWS Management Console,在 “连接” 下选择网络类型 IPv4IPv6或者双堆栈。如果您要创建 Valkey 或 RedisOSS(已启用集群模式)集群并选择双堆栈,则必须选择发现 IP 类型,即或IPv6。IPv4

有关更多信息,请参阅创建 Valkey 或 RedisOSS(已启用集群模式)集群(控制台)创建 Valkey 或 RedisOSS(已禁用集群模式)(控制台)

使用创建复制组时 AWS Management Console,请选择网络类型IPv6双堆栈IPv4如果选择双堆栈,则必须选择 Discovery IP 类型,即IPv6或IPv4。

有关更多信息,请参阅从头开始创建 Valkey 或 RedisOSS(已禁用集群模式)复制组从 Valkey 或 RedisOSS(已启用集群模式)中从头开始创建复制组

使用 AWS Management Console (Memcached)

使用创建缓存集群时 AWS Management Console,在 “连接” 下选择网络类型 IPv4IPv6或者双堆栈。如果选择双堆栈,则必须选择 Discovery IP 类型,即IPv6或IPv4。

有关更多信息,请参阅 创建 Memcached 集群(控制台)

CLI与 Valkey、Redis 或 Memcache OSS d 搭配使用

Redis OSS

OSS使用 Valkey 或 Redis 创建缓存集群时CLI,您可以使用create-cache-cluster命令并指定和参数NetworkTypeIPDiscovery

对于 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命令并指定NetworkTypeIPDiscovery参数:

对于 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

在创建启用了群集模式并使用进行 IPv4 IP 发现的复制组时CLI,您可以使用create-replication-group命令并指定NetworkTypeIPDiscovery参数:

对于 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

在创建启用了群集模式并使用进行 IPv6 IP 发现的复制组时CLI,您可以使用create-replication-group命令并指定NetworkTypeIPDiscovery参数:

对于 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,您可以使用create-cache-cluster命令并指定NetworkTypeIPDiscovery参数:

对于 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