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à.
Scalabilità dei cluster Redis OSS con repliche
Amazon ElastiCache fornisce supporto per console, CLI e API per scalare il gruppo di replica Redis OSS (modalità cluster disabilitata).
Quando viene avviato il processo di scalabilità verticale, effettua le seguenti operazioni: ElastiCache
Avvia un nuovo gruppo di replica utilizzando il nuovo tipo di nodo.
Copia tutti i dati da un nodo primario corrente al nuovo nodo primario.
Sincronizza le nuove repliche di lettura con il nuovo nodo primario.
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.
Elimina i nodi precedenti (CLI/API: gruppo di replica). Noterai una breve interruzione (pochi secondi) di letture e scritture dai vecchi nodi perché le connessioni ai vecchi nodi verranno disconnesse.
La durata di questo processo dipende dal tipo di nodo e dalla quantità di dati presenti nel cluster.
Come illustrato nella tabella seguente, l'operazione di scalabilità verticale di Redis OSS è bloccata se è pianificato un aggiornamento del motore per la prossima finestra di manutenzione del cluster.
Operazioni Redis OSS bloccate | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Operazioni in sospeso | Operazioni bloccate | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dimensionamento | Aggiornamento immediato del motore | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Aggiornamento del motore | Dimensionamento immediato | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Dimensionamento e aggiornamento del motore | Dimensionamento immediato | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Aggiornamento immediato del motore |
Se hai un'operazione in sospeso che ti blocca, puoi svolgere una delle seguenti operazioni.
-
Pianifica l'operazione di scale-up di Redis OSS per la prossima finestra di manutenzione deselezionando la casella di controllo Applica immediatamente (uso CLI:, uso API:
--no-apply-immediately
).ApplyImmediately=false
-
Attendi la finestra di manutenzione successiva (o successiva) per eseguire l'operazione di scalabilità di Redis OSS.
-
Aggiungi l'aggiornamento del motore Redis OSS a questa modifica del cluster di cache selezionando la casella di controllo Applica immediatamente (uso CLI
--apply-immediately
:, usoApplyImmediately=true
API:). In questo modo si sblocca l'operazione di dimensionamento verso l'alto per eseguire immediatamente l'aggiornamento automatico del motore.
Le sezioni seguenti descrivono come scalare il cluster Redis OSS con repliche attive utilizzando la ElastiCache console, l'e l'API AWS CLI. ElastiCache
Importante
Se il tuo gruppo di parametri utilizza reserved-memory
la memoria per il sovraccarico di Redis OSS, prima di iniziare la scalabilità assicurati 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.
Il tempo necessario per dimensionare l'alto a un tipo di nodo più grande varia a seconda del tipo di nodo e della quantità di dati nel cluster corrente.
Il seguente processo ridimensiona il cluster con repliche dal tipo di nodo corrente a un nuovo tipo di nodo più grande utilizzando la console. ElastiCache Durante questo processo, si potrebbe verificare una breve interruzione di letture e scritture per altre versioni del nodo primario mentre la voce DNS viene aggiornata. Si potrebbe verificare un tempo di inattività inferiore al secondo per nodi in esecuzione su versioni 5.0.6 e superiore a qualche secondo per versioni precedenti.
Per scalare il cluster Redis OSS con repliche (console)
-
Dal pannello di navigazione, scegli i cluster Redis OSS
-
Nell'elenco di cluster, scegliere quello da dimensionare. Questo cluster deve utilizzare il motore Redis OSS e non il motore Redis OSS Clustered.
-
Scegli Modifica.
-
Nella procedura guidata Modify Cluster (Modifica cluster):
-
Scegliere il tipo di nodo a cui dimensionare dall'elenco Node type (Tipo di nodo). Si noti che non tutti i tipi di nodo sono disponibili per il dimensionamento.
-
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.
-
-
Per eseguire subito il processo di dimensionamento verso l'alto, scegliere la casella Apply immediately (Applica immediatamente). Se non viene selezionata la casella Apply immediately (Applica immediatamente), il processo di dimensionamento verso l'alto viene eseguito nel corso della successiva finestra di manutenzione del cluster.
-
Scegli Modifica.
-
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 più grande di nodo 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.
Il tempo necessario per aumentare a un tipo di nodo più grande varia a seconda del tipo di nodo e della quantità di dati nel cluster di cache corrente.
Per scalare un Redis OSS Replication Group ()AWS CLI
-
Determina a quali tipi di nodi puoi scalare 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).
{ "ScaleUpModifications": [ "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 .
-
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ù grande di cluster di cache nel gruppo di replica. Questo valore deve essere uno dei tipi di istanza restituiti dal comandolist-allowed-node-type-modifications
nella fase 1.--cache-parameter-group-name
– [Facoltativo] Utilizzare questo parametro se si usareserved-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 utilizzandoreserved-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-typecache.m3.xlarge
\ --cache-parameter-group-nameredis32-m3-2xl
\ --apply-immediatelyPer Windows:
aws elasticache modify-replication-group ^ --replication-group-id
my-repl-group
^ --cache-node-typecache.m3.xlarge
^ --cache-parameter-group-nameredis32-m3-2xl
\ --apply-immediatelyL'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 .
-
Se avete utilizzato il
--apply-immediately
parametro, monitorate lo stato del gruppo di replica utilizzando il AWS CLIdescribe-replication-group
comando con il seguente parametro. Mentre lo stato è ancora impostato su modifica in corso, si potrebbe verificare un tempo di inattività inferiore al secondo per nodi in esecuzione su versioni 5.0.6 e successive e una breve interruzione di letture e scritture per versioni precedenti dal nodo primario mentre la voce DNS viene aggiornata.--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-groups \ --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ù grande utilizzando l'API. ElastiCache 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.
Il tempo necessario per aumentare a un tipo di nodo più grande varia a seconda del tipo di nodo e della quantità di dati nel cluster di cache corrente.
Per scalare un Redis OSS Replication Group (API) ElastiCache
-
Determina a quali tipi di nodi puoi scalare utilizzando l'
ListAllowedNodeTypeModifications
azione 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.
-
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ù grande di cluster di cache nel gruppo di replica. Questo valore deve essere uno dei tipi di istanza restituiti dall'operazioneListAllowedNodeTypeModifications
nella fase 1.CacheParameterGroupName
– [Facoltativo] Utilizzare questo parametro se si usareserved-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 utilizzandoreserved-memory-percent
è possibile omettere questo parametro.ApplyImmediately
: Impostato sutrue
permette di applicare immediatamente il processo di dimensionamento verso il basso. Per posporre il processo di dimensionamento verticale alla successiva finestra di manutenzione, utilizzareApplyImmediately
=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.
-
Se lo hai utilizzato
ApplyImmediately
=true
, monitora lo stato del gruppo di replica utilizzando l'DescribeReplicationGroups
azione 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 ingrandito.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.