Come ElastiCache funziona - 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à.

Come ElastiCache funziona

Qui puoi trovare una panoramica dei componenti principali di una ElastiCache distribuzione.

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 offre due opzioni di implementazione: cluster serverless e cluster progettati autonomamente. Per informazioni, consulta Scelta tra le opzioni di implementazione.

Nota

Amazon ElastiCache funziona con i motori Valkey, Redis OSS e Memcached. Se non sei certo di quale motore utilizzare, consulta Confronto tra le cache autoprogettate da ValkeyOSS, Redis e Memcached in questa guida.

Come ElastiCache funziona

ElastiCache Senza server

ElastiCache 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 Valkey, Redis OSS o Memcached per iniziare ad accedere alla cache.

Nota
  • ElastiCache Serverless esegue Valkey, Redis OSS o Memcached in modalità cluster ed è compatibile solo con i client che lo supportano. TLS

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 una disponibilità del 99,99% per ogni cache. SLA

  • Aggiornamenti automatici del software: ElastiCache Serverless aggiorna automaticamente la cache all'ultima versione del software secondario e alle patch più recenti senza alcun impatto sulla disponibilità dell'applicazione. Quando sarà disponibile una nuova versione principale, ti ElastiCache 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 Cliente VPC e quindi al Servizio. VPC

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 DNS endpoint 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 Valkey o 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 distribuiti su più nodi AZs per ottenere un'elevata disponibilità.

  • Controllo granulare: quando progetti il tuo cluster, hai un maggiore controllo sull'ottimizzazione delle impostazioni della cache. Ad esempio, è possibile utilizzare Parametri Valkey e Redis OSS o Parametri Memcached specifici 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 funzione Auto-Scaling per configurare il ridimensionamento in base a una pianificazione o il ridimensionamento in base a metriche come l'utilizzo della memoria nella CPU 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 Cliente VPC e quindi ai nodi di cache gestiti. ElastiCache

Prezzi delle dimensioni

È possibile eseguire la distribuzione ElastiCache in due opzioni di distribuzione. Quando si implementa ElastiCache Serverless, si paga in base all'utilizzo dei dati archiviati in GB all'ora e di calcolo in unità di elaborazione (). ElastiCache ECPU Quando scegli di progettare i tuoi ElastiCache cluster, paghi per 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 () ECPUs

Paghi per le richieste eseguite dalla tua applicazione su ElastiCache Serverless in ElastiCache Processing Units (ECPUs), un'unità che include sia v CPU time che i dati trasferiti.

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

  • Con Valkey e RedisOSS, i comandi che consumano più CPU tempo di v e trasferiscono più dati consumano in ECPUs base alla maggiore delle due dimensioni. Ad esempio, se l'applicazione utilizza il HMGET comando, consuma 3 volte il CPU tempo v rispetto a un semplice GET comandoSET/e trasferisce 3,2 KB di dati, consumerà 3,2. ECPU In alternativa, se trasferisce solo 2 KB di dati, ne consumerà 3ECPUs.

  • Con Valkey e RedisOSS, i comandi che richiedono un CPU tempo v aggiuntivo consumeranno proporzionalmente di più. ECPUs Ad esempio, se l'applicazione utilizza il OSS HMGETcomando Valkey o Redis e consuma 3 volte il CPU tempo v come semplice GET comandoSET/, consumerà 3 volte. ECPUs

  • Con Memcached, i comandi che operano su più elementi consumeranno proporzionalmente di più. ECPUs Ad esempio, se l'applicazione esegue un multiget su 3 elementi, ne consumerà 3. ECPUs

  • Con Memcached, i comandi che operano su più elementi e trasferiscono più dati consumano in ECPUs base alla più alta delle due dimensioni. Ad esempio, se l'applicazione utilizza il GET comando, recupera 3 elementi e trasferisce 3,2 KB di dati, consumerà 3,2. ECPU In alternativa, se trasferisce solo 2 KB di dati, ne consumerà 3ECPUs.

ElastiCache Serverless emette una nuova metrica chiamata ElastiCacheProcessingUnits che ti aiuta a comprendere il ECPUs consumo del tuo carico di lavoro.

Ore per nodo

Puoi scegliere di progettare il tuo cluster di cache scegliendo la famiglia di EC2 nodi, 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

Un backup è una point-in-time copia di una cache serverless o di un cluster progettato autonomamente da Valkey o RedisOSS. 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.