Come funziona - Amazon ElastiCache (RedisOSS)

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

Come funziona

Qui puoi trovare una panoramica dei componenti principali di un'implementazione ElastiCache (Redis OSS).

Motori di cache e caching

Una cache è un archivio dati in memoria che è possibile utilizzare per archiviare i dati memorizzati nella cache. In genere, l'applicazione memorizza nella cache i dati a cui si accede di frequente per ottimizzare i tempi di risposta. ElastiCache (Redis OSS) offre due opzioni di implementazione: cluster serverless e cluster progettati autonomamente. Per informazioni, consultare Scelta tra le opzioni di implementazione.

Nota

Amazon ElastiCache funziona con entrambi i motori Redis OSS e Memcached. Utilizza la guida relativa al motore che ti interessa. Se non sei certo di quale motore utilizzare, consulta Confronto tra le cache progettate internamente da Memcached e Redis OSS in questa guida.

Come funziona ElastiCache (Redis OSS)

ElastiCache (Redis OSS) Senza server

ElastiCache (Redis OSS) Serverless consente di creare una cache senza preoccuparsi della pianificazione della capacità, della gestione dell'hardware o della progettazione del cluster. È sufficiente fornire un nome per la cache e ricevere un singolo endpoint che è possibile configurare nel client Redis OSS per iniziare ad accedere alla cache.

Nota

ElastiCache (Redis OSS) Serverless esegue Redis OSS in modalità cluster ed è compatibile solo con i client Redis OSS che supportano sia TLS che il protocollo cluster Redis OSS.

Vantaggi principali

  • Nessuna pianificazione della capacità: ElastiCache Serverless elimina la necessità di pianificare la capacità. ElastiCache Serverless monitora continuamente la memoria, l'elaborazione e l'utilizzo della larghezza di banda di rete della cache e scala sia verticalmente che orizzontalmente. Consente di aumentare le dimensioni di un nodo di cache, avviando parallelamente un'operazione di scalabilità orizzontale per garantire che la cache possa dimensionarsi per soddisfare i requisiti dell'applicazione in ogni momento.

  • Ray-per-use: Con ElastiCache Serverless, paghi per i dati archiviati e di calcolo utilizzati dal carico di lavoro sulla cache. Per informazioni, consulta Prezzi delle dimensioni.

  • Alta disponibilità: ElastiCache Serverless replica automaticamente i dati su più zone di disponibilità (AZ) per un'elevata disponibilità. Monitora automaticamente i nodi di cache sottostanti e li sostituisce in caso di errore. Offre uno SLA con disponibilità del 99,99% per ogni cache.

  • Aggiornamenti automatici del software: ElastiCache Serverless aggiorna automaticamente la cache all'ultima versione del software secondario e all'ultima versione del software con patch senza alcun impatto sulla disponibilità dell'applicazione. Quando sarà disponibile una nuova versione principale di Redis OSS, ElastiCache ti invierà una notifica.

  • Sicurezza: serverless esegue sempre la crittografia dei dati in transito e a riposo. È possibile utilizzare una chiave gestita dal servizio o la chiave gestita dal cliente per crittografare i dati a riposo.

Il diagramma seguente illustra come funziona ElastiCache Serverless.

Un diagramma del funzionamento della cache ElastiCache Serverless, dalle zone di disponibilità al VPC del cliente e quindi al VPC del servizio.

Quando crei una nuova cache serverless, ElastiCache crea un endpoint Virtual Private Cloud (VPC) nelle sottoreti di tua scelta nel tuo VPC. L'applicazione può connettersi alla cache tramite questi endpoint VPC.

Con ElastiCache Serverless ricevi un singolo endpoint DNS a cui si connette l'applicazione. Quando richiedi una nuova connessione all'endpoint, ElastiCache Serverless gestisce tutte le connessioni alla cache tramite un livello proxy. Il livello del proxy aiuta a ridurre la complessità della configurazione del client perché il client non ha bisogno di individuare nuovamente la topologia del cluster in caso di modifiche al cluster sottostante. Il livello del proxy è un set di nodi proxy che gestiscono le connessioni utilizzando un Network Load Balancer. Quando l'applicazione crea una nuova connessione alla cache, la richiesta viene inviata a un nodo proxy dal Network Load Balancer. Quando l'applicazione esegue i comandi della cache, il nodo proxy connesso all'applicazione elabora le richieste su un nodo di cache. Il livello del proxy estrae la topologia e i nodi del cluster di cache dal client. Ciò consente di ElastiCache bilanciare in modo intelligente il carico, scalare e aggiungere nuovi nodi di cache, sostituire i nodi di cache in caso di guasto e aggiornare il software sui nodi di cache, il tutto senza influire sulla disponibilità sull'applicazione o dover reimpostare le connessioni.

Cluster progettati autonomamente ElastiCache

