Ridimensionamento dei cluster Redis OSS con repliche - Amazon ElastiCache (sistema operativo Redis)

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ridimensionamento dei cluster Redis OSS con repliche

Le sezioni seguenti illustrano come ridimensionare un cluster di cache Redis OSS (modalità cluster disabilitata) con nodi di replica fino a un tipo di nodo più piccolo. La garanzia che il nuovo tipo di nodo più piccolo sia abbastanza grande da accogliere tutti i dati e la gestione associata è molto importante per il successo. Per ulteriori informazioni, consulta Assicurarsi di disporre di memoria sufficiente per creare un'istantanea Redis OSS.

Nota

Per i cluster che eseguono il tipo di nodo r6gd, è possibile dimensionare solo le dimensioni dei nodi all'interno della famiglia di nodi r6gd.

Importante

Se il gruppo di parametri utilizza reserved-memory la memoria per il sovraccarico di Redis OSS, prima di iniziare il ridimensionamento assicuratevi di disporre di un gruppo di parametri personalizzato che riservi la quantità di memoria corretta per il nuovo tipo di nodo. In alternativa, è possibile modificare un gruppo di parametri personalizzato in modo che utilizzi reserved-memory-percent e il gruppo di parametri per il nuovo cluster.

Se stai utilizzando reserved-memory-percent, questa operazione non è necessaria.

Per ulteriori informazioni, consulta Gestione della memoria prenotata.

