ElastiCache componenti e caratteristiche - Amazon ElastiCache

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

ElastiCache componenti e caratteristiche

Di seguito, puoi trovare una panoramica dei componenti principali di una ElastiCache distribuzione Amazon.

ElastiCache nodi

Un nodo è l'elemento costitutivo più piccolo di una ElastiCache distribuzione. Un nodo può essere isolato o avere qualche tipo di rapporto con altri nodi.

Un nodo è un blocco di dimensioni fisse di RAM collegata alla rete. Ogni nodo esegue un'istanza del motore e della versione scelti al momento della creazione del cluster. Se necessario, puoi eseguire il dimensionamento verso l'alto o verso il basso dei nodi di un cluster in un tipo di istanza diverso. Per ulteriori informazioni, consulta Ridimensionamento ElastiCache.

Ogni nodo all'interno di un cluster è dello stesso tipo di istanza ed esegue lo stesso motore di cache. Ogni nodo di cache dispone del proprio Domain Name Service (DNS) e della propria porta. Sono supportati più tipi di nodi di cache, ciascuno con quantità variabili di memoria associata. Per una lista di tipi di istanze di nodo supportate, consulta Tipi di nodi supportati.

Puoi acquistare nodi su pay-as-you-go base volontaria, pagando solo per l'utilizzo di un nodo. Oppure puoi acquistare nodi riservati a una tariffa oraria significativamente ridotta. Se il tasso di utilizzo è elevato, l'acquisto di nodi riservati aiuta a risparmiare. Supponiamo che il cluster sia quasi sempre in uso e che di tanto in tanto vengano aggiunti nodi per gestire i picchi di utilizzo. In tal caso, è possibile acquistare un numero di nodi riservati che verranno eseguiti nella maggior parte del tempo. È quindi possibile acquistare pay-as-you-go nodi per le volte in cui è necessario aggiungere nodi. Per ulteriori informazioni sui nodi riservati, consulta Nodi riservati.

Per ulteriori informazioni sui nodi, consulta Gestione dei nodi in ElastiCache.

ElastiCache frammenti

