Création d'un groupe de réplication Redis (mode cluster activé) à partir de zéro - Amazon ElastiCache for Redis

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 qui s'étend entre 83 (un principal et 5 réplicas par partition) et 500 partitions (un principal et aucun réplicas). Assurez-vous qu'il y a suffisamment d'adresses IP disponibles pour répondre à 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 plus d’informations, consultez 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 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.

  • Usage général:

    • Génération actuelle :

      Types de nœuds M6g (disponible uniquement pour le moteur Redis à partir de la version 5.0.6).

      cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge

      Note

      Pour connaître la disponibilité selon les régions, veuillez consulter Types de nœuds pris en charge par région AWS.

      Types de nœuds M: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      Types de nœuds M: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      Types de nœuds T4g (disponible uniquement pour le moteur Redis à partir de la version 5.0.6).

      cache.t4g.micro, cache.t4g.small, cache.t4g.medium

      Types de nœuds T: cache.t3.micro, cache.t3.small, cache.t3.medium

      Types de nœuds T: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Génération précédente : (non recommandée)

      Types de nœuds T: cache.t1.micro

      Types de nœuds M: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      Types de nœuds M: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Calcul optimisé:

    • Génération précédente : (non recommandée)

      Types de nœuds C: cache.c1.xlarge

  • Mémoire optimisée avec la hiérarchisation des données :

    • Génération actuelle :

      Types de nœuds R6g (disponible uniquement pour le moteur Redis à partir de la version 6.2). Pour plus d’informations, consultez Mise à niveau des données.

      cache.r6gd.xlarge, cache.r6gd.2xlarge, cache.r6gd.4xlarge, cache.r6gd.8xlarge, cache.r6gd.12xlarge, cache.r6gd.16xlarge

  • Mémoire optimisée:

    • Génération actuelle :

      (Types de nœuds R6g disponible uniquement pour le moteur Redis à partir de la version 5.0.6.)

      Types de nœuds R6g: cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge

      Note

      Pour connaître la disponibilité selon les régions, veuillez consulter Types de nœuds pris en charge par région AWS.

      Types de nœuds R: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      Types de nœuds R: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Génération précédente : (non recommandée)

      Types de nœuds M: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      Types de nœuds R: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

- 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 plus d’informations, consultez Mise à niveau des données.

--cache-parameter-group

Spécifiez le groupe de paramètres default.redis3.2.cluster.on ou un groupe de paramètres provenant de default.redis3.2.cluster.on pour créer un groupe de réplication Redis (mode cluster activé). Pour plus d’informations, consultez Modifications des paramètres de Redis 3.2.4.

--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.

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-groups 3 \ --replicas-per-node-group 2 \ --cache-node-type cache.m4.large \ --cache-parameter-group default.redis3.2.cluster.on \ --engine redis \ --engine-version 3.2.4 --security-group-ids SECURITY_GROUP_ID --cache-subnet-group-name SUBNET_GROUP_NAME>

Pour Windows :