Puoi scegliere di progettare i tuoi ElastiCache cluster scegliendo una famiglia di nodi di cache, le dimensioni e il numero di nodi per il cluster. La progettazione del proprio cluster offre un controllo più granulare e consente di scegliere il numero di partizioni nella cache e il numero di nodi (primari e di replica) in ogni partizione. Puoi scegliere di utilizzare Redis OSS in modalità cluster creando un cluster con più shard o in modalità non cluster con un singolo shard.

Vantaggi principali

  • Progetta il tuo cluster: con ElastiCache, puoi progettare il tuo cluster e scegliere dove posizionare i nodi di cache. Ad esempio, se un'applicazione compromette l'alta disponibilità con una bassa latenza, puoi scegliere di implementare i nodi di cache in un'unica zona di disponibilità. In alternativa, puoi progettare il tuo cluster con nodi su più zone di disponibilità per ottenere l'alta disponibilità.

  • Controllo granulare: quando progetti il tuo cluster, hai un maggiore controllo sull'ottimizzazione delle impostazioni della cache. Ad esempio, puoi utilizzare Parametri specifici del sistema operativo Redis per configurare il motore di cache.

  • Dimensionamento verticale e orizzontale: puoi scegliere di dimensionare manualmente il cluster aumentando o diminuendo la dimensione del nodo di cache quando necessario. Puoi anche dimensionare orizzontalmente aggiungendo nuove partizioni o altre repliche alle partizioni. Puoi anche utilizzare la funzionalità Auto-Scaling per configurare il ridimensionamento in base a una pianificazione o il ridimensionamento in base a metriche come l'utilizzo della CPU e della memoria nella cache.

Il diagramma seguente illustra come funzionano i cluster progettati autonomamente. ElastiCache

Un diagramma del funzionamento dei cluster ElastiCache progettati autonomamente, dalle zone di disponibilità al VPC del cliente e quindi ai nodi di cache gestiti. ElastiCache

Prezzi delle dimensioni

È possibile eseguire la distribuzione in due opzioni. ElastiCache Quando si implementa ElastiCache Serverless, si paga in base all'utilizzo dei dati archiviati in GB all'ora e per l'elaborazione in unità di elaborazione (ECPU). ElastiCache Quando scegli di progettare i tuoi cluster ElastiCache (Redis OSS), paghi in base all'ora di utilizzo del nodo di cache. Per i dettagli dei prezzi, consulta questa pagina.

Archiviazione di dati

Paghi per i dati archiviati in ElastiCache Serverless e fatturati in gigabyte/ora (GB-h). ElastiCache Serverless monitora continuamente i dati archiviati nella cache, campionandoli più volte al minuto, e calcola una media oraria per determinare l'utilizzo dell'archiviazione dei dati della cache in GB-h. Ogni cache ElastiCache Serverless viene misurata per un minimo di 1 GB di dati archiviati.

ElastiCache Unità di elaborazione (ECPU)

Paghi per le richieste Redis OSS che la tua applicazione esegue su ElastiCache Serverless in ElastiCache Processing Units (ECPU), un'unità che include sia il tempo vCPU che i dati trasferiti.

  • Le operazioni di lettura e scrittura semplici richiedono 1 ECPU per ogni kilobyte (KB) di dati trasferiti. Ad esempio, un comando GET che trasferisce fino a 1 KB di dati consuma 1 ECPU. Una richiesta SET che trasferisce 3,2 KB di dati consuma 3,2 ECPU.

  • I comandi che richiedono un tempo di vCPU aggiuntivo consumano proporzionalmente più ECPU. Ad esempio, se l'applicazione utilizza il comando Redis OSS HMGET e consuma 3 volte il tempo di vCPU come semplice comando SET/GET, consumerà 3 ECPU.

  • I comandi che consumano più tempo di vCPU e trasferiscono più dati consumano le ECPU in base alla dimensione più alta tra le due. Ad esempio, se l'applicazione utilizza il comando HMGET, consuma 3 volte il tempo di vCPU di un comando SET/GET e trasferisce 3,2 KB di dati, consuma 3,2 ECPU. In alternativa, se trasferisce solo 2 KB di dati, consuma 3 ECPU.

ElastiCache Serverless emette una nuova metrica chiamata ElastiCacheProcessingUnits che consente di comprendere le ECPU utilizzate dal carico di lavoro.

Ore per nodo

Puoi scegliere di progettare il tuo cluster di cache Redis OSS scegliendo la famiglia di nodi EC2, la dimensione, il numero di nodi e il posizionamento tra le zone di disponibilità. Quando si progetta autonomamente il cluster, si paga per ora di utilizzo per ogni nodo di cache.

ElastiCache backup (Redis OSS)

Un backup è una point-in-time copia di una cache Redis OSS. ElastiCache consente di eseguire un backup dei dati in qualsiasi momento o di configurare backup automatici. I backup possono essere utilizzati per ripristinare una cache esistente o per inizializzarne una nuova. I backup sono costituiti da tutti i dati di una cache e da alcuni metadati. Per ulteriori informazioni, consulta . Snapshot e ripristino.