Uno shard Valkey o Redis OSS (chiamato gruppo di nodi nell'API e nella CLI) è un raggruppamento da uno a sei nodi correlati. Un cluster Valkey o Redis OSS con modalità cluster abilitata ha sempre almeno uno shard.

Lo sharding è un metodo di partizionamento del database che separa i database di grandi dimensioni in parti più piccole, più veloci e più facili da gestire, chiamate frammenti di dati. Ciò può aumentare l'efficienza del database distribuendo le operazioni su più sezioni separate. L'utilizzo degli shard può offrire molti vantaggi, tra cui miglioramento delle prestazioni, della scalabilità e dell'efficienza dei costi.

I cluster Valkey e Redis OSS con modalità cluster abilitata possono avere fino a 500 shard, con i dati partizionati tra gli shard. Il limite di nodi o shard può essere aumentato fino a un massimo di 500 per cluster se la versione del motore Valkey o Redis OSS è 5.0.6 o superiore. Ad esempio, è possibile scegliere di configurare un cluster a 500 nodi che varia tra 83 partizioni (un primario e 5 repliche per partizione) e 500 partizioni (un singolo primario e nessuna replica). Assicurati che esistano abbastanza indirizzi IP disponibili per soddisfare l'aumento. Le problematiche comuni sono che le le sottoreti nel gruppo di sottoreti hanno un intervallo CIDR troppo piccolo o che le sottoreti sono condivise e utilizzate pesantemente da altri cluster. Per ulteriori informazioni, consulta Creazione di un gruppo di sottoreti. Per le versioni inferiori alla 5.0.6, il limite è 250 per cluster.

Per richiedere un aumento dei limiti, consulta Limiti dei servizi AWS e seleziona il tipo di limite Nodi per cluster per tipo di istanza.

Una partizione a nodo multiplo implementa repliche tramite un nodo primario di lettura/scrittura e 1-5 nodi di replica. Per ulteriori informazioni, consulta Alta disponibilità utilizzando gruppi di replica.

Per ulteriori informazioni sule partizioni, consulta Lavorare con i frammenti in ElastiCache.

ElastiCache cluster

Un cluster è un raggruppamento logico di uno o più nodi. I dati vengono partizionati tra i nodi di un cluster Memcached e tra gli shard di un cluster Valkey o Redis OSS con la modalità cluster abilitata.

Molte operazioni sono rivolte ai cluster: ElastiCache

  • Creazione di un cluster

  • Modifica di un cluster

  • Esecuzione di snapshot di un cluster (tutte le versioni di Redis)

  • Eliminazione di un cluster

  • Visualizzazione degli elementi in un cluster

  • Aggiunta o rimozione di tag di allocazione costi a e da un cluster

Per informazioni più dettagliate, consulta i seguenti argomenti correlati:

Configurazioni tipiche dei cluster

Di seguito sono riportate le configurazioni tipiche dei cluster.

Cluster Valkey o Redis OSS

I cluster Valkey o Redis OSS con modalità cluster disabilitata contengono sempre un solo shard (nell'API e nella CLI, un gruppo di nodi). Uno shard Valkey o Redis OSS contiene da uno a sei nodi. Se una partizione contiene più nodi, la partizione supporta la funzione di replica. In tal caso, un nodo è il nodo primario di lettura/scrittura e gli altri sono nodi di replica di sola lettura.

Per una migliore tolleranza agli errori, consigliamo di avere almeno due nodi in un cluster Valkey o Redis OSS e di abilitare Multi-AZ. Per ulteriori informazioni, consulta Limitazione dell'impatto degli errori.

Se la domanda del cluster Valkey o Redis OSS cambia, è possibile scalare verso l'alto o verso il basso. A tale scopo, sposta il cluster in un tipo di istanza di nodo diverso. Se l'applicazione richiede un uso intensivo di lettura, consigliamo di aggiungere repliche di sola lettura al cluster. In tal modo, puoi distribuire le operazioni di lettura su un numero più adatto di nodi.

Puoi anche utilizzare il tiering di dati. I dati a cui si accede con maggiore frequenza vengono archiviati su memoria e i dati a cui si accede con minore frequenza vengono archiviati su disco. L’utilizzo del tiering di dati ha il vantaggio di ridurre la memoria necessaria. Per ulteriori informazioni, consulta Suddivisione dei dati su più livelli in ElastiCache.

ElastiCache supporta la modifica dinamica del tipo di nodo di un cluster Valkey o Redis OSS con un tipo di nodo più grande. Per informazioni sul dimensionamento verso l'alto o verso il basso, consulta Scalabilità di cluster a nodo singolo per Valkey o Redis (modalità cluster disabilitata) OSS o Scalabilità dei nodi di replica per Valkey o Redis OSS (modalità cluster disabilitata).

Configurazioni di cluster tipiche per Memcached

Memcached supporta fino a 300 nodi per cliente per ogni AWS regione, con ogni cluster composto da 1 a 60 nodi. Esegui la partizione dei dati tra i nodi di un cluster Memcached.

Quando si utilizza il motore Memcached, i cluster possono essere composti da 1—60 nodi. Esegui la partizione del database tra i nodi. L'applicazione esegue operazioni di lettura e di scrittura sull'endpoint di ciascun nodo. Per ulteriori informazioni, consulta Individuazione automatica.

Per una migliore tolleranza agli errori, posiziona i nodi Memcached in varie zone di disponibilità () AZs all'interno della regione del cluster. AWS In questo modo, un guasto in una zona di disponibilità ha un impatto minimo sul cluster e sull'applicazione. Per ulteriori informazioni, consulta Limitazione dell'impatto degli errori.

Quando cambia la domanda per il cluster Memcached, puoi aumentare o diminuire le dimensioni del cluster aggiungendo o rimuovendo nodi che partizionano nuovamente i dati nella nuova quantità di nodi. Ti consigliamo di utilizzare un hashing coerente quando partizioni i dati. Per ulteriori informazioni sull'hashing coerente, consulta Configurazione ElastiCache del client per un bilanciamento efficiente del carico (Memcached).

ElastiCache replica

Per Valkey e Redis OSS, la replica viene implementata raggruppando da due a sei nodi in uno shard (nell'API e nella CLI, chiamato gruppo di nodi). Ono di questi nodi è quello di primario di lettura/scrittura. Tutti gli altri sono nodi di replica di sola lettura. Le repliche sono disponibili solo per Valkey e Redis OSS e non ElastiCache per Memcached. ElastiCache

Ogni nodo di replica conserva una copia dei dati del nodo primario. I nodi di replica utilizzano meccanismi di replica asincrona per mantenere la sincronizzazione con il nodo primario. Le applicazioni possono eseguire la lettura da ogni nodo del cluster, ma possono scrivere solo sui nodi primari. Le repliche di lettura migliorano la scalabilità distribuendo le operazioni di lettura in più endpoint. Le repliche di lettura migliorano anche la tolleranza ai guasti conservando più copie dei dati. La tolleranza ai guasti migliora ulteriormente se si posizionano le repliche di lettura in più zone di disponibilità. Per ulteriori informazioni sulla tolleranza ai guasti, consulta Limitazione dell'impatto degli errori.

I cluster Valkey o Redis OSS supportano uno shard (nell'API e nella CLI, chiamato gruppo di nodi).

La funzione di replica nell'API e nell'CLI utilizza una terminologia diversa per mantenere la compatibilità con le versioni precedenti, ma i risultati sono gli stessi. La seguente tabella mostra i termini dell'API e dell'CLI per l'implementazione della funzione di replica.

Confronto tra la replica: Valkey o Redis OSS (modalità cluster disabilitata) e Valkey o Redis OSS (modalità cluster abilitata) --> Cluster Valkey o Redis OSS con modalità cluster abilitata rispetto al cluster Valkey o Redis OSS con modalità cluster disabilitata

Nella tabella seguente, è possibile trovare un confronto tra le funzionalità dei gruppi di replica Valkey o Redis OSS (modalità cluster disabilitata) e dei gruppi di replica Valkey o Redis OSS (modalità cluster abilitata).

Cluster Valkey o Redis OSS con modalità cluster disabilitata Cluster Valkey o Redis OSS con modalità cluster abilitata
Partizioni (gruppi di nodi) 1 1–500  
Repliche per ogni partizione (gruppo di nodi) 0–5 0–5
Partizionamento dei dati No
Aggiungere/eliminare repliche
Aggiungere/eliminare gruppi di nodi No
Supporta il dimensionamento
Supporta gli aggiornamenti del motore
Promuovere la replica al primario Automatica
Multi-AZ Facoltativo Richiesto
Ripristino backup
Note:
Se un primario non dispone di repliche e il primario ha esito negativo, si perdono tutti i dati di tale primario.
È possibile utilizzare il backup e il ripristino per migrare a Valkey o Redis OSS (modalità cluster abilitata).
È possibile utilizzare il backup e il ripristino per ridimensionare il cluster Valkey o Redis OSS (modalità cluster abilitata).

Tutti le partizioni (nell'API e nella CLI, gruppi di nodi) e i nodi devono risiedere nella stessa regione AWS . Tuttavia, è possibile effettuare il provisioning dei singoli nodi in più zone di disponibilità all'interno di quella regione. AWS

Le repliche di lettura proteggono da potenziali perdite di dati perché i dati vengono replicati su due o più nodi, ovvero la primaria e una o più repliche di lettura. Per ottenere una maggiore affidabilità e un recupero più rapido, consigliamo di creare una o più repliche di lettura in differenti zone di disponibilità.

È inoltre possibile utilizzare Global datastore. Utilizzando la funzionalità Global Datastore for Redis OSS, puoi lavorare con una replica completamente gestita, veloce, affidabile e sicura in tutte le regioni. AWS Utilizzando questa funzionalità, è possibile creare cluster di replica di lettura interregionali per consentire letture ElastiCache a bassa latenza e disaster recovery tra le regioni. AWS Per ulteriori informazioni, consulta Replica tra regioni utilizzando datastore globali. AWS

Funzione di replica: limiti ed esclusioni
  • La funzione Multi-AZ non è supportata sui tipi di nodo T1.

ElastiCache endpoint

Un endpoint è l'indirizzo univoco utilizzato dall'applicazione per connettersi a un ElastiCache nodo o cluster.

Endpoint a nodo singolo per Valkey o Redis OSS con modalità cluster disabilitata

L'endpoint per un cluster Valkey o Redis OSS a nodo singolo viene utilizzato per connettersi al cluster sia in lettura che in scrittura.

Endpoint multinodo per Valkey o Redis OSS con modalità cluster disabilitata

Un cluster Valkey o Redis OSS a più nodi con modalità cluster disabilitata ha due tipi di endpoint. L'endpoint primario si connette sempre al nodo primario del cluster, anche se cambia il nodo specifico nel ruolo primario. Utilizza l'endpoint primario per tutte le operazioni di scrittura sul cluster.

Usa l'endpoint di lettura per dividere equamente le connessioni in arrivo verso l'endpoint tra tutte le repliche di lettura. I vari endpoint di nodo (definiti in ambiente API/CLI endpoint di lettura) vengono invece impiegati per le operazioni di lettura.

Endpoint Valkey o Redis OSS (modalità cluster abilitata)

Un cluster Valkey o Redis OSS con modalità cluster abilitata ha un unico endpoint di configurazione. Connettendosi all'endpoint di configurazione, la tua applicazione è in grado di scoprire gli endpoint primari e di lettura per ognle partizioni del cluster.

Per ulteriori informazioni, consulta Individuazione degli endpoint di connessione in ElastiCache.

ElastiCache per endpoint Memcached

Ciascun nodo di un cluster Memcached ha il proprio endpoint. Anche il cluster ha un proprio endpoint, chiamato endpoint di configurazione. Se abiliti la funzione Individuazione automatica e ti connetti all'endpoint di configurazione, la tua applicazione conosce automaticamente l'endpoint di ciascun nodo, anche dopo l'aggiunta o la rimozione di nodi dal cluster. Per ulteriori informazioni, consulta Individuazione automatica.

Per ulteriori informazioni, consulta Individuazione degli endpoint di connessione in ElastiCache.

ElastiCache gruppi di parametri

I gruppi di parametri cache sono un modo facile per gestire le impostazioni di runtime per il software di motore supportato. I parametri vengono utilizzati per controllare l'utilizzo della memoria, le policy di espulsione, le dimensioni degli elementi e altro ancora. Un gruppo di ElastiCache parametri è una raccolta denominata di parametri specifici del motore che è possibile applicare a un cluster. In questo modo, sei certo che tutti i nodi di quel cluster siano configurati esattamente nello stesso modo.

Per un elenco dei parametri supportati, dei relativi valori predefiniti e di quali possono essere modificati, vedere DescribeEngineDefaultParameters (CLI: describe-engine-default-parameters).

Per informazioni più dettagliate sui gruppi di ElastiCache parametri, vedereConfigurazione dei parametri del motore utilizzando gruppi di ElastiCache parametri.

ElastiCache sicurezza

Per una maggiore sicurezza, l'accesso ai ElastiCache nodi è limitato alle applicazioni in esecuzione sulle EC2 istanze Amazon consentite. Puoi controllare le EC2 istanze Amazon che possono accedere al tuo cluster utilizzando i gruppi di sicurezza.

Per impostazione predefinita, tutti i nuovi ElastiCache cluster vengono lanciati in un ambiente Amazon Virtual Private Cloud (Amazon VPC). Puoi utilizzare i gruppi di sottoreti per concedere l'accesso ai cluster da EC2 istanze Amazon in esecuzione su sottoreti specifiche.

Oltre a limitare l'accesso ai nodi, ElastiCache supporta TLS e la crittografia sul posto per i nodi che eseguono versioni specifiche di. ElastiCache Per ulteriori informazioni, consulta gli argomenti seguenti:

ElastiCache gruppi di sottoreti

Un gruppo di sottoreti è una raccolta di sottoreti (generalmente private) che è possibile designare per i cluster in esecuzione in un ambiente Amazon VPC.

Se crei un cluster in un Amazon VPC, devi specificare un gruppo di sottoreti della cache. ElastiCache lo utilizza per scegliere una sottorete e gli indirizzi IP al suo interno da associare ai nodi di cache.

Per ulteriori informazioni sull'utilizzo dei gruppi di sottoreti della cache in un ambiente Amazon VPC, consulta quanto segue:

ElastiCache backup

Un backup è una point-in-time copia di un cluster o di una cache serverless Valkey o Redis OSS o di una cache serverless Memcached. I backup possono essere utilizzati per ripristinare un cluster esistente o per inizializzarne uno nuovo. I backup sono costituiti da tutti i dati di un cluster e da alcuni metadati.

A seconda della versione di Valkey o Redis OSS in esecuzione sul cluster, il processo di backup richiede diverse quantità di memoria riservata per avere successo. Per ulteriori informazioni, consulta gli argomenti seguenti:

ElastiCache eventi

Quando si verificano eventi importanti in un cluster di cache, ElastiCache invia una notifica a un argomento specifico di Amazon SNS. Questi eventi possono includere, ad esempio, l'impossibilità o la possibilità di aggiungere un nodo,, la modifica di un gruppo di sicurezza e altro ancora. Monitorando gli eventi chiave, puoi conoscere lo stato corrente dei cluster e in molti casi intraprendere operazioni correttive.

Per ulteriori informazioni sugli ElastiCache eventi, consultaSNSMonitoraggio degli ElastiCache eventi da Amazon.