aws elasticache create-replication-group ^ --replication-group-id sample-repl-group ^ --replication-group-description "Demo cluster with replicas" ^ --num-node-groups 3 ^ --replicas-per-node-group 2 ^ --cache-node-type cache.m4.large ^ --cache-parameter-group default.redis3.2.cluster.on ^ --engine redis ^ --engine-version 3.2.4 --security-group-ids SECURITY_GROUP_ID --cache-subnet-group-name SUBNET_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 valeur ReplicaCount. 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 format startKey-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" \ --engine redis \ --engine-version 3.2.4 \ --cache-parameter-group default.redis3.2.cluster.on \ --snapshot-retention-limit 8 \ --cache-node-type cache.m4.medium \ --num-node-groups 2 \ --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" ^ --engine redis ^ --engine-version 3.2.4 ^ --cache-parameter-group default.redis3.2.cluster.on ^ --snapshot-retention-limit 8 ^ --cache-node-type cache.m4.medium ^ --num-node-groups 2 ^ --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 valeur ReplicaCount. 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 format startKey-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.

  • Usage général:

    • Génération actuelle :

      Types de nœuds M6g (disponible uniquement pour le moteur Redis à partir de la version 5.0.6).

      cache.m6g.large, cache.m6g.xlarge, cache.m6g.2xlarge, cache.m6g.4xlarge, cache.m6g.8xlarge, cache.m6g.12xlarge, cache.m6g.16xlarge

      Note

      Pour connaître la disponibilité selon les régions, veuillez consulter Types de nœuds pris en charge par région AWS.

      Types de nœuds M: cache.m5.large, cache.m5.xlarge, cache.m5.2xlarge, cache.m5.4xlarge, cache.m5.12xlarge, cache.m5.24xlarge

      Types de nœuds M: cache.m4.large, cache.m4.xlarge, cache.m4.2xlarge, cache.m4.4xlarge, cache.m4.10xlarge

      Types de nœuds T4g (disponible uniquement pour le moteur Redis à partir de la version 5.0.6).

      cache.t4g.micro, cache.t4g.small, cache.t4g.medium

      Types de nœuds T: cache.t3.micro, cache.t3.small, cache.t3.medium

      Types de nœuds T: cache.t2.micro, cache.t2.small, cache.t2.medium

    • Génération précédente : (non recommandée)

      Types de nœuds T: cache.t1.micro

      Types de nœuds M: cache.m1.small, cache.m1.medium, cache.m1.large, cache.m1.xlarge

      Types de nœuds M: cache.m3.medium, cache.m3.large, cache.m3.xlarge, cache.m3.2xlarge

  • Calcul optimisé:

    • Génération précédente : (non recommandée)

      Types de nœuds C: cache.c1.xlarge

  • Mémoire optimisée avec la hiérarchisation des données :

    • Génération actuelle :

      Types de nœuds R6g (disponible uniquement pour le moteur Redis à partir de la version 6.2). Pour plus d’informations, consultez Mise à niveau des données.

      cache.r6gd.xlarge, cache.r6gd.2xlarge, cache.r6gd.4xlarge, cache.r6gd.8xlarge, cache.r6gd.12xlarge, cache.r6gd.16xlarge

  • Mémoire optimisée:

    • Génération actuelle :

      (Types de nœuds R6g disponible uniquement pour le moteur Redis à partir de la version 5.0.6.)

      Types de nœuds R6g: cache.r6g.large, cache.r6g.xlarge, cache.r6g.2xlarge, cache.r6g.4xlarge, cache.r6g.8xlarge, cache.r6g.12xlarge, cache.r6g.16xlarge

      Note

      Pour connaître la disponibilité selon les régions, veuillez consulter Types de nœuds pris en charge par région AWS.

      Types de nœuds R: cache.r5.large, cache.r5.xlarge, cache.r5.2xlarge, cache.r5.4xlarge, cache.r5.12xlarge, cache.r5.24xlarge

      Types de nœuds R: cache.r4.large, cache.r4.xlarge, cache.r4.2xlarge, cache.r4.4xlarge, cache.r4.8xlarge, cache.r4.16xlarge

    • Génération précédente : (non recommandée)

      Types de nœuds M: cache.m2.xlarge, cache.m2.2xlarge, cache.m2.4xlarge

      Types de nœuds R: cache.r3.large, cache.r3.xlarge, cache.r3.2xlarge, cache.r3.4xlarge, cache.r3.8xlarge

- 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 plus d’informations, consultez Mise à niveau des données.

CacheParameterGroup

Spécifiez le groupe de paramètres default.redis3.2.cluster.on ou un groupe de paramètres provenant de default.redis3.2.cluster.on pour créer un groupe de réplication Redis (mode cluster activé). Pour plus d’informations, consultez Modifications des paramètres de Redis 3.2.4.

Moteur

redis

EngineVersion

3.2.4

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.redis3.2.cluster.on &Engine=redis &EngineVersion=3.2.4 &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.