Argomenti

    Il seguente processo ridimensiona il cluster Redis OSS con nodi di replica su un tipo di nodo più piccolo utilizzando la console. ElastiCache

    Per ridimensionare un cluster Redis OSS con nodi di replica (console)
    1. Verificare che il dimensionamento a un tipo di nodo più piccolo sia adeguato ai dati e all'overhead.

    2. Se il tuo gruppo di parametri utilizza reserved-memory la memoria per il sovraccarico di Redis OSS, assicurati di disporre di un gruppo di parametri personalizzato per mettere da parte la quantità corretta di memoria per il nuovo tipo di nodo.

      In alternativa, puoi modificare un gruppo di parametri personalizzato per utilizzare reserved-memory-percent. Per ulteriori informazioni, consulta Gestione della memoria prenotata.

    3. Accedi AWS Management Console e apri la ElastiCache console all'indirizzo https://console.aws.amazon.com/elasticache/.

    4. Nell'elenco dei cluster, scegliere quello da diminuire. Questo cluster deve utilizzare il motore Redis OSS e non il motore Clustered Redis OSS.

    5. Scegli Modifica.

    6. Nella procedura guidata Modify Cluster (Modifica cluster):

      1. Scegliere il tipo di nodo che si desidera diminuire dall'elenco Node type (Tipo di nodo).

      2. Se stai utilizzando reserved-memory per gestire la tua memoria, dall'elenco Parameter Group (Gruppo di parametri), seleziona il gruppo di parametri personalizzati che riserva la quantità corretta di memoria per il nuovo tipo di nodo.

    7. Per eseguire subito il processo di dimensionamento, scegliere la casella Apply immediately (Applica immediatamente). Se non viene selezionata la casella Apply immediately (Applica immediatamente), il processo di dimensionamento viene eseguito nel corso della successiva finestra di manutenzione del cluster.

    8. Scegli Modifica.

    9. Quando lo stato del cluster cambia da modifica in corso a disponibile, il cluster è stato dimensionato a un nuovo tipo di nodo. Non è necessario aggiornare gli endpoint nell'applicazione.

    La procedura seguente ridimensiona il gruppo di replica dal tipo di nodo corrente a un nuovo tipo di nodo di minori dimensioni utilizzando l' AWS CLI. Durante questo processo, ElastiCache (Redis OSS) aggiorna le voci DNS in modo che puntino ai nuovi nodi. Per questo motivo non è necessario aggiornare gli endpoint nell'applicazione. Per Redis OSS 5.0.5 e versioni successive, puoi scalare i cluster abilitati al failover automatico mentre il cluster continua a rimanere online e a soddisfare le richieste in arrivo. Sulla versione 4.0.10 e precedenti, si potrebbe verificare una breve interruzione di letture e scritture su versioni precedenti dal nodo primario mentre la voce DNS viene aggiornata.

    Tuttavia, le letture dai cluster di cache della replica di lettura continuano ininterrotte.

    Il tempo necessario per diminuire utilizzando un tipo di nodo di minori dimensioni varia a seconda del tipo di nodo e della quantità di dati nel cluster di cache attuale.

    Per ridimensionare un Redis OSS Replication Group ()AWS CLI
    1. Determina a quali tipi di nodi puoi ridimensionare eseguendo il AWS CLI list-allowed-node-type-modifications comando con il seguente parametro.

      • --replication-group-id : il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica particolare piuttosto che tutti i gruppi di replica.

      Per Linux, macOS o Unix:

      aws elasticache list-allowed-node-type-modifications \ --replication-group-id my-repl-group

      Per Windows:

      aws elasticache list-allowed-node-type-modifications ^ --replication-group-id my-repl-group

      L'output di questa operazione è simile al seguente (in formato JSON).

      { "ScaleDownModifications": [ "cache.m3.2xlarge", "cache.m3.large", "cache.m3.xlarge", "cache.m4.10xlarge", "cache.m4.2xlarge", "cache.m4.4xlarge", "cache.m4.large", "cache.m4.xlarge", "cache.r3.2xlarge", "cache.r3.4xlarge", "cache.r3.8xlarge", "cache.r3.large", "cache.r3.xlarge" ] }

      Per ulteriori informazioni, consulta list-allowed-node-type-modifications nella documentazione di riferimento AWS CLI .

    2. Ridimensiona il gruppo di replica corrente fino al nuovo tipo di nodo utilizzando il AWS CLI modify-replication-group comando con i seguenti parametri.

      • --replication-group-id : il nome del gruppo di replica.

      • --cache-node-type : Il nuovo tipo di nodo più piccolo da usare nei cluster di cache in questo gruppo di replica. Questo valore deve essere uno dei tipi di istanza restituiti dal comando list-allowed-node-type-modifications nella fase 1.

      • --cache-parameter-group-name – [Facoltativo] Utilizzare questo parametro se si usa reserved-memory per gestire la memoria prenotata del cluster. Specificare un gruppo di parametri di cache personalizzato che riserva la quantità di memoria corretta per il nuovo tipo di nodo. Se si sta utilizzando reserved-memory-percent è possibile omettere questo parametro.

      • --apply-immediately : Consente di applicare immediatamente il dimensionamento verso l'alto. Per posporre l'operazione di dimensionamento verso l'alto alla finestra di manutenzione successiva, utilizzare --no-apply-immediately.

      Per Linux, macOS o Unix:

      aws elasticache modify-replication-group \ --replication-group-id my-repl-group \ --cache-node-type cache.t2.small \ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

      Per Windows:

      aws elasticache modify-replication-group ^ --replication-group-id my-repl-group ^ --cache-node-type cache.t2.small ^ --cache-parameter-group-name redis32-m3-2xl \ --apply-immediately

      L'output di questo comando è simile al seguente (in formato JSON).

      {"ReplicationGroup": { "Status": "available", "Description": "Some description", "NodeGroups": [ { "Status": "available", "NodeGroupMembers": [ { "CurrentRole": "primary", "PreferredAvailabilityZone": "us-west-2b", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-001.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-001" }, { "CurrentRole": "replica", "PreferredAvailabilityZone": "us-west-2c", "CacheNodeId": "0001", "ReadEndpoint": { "Port": 6379, "Address": "my-repl-group-002.8fdx4s.0001.usw2.cache.amazonaws.com" }, "CacheClusterId": "my-repl-group-002" } ], "NodeGroupId": "0001", "PrimaryEndpoint": { "Port": 6379, "Address": "my-repl-group.8fdx4s.ng.0001.usw2.cache.amazonaws.com" } } ], "ReplicationGroupId": "my-repl-group", "SnapshotRetentionLimit": 1, "AutomaticFailover": "disabled", "SnapshotWindow": "12:00-13:00", "SnapshottingClusterId": "my-repl-group-002", "MemberClusters": [ "my-repl-group-001", "my-repl-group-002", ], "PendingModifiedValues": {} } }

      Per ulteriori informazioni, consulta modify-replication-group nella documentazione di riferimento AWS CLI .

    3. Se avete utilizzato il --apply-immediately parametro, monitorate lo stato del gruppo di replica utilizzando il AWS CLI describe-replication-group comando con il seguente parametro. Quando lo stato cambia da modifica in corso a disponibile, puoi iniziare a scrivere sul nuovo gruppo di replica ridotto.

      • --replication-group-id : il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica particolare piuttosto che tutti i gruppi di replica.

      Per Linux, macOS o Unix:

      aws elasticache describe-replication-group \ --replication-group-id my-replication-group

      Per Windows:

      aws elasticache describe-replication-groups ^ --replication-group-id my-replication-group

      Per ulteriori informazioni, vedere describe-replication-groupsnel AWS CLI Reference.

    Il seguente processo ridimensiona il gruppo di replica dal tipo di nodo corrente a un nuovo tipo di nodo più piccolo utilizzando l'API. ElastiCache Durante questo processo, ElastiCache (Redis OSS) aggiorna le voci DNS in modo che puntino ai nuovi nodi. Per questo motivo non è necessario aggiornare gli endpoint nell'applicazione. Per Redis OSS 5.0.5 e versioni successive, puoi scalare i cluster abilitati al failover automatico mentre il cluster continua a rimanere online e a soddisfare le richieste in arrivo. Sulla versione 4.0.10 e precedenti, si potrebbe verificare una breve interruzione di letture e scritture su versioni precedenti dal nodo primario mentre la voce DNS viene aggiornata. Tuttavia, le letture dai cluster di cache della replica di lettura continuano ininterrotte.

    Il tempo necessario per diminuire utilizzando un tipo di nodo di minori dimensioni varia a seconda del tipo di nodo e della quantità di dati nel cluster di cache attuale.

    Per ridimensionare un Redis OSS Replication Group (API) ElastiCache
    1. Determina a quali tipi di nodi puoi ridimensionare utilizzando l'ListAllowedNodeTypeModificationsazione ElastiCache API con il seguente parametro.

      • ReplicationGroupId : il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica specifico piuttosto che tutti i gruppi di replica.

      https://elasticache.us-west-2.amazonaws.com/ ?Action=ListAllowedNodeTypeModifications &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

      Per ulteriori informazioni, ListAllowedNodeTypeModifications consulta Amazon ElastiCache API Reference.

    2. Scala il tuo attuale gruppo di replica fino al nuovo tipo di nodo utilizzando l'azione ModifyRedplicationGroup ElastiCache API e con i seguenti parametri.

      • ReplicationGroupId : il nome del gruppo di replica.

      • CacheNodeType Il nuovo tipo di nodo più piccolo da usare nei cluster di cache in questo gruppo di replica. Questo valore deve essere uno dei tipi di istanza restituiti dall'operazione ListAllowedNodeTypeModifications nella fase 1.

      • CacheParameterGroupName – [Facoltativo] Utilizzare questo parametro se si usa reserved-memory per gestire la memoria prenotata del cluster. Specificare un gruppo di parametri di cache personalizzato che riserva la quantità di memoria corretta per il nuovo tipo di nodo. Se si sta utilizzando reserved-memory-percent è possibile omettere questo parametro.

      • ApplyImmediately - Impostato su true permette di applicare immediatamente il processo di dimensionamento verso il basso. Per posporre il processo di dimensionamento verso il basso alla successiva finestra di manutenzione, utilizzare ApplyImmediately=false.

      https://elasticache.us-west-2.amazonaws.com/ ?Action=ModifyReplicationGroup &ApplyImmediately=true &CacheNodeType=cache.m3.2xlarge &CacheParameterGroupName=redis32-m3-2xl &ReplicationGroupId=myReplGroup &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20141201T220302Z &Version=2014-12-01 &X-Amz-Algorithm=&AWS;4-HMAC-SHA256 &X-Amz-Date=20141201T220302Z &X-Amz-SignedHeaders=Host &X-Amz-Expires=20141201T220302Z &X-Amz-Credential=<credential> &X-Amz-Signature=<signature>

      Per ulteriori informazioni, ModifyReplicationGroup consulta Amazon ElastiCache API Reference.

    3. Se lo hai utilizzato ApplyImmediately=true, monitora lo stato del gruppo di replica utilizzando l'DescribeReplicationGroupsazione ElastiCache API con i seguenti parametri. Quando lo stato cambia da modifica in corso a disponibile, puoi iniziare a scrivere sul nuovo gruppo di replica ridotto.

      • ReplicationGroupId : il nome del gruppo di replica. Utilizzare questo parametro per descrivere un gruppo di replica particolare piuttosto che tutti i gruppi di replica.

      https://elasticache.us-west-2.amazonaws.com/ ?Action=DescribeReplicationGroups &ReplicationGroupId=MyReplGroup &Version=2015-02-02 &SignatureVersion=4 &SignatureMethod=HmacSHA256 &Timestamp=20150202T192317Z &X-Amz-Credential=<credential>

      Per ulteriori informazioni, DescribeReplicationGroups consulta Amazon ElastiCache API Reference.