Création d'un groupe de réplication Redis (mode cluster activé) à partir de zéro
Vous pouvez créer un cluster Redis (mode cluster activé) (API/CLI :groupe de réplication) à l'aide de la console ElastiCache, la AWS CLI, ou l'API ElastiCache. Un groupe de réplication Redis (mode cluster activé) comprend de 1 à 500 partitions (API/CLI : groupes de nœuds), un nœud primaire dans chaque partition et jusqu'à 5 réplicas en lecture dans chaque partition. Vous pouvez créer un cluster contenant un nombre de partitions supérieur et un nombre de réplicas inférieur, qui conduisent à un nombre total de 90 nœuds par cluster. Cette configuration de cluster peut contenir de 90 partitions avec 0 réplica à 15 partitions avec 5 réplicas, ce qui correspond au nombre maximal de réplicas autorisé.
La limite de nœuds ou de partitions peut être augmentée à un maximum de 500 par cluster si la version du moteur Redis est 5.0.6 ou ultérieure. Par exemple, vous pouvez choisir de configurer un cluster de 500 nœuds compris entre 83 (un principal et 5 réplicas par partition) et 500 partitions (un principal et aucun réplicas). Assurez-vous qu’il y ait suffisamment d’adresses IP disponibles pour faire face à l’augmentation. Les pièges courants incluent les sous-réseaux du groupe de sous-réseaux avec une plage CIDR trop petite ou les sous-réseaux partagés et fortement utilisés par d’autres clusters. Pour de plus amples informations, veuillez consulter Création d'un groupe de sous-réseaux.
Pour les versions antérieures à 5.0.6, la limite est de 250 par cluster.
Pour demander une augmentation de cette limite, veuillez consulter AWS Service Limits et sélectionnez le type de limite Nœuds par cluster par type d'instance.
Création d'un cluster dans Redis (mode cluster activé)
Création d'un cluster Redis (mode cluster activé) (Console)
Pour créer un cluster Redis (mode cluster activé), veuillez consulter Création d'un cluster Redis (mode cluster activé) (Console). Veillez à activer le mode de cluster, Cluster Mode enabled (Scale Out) et spécifiez au moins deux partitions et un nœud de réplica dans chaque.
Création d'un groupe de réplication Redis (mode cluster activé) à partir de zéro (AWS CLI)
La procédure suivante crée un groupe de réplication Redis (mode cluster activé) à l'aide de la AWS CLI.
Lorsque vous créez un groupe de réplication Redis (mode cluster activé) à partir de zéro, vous créez le groupe de réplication et tous ses nœuds avec un seul appel à la commande AWS CLI create-replication-group
. Incluez les paramètres suivants.
- --replication-group-id
Le nom du groupe de réplication que vous créez.
Les contraintes de nommage de groupes de réplication Redis (mode cluster activé) sont les suivantes :
Doit contenir entre 1 et 40 caractères alphanumériques ou traits d'union.
Doit commencer par une lettre.
Ils ne peuvent pas comporter deux traits d'union consécutifs.
Ils ne peuvent pas se terminer par un trait d'union.
- --replication-group-description
Description du groupe de réplication.
- --cache-node-type
Le type de nœud pour chaque nœud dans le groupe de réplication.
ElastiCache prend en charge les types de nœuds suivants. En général, les types de la génération actuelle offrent davantage de mémoire et de puissance de calcul pour un coût inférieur, par rapport à leurs homologues équivalents de la génération précédente.
Pour plus de détails sur les performances pour chaque type de nœud, veuillez consulter Types d'instances Amazon EC2
. - - Hiérarchisation des données-activée
Définissez ce paramètre si vous utilisez un type de nœud r6gd. Si vous ne souhaitez pas effectuer de hiérarchisation des données, définissez
--no-data-tiering-enabled
. Pour de plus amples informations, veuillez consulter Mise à niveau des données.- --cache-parameter-group
Spécifiez le groupe de paramètres
default.redis6.x.cluster.on
ou un groupe de paramètres provenant dedefault.redis6.x.cluster.on
pour créer un groupe de réplication Redis (mode cluster activé). Pour de plus amples informations, veuillez consulter Modifications des paramètres de Redis 6.x.- --engine
redis
- --engine-version
3.2.4
- --num-node-groups
Le nombre de groupes de nœuds dans ce groupe de réplication. Valeurs valides : de 1 à 500.
Note
Le nombre limite de nœuds/partitions peut être porté à 500 au plus par cluster. Pour demander une augmentation de cette limite, veuillez consulter AWS Service Limit et choisissez le type de limite « Nœuds par cluster par type d'instance ».
- --replicas-per-node-group
Le nombre de nœuds de réplica dans chaque groupe de nœuds. Les valeurs valides sont comprises entre 0 et 5.
- --network-type
ipv4
,ipv
oudual-stack
. Si vous choisissez la double pile, vous devez définir le paramètre--IpDiscovery
suripv4
ouipv6
.
Si vous souhaitez activer le chiffrement en transit ou au repos sur ce groupe de réplication, ajoutez l'un ou l'autre ou les deux paramètres --transit-encryption-enabled
ou --at-rest-encryption-enabled
et remplissez les conditions suivantes.
-
Votre groupe de réplication doit exécuter Redis version 3.2.6 ou 4.0.10.
-
Le groupe de réplication doit être créé dans un Amazon VPC.
-
Vous devez également inclure le paramètre
--cache-subnet-group
. -
Vous devez également inclure le paramètre
--auth-token
avec la valeur de chaîne à client spécifié pour votre jeton AUTH (mot de passe) nécessaire à la réalisation des opérations sur ce groupe de réplication.
L'opération suivante crée le groupe de réplication Redis (mode cluster activé) sample-repl-group
avec trois groupes de nœuds/partitions (--num-node-groups), chacun avec trois nœuds, un nœud primaire et deux réplicas en lecture (--replicas-per-node-group).
Pour Linux, macOS ou Unix :
aws elasticache create-replication-group \ --replication-group-id
sample-repl-group
\ --replication-group-description"Demo cluster with replicas"
\ --num-node-groups3
\ --replicas-per-node-group2
\ --cache-node-typecache.m4.large
\ --engineredis
\ --security-group-idsSECURITY_GROUP_ID
\ --cache-subnet-group-nameSUBNET_GROUP_NAME>
Pour Windows :
aws elasticache create-replication-group ^ --replication-group-id
sample-repl-group
^ --replication-group-description"Demo cluster with replicas"
^ --num-node-groups3
^ --replicas-per-node-group2
^ --cache-node-typecache.m4.large
^ --engineredis
^ --security-group-idsSECURITY_GROUP_ID
^ --cache-subnet-group-nameSUBNET_GROUP_NAME>
La commande précédente génère la sortie suivante.
{
"ReplicationGroup": {
"Status": "creating",
"Description": "Demo cluster with replicas",
"ReplicationGroupId": "sample-repl-group",
"SnapshotRetentionLimit": 0,
"AutomaticFailover": "enabled",
"SnapshotWindow": "05:30-06:30",
"MemberClusters": [
"sample-repl-group-0001-001",
"sample-repl-group-0001-002",
"sample-repl-group-0001-003",
"sample-repl-group-0002-001",
"sample-repl-group-0002-002",
"sample-repl-group-0002-003",
"sample-repl-group-0003-001",
"sample-repl-group-0003-002",
"sample-repl-group-0003-003"
],
"PendingModifiedValues": {}
}
}
Lorsque vous créez un groupe de réplication Redis (mode cluster activé) à partir de zéro, vous pouvez configurer chaque partition dans le cluster à l'aide du paramètre --node-group-configuration
comme illustré dans l'exemple suivant qui configure deux groupes de nœuds (console : partitions). La première partition comporte deux nœuds, un nœud principal et un réplica en lecture. La deuxième partition comporte trois nœuds, un nœud principal et deux réplicas en lecture.
- --node-group-configuration
La configuration pour chaque groupe de nœuds. Le paramètre
--node-group-configuration
se compose des champs suivants.-
PrimaryAvailabilityZone
: la zone de disponibilité où se trouve le nœud primaire de ce groupe de nœuds. Si ce paramètre n'est pas spécifié, ElastiCache choisit la zone de disponibilité pour le nœud primaire.Par exemple : us-west-2a.
-
ReplicaAvailabilityZones
: une liste séparée par des virgules des zones de disponibilité où se trouvent les réplicas en lecture. Le nombre de zones de disponibilité dans cette liste doit correspondre à la valeurReplicaCount
. Si ce paramètre n'est pas spécifié, ElastiCache choisit la zone de disponibilité pour les nœuds de réplica.Exemple : « us-west-2a, us-west-2b, us-west-2c »
-
ReplicaCount
– Le nombre de nœuds de réplica dans ce groupe de nœuds. -
Slots
: chaîne qui spécifie l'espace de clés pour le groupe de nœuds. La chaîne est au formatstartKey-endKey
. Si ce paramètre n'est pas spécifié, ElastiCache attribue des clés de manière équitable entre les groupes de nœuds.Exemple : "0-4999"
-
L'opération suivante crée le groupe de réplication Redis (mode cluster activé) new-group
avec deux groupes de nœuds/partitions (--num-node-groups
). À l'inverse de l'exemple précédent, chaque groupe de nœuds est configuré différemment de l'autre groupe de nœuds (--node-group-configuration
).
Pour Linux, macOS ou Unix :
aws elasticache create-replication-group \ --replication-group-id
new-group
\ --replication-group-description "Sharded replication group
" \ --engineredis
\ --snapshot-retention-limit8
\ --cache-node-typecache.m4.medium
\ --num-node-groups2
\ --node-group-configuration \ "ReplicaCount=1
,Slots=0-8999
,PrimaryAvailabilityZone='us-east-1c
',ReplicaAvailabilityZones='us-east-1b
'" \ "ReplicaCount=2
,Slots=9000-16383
,PrimaryAvailabilityZone='us-east-1a
',ReplicaAvailabilityZones='us-east-1a
','us-east-1c
'"
Pour Windows :
aws elasticache create-replication-group ^ --replication-group-id
new-group
^ --replication-group-description "Sharded replication group
" ^ --engineredis
^ --snapshot-retention-limit8
^ --cache-node-typecache.m4.medium
^ --num-node-groups2
^ --node-group-configuration \ "ReplicaCount=1
,Slots=0-8999
,PrimaryAvailabilityZone='us-east-1c
',ReplicaAvailabilityZones='us-east-1b
'" \ "ReplicaCount=2
,Slots=9000-16383
,PrimaryAvailabilityZone='us-east-1a
',ReplicaAvailabilityZones='us-east-1a
','us-east-1c
'"
L'opération précédente génère la sortie suivante.
{
"ReplicationGroup": {
"Status": "creating",
"Description": "Sharded replication group",
"ReplicationGroupId": "rc-rg",
"SnapshotRetentionLimit": 8,
"AutomaticFailover": "enabled",
"SnapshotWindow": "10:00-11:00",
"MemberClusters": [
"rc-rg-0001-001",
"rc-rg-0001-002",
"rc-rg-0002-001",
"rc-rg-0002-002",
"rc-rg-0002-003"
],
"PendingModifiedValues": {}
}
}
Pour plus d'informations et connaître les paramètres que vous pouvez utiliser, consultez la rubrique AWS CLI create-replication-group.
Création d'un groupe de réplication dans Redis (mode cluster activé) à partir de zéro (API ElastiCache)
La procédure suivante crée un groupe de réplication Redis (mode cluster activé) à l'aide de l'API ElastiCache.
Lorsque vous créez un groupe de réplication Redis (mode cluster activé) à partir de zéro, vous créez le groupe de réplication et tous ses nœuds avec un seul appel à la commande CreateReplicationGroup
de l'API ElastiCache. Incluez les paramètres suivants.
- ReplicationGroupId
Le nom du groupe de réplication que vous créez.
Les contraintes de nommage de groupes de réplication Redis (mode cluster activé) sont les suivantes :
Doit contenir entre 1 et 40 caractères alphanumériques ou traits d'union.
Doit commencer par une lettre.
Ils ne peuvent pas comporter deux traits d'union consécutifs.
Ils ne peuvent pas se terminer par un trait d'union.
- ReplicationGroupDescription
Description du groupe de réplication.
- NumNodeGroups
Le nombre de groupes de nœuds que vous souhaitez créer avec ce groupe de réplication. Valeurs valides : de 1 à 500.
- ReplicasPerNodeGroup
Le nombre de nœuds de réplica dans chaque groupe de nœuds. Les valeurs valides sont comprises entre 1 et 5.
- NodeGroupConfiguration
La configuration pour chaque groupe de nœuds. Le paramètre
NodeGroupConfiguration
se compose des champs suivants.-
PrimaryAvailabilityZone
: la zone de disponibilité où se trouve le nœud primaire de ce groupe de nœuds. Si ce paramètre n'est pas spécifié, ElastiCache choisit la zone de disponibilité pour le nœud primaire.Par exemple : us-west-2a.
-
ReplicaAvailabilityZones
: une liste des zones de disponibilité dans lesquelles se trouvent les réplicas en lecture. Le nombre de zones de disponibilité dans cette liste doit correspondre à la valeurReplicaCount
. Si ce paramètre n'est pas spécifié, ElastiCache choisit la zone de disponibilité pour les nœuds de réplica. -
ReplicaCount
: le nombre de nœuds de réplica dans ce groupe de nœuds. -
Slots
: chaîne qui spécifie l'espace de clés pour le groupe de nœuds. La chaîne est au formatstartKey-endKey
. Si ce paramètre n'est pas spécifié, ElastiCache attribue des clés de manière équitable entre les groupes de nœuds.Exemple : "0-4999"
-
- CacheNodeType
Le type de nœud pour chaque nœud dans le groupe de réplication.
ElastiCache prend en charge les types de nœuds suivants. En général, les types de la génération actuelle offrent davantage de mémoire et de puissance de calcul pour un coût inférieur, par rapport à leurs homologues équivalents de la génération précédente.
Pour plus de détails sur les performances pour chaque type de nœud, veuillez consulter Types d'instances Amazon EC2
. - - Hiérarchisation des données-activée
Définissez ce paramètre si vous utilisez un type de nœud r6gd. Si vous ne souhaitez pas effectuer de hiérarchisation des données, définissez
--no-data-tiering-enabled
. Pour de plus amples informations, veuillez consulter Mise à niveau des données.- CacheParameterGroup
Spécifiez le groupe de paramètres
default.redis6.x.cluster.on
ou un groupe de paramètres provenant dedefault.redis6.x.cluster.on
pour créer un groupe de réplication Redis (mode cluster activé). Pour de plus amples informations, veuillez consulter Modifications des paramètres de Redis 6.x.- --network-type
ipv4
,ipv
oudual-stack
. Si vous choisissez la double pile, vous devez définir le paramètre--IpDiscovery
suripv4
ouipv6
.- Moteur
redis
- EngineVersion
6.0
Si vous souhaitez activer le chiffrement en transit ou au repos sur ce groupe de réplication, ajoutez l'un ou l'autre ou les deux paramètres TransitEncryptionEnabled=true
ou AtRestEncryptionEnabled=true
et remplissez les conditions suivantes.
-
Votre groupe de réplication doit exécuter Redis version 3.2.6 ou 4.0.10.
-
Le groupe de réplication doit être créé dans un Amazon VPC.
-
Vous devez également inclure le paramètre
CacheSubnetGroup
. -
Vous devez également inclure le paramètre
AuthToken
avec la valeur de chaîne à client spécifié pour votre jeton AUTH (mot de passe) nécessaire à la réalisation des opérations sur ce groupe de réplication.
Des sauts de ligne sont ajoutés pour faciliter la lecture.
https://elasticache.us-west-2.amazonaws.com/ ?Action=CreateReplicationGroup &CacheNodeType=cache.m4.large &CacheParemeterGroup=default.redis6.xcluster.on &Engine=redis &EngineVersion=6.0 &NumNodeGroups=3 &ReplicasPerNodeGroup=2 &ReplicationGroupDescription=test%20group &ReplicationGroupId=myReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>
Pour plus d'informations et connaître les paramètres que vous pouvez utiliser, veuillez consulter la rubrique API ElastiCache CreateReplicationGroup.