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: cache serverless e cluster basati su nodi. Per informazioni, consulta Scelta tra le opzioni di implementazione.
Nota
Amazon ElastiCache funziona con i motori OSS Valkey, Memcached e Redis. Se non sei certo di quale motore utilizzare, consulta Confronto tra cluster Valkey, Memcached e Redis OSS basati su nodi in questa guida.
Come ElastiCache funziona
ElastiCache Serverless
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, Memcached, Redis OSS per iniziare ad accedere alla cache.
Nota
ElastiCache Serverless esegue Valkey, Memcached o Redis OSS in modalità cluster ed è compatibile solo con i client che 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 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, 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.
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 proxy astrae la topologia e i nodi del cluster 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à dell'applicazione o dover reimpostare le connessioni.
Cluster basati su nodi
È possibile creare un ElastiCache cluster basato su nodi scegliendo una famiglia di nodi di cache, la dimensione e il numero di nodi per il cluster. La creazione di un cluster basato su nodi offre un controllo più preciso e consente di scegliere il numero di shard nella cache e il numero di nodi (primari e di replica) in ogni shard. È possibile 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
Crea un cluster basato su nodi: con ElastiCache, puoi creare un cluster basato su nodi 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 creare un cluster basato su nodi con più nodi per ottenere un'elevata disponibilità. AZs
Controllo granulare: quando si crea un cluster basato su nodi, si ha un maggiore controllo sull'ottimizzazione delle impostazioni della cache. Ad esempio, è possibile utilizzare o configurare il motore di cache. Parametri Valkey e Redis OSS Parametri Memcached specifici
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 basati su nodi. ElastiCache
Prezzi delle dimensioni
È possibile eseguire la distribuzione in due opzioni di distribuzione 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 si crea un cluster basato su nodi, si paga per ora per l'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 il tempo di 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 consumerà 3,2. ECPUs
Con Valkey e Redis OSS, i comandi che consumano più tempo vCPU e trasferiscono più dati consumano in ECPUs base alla più alta delle due dimensioni. Ad esempio, se l'applicazione utilizza il comando HMGET, consuma 3 volte il tempo di vCPU come SET/GET comando semplice e trasferisce 3,2 KB di dati, consumerà 3,2 ECPU. In alternativa, se trasferisce solo 2 KB di dati, ne consumerà 3. ECPUs
Con Valkey e Redis OSS, i comandi che richiedono un tempo di vCPU aggiuntivo consumeranno proporzionalmente di più. ECPUs Ad esempio, se l'applicazione utilizza il comando Valkey o Redis OSS HMGET
e consuma 3 volte il tempo di vCPU come SET/GET comando semplice, ne consumerà 3. 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 ECPUs in base alla dimensione superiore delle due. Ad esempio, se l'applicazione utilizza il comando GET, recupera 3 elementi e trasferisce 3,2 KB di dati, consuma 3,2 ECPU. In alternativa, se trasferisce solo 2 KB di dati, ne consumerà 3. ECPUs
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 creare un cluster basato su nodi scegliendo la famiglia di EC2 nodi, la dimensione, il numero di nodi e il posizionamento tra le zone di disponibilità. Quando si crea un cluster basato su nodi, si paga all'ora per ogni nodo di cache.
ElastiCache backup
Un backup è una point-in-time copia di una cache serverless o di un cluster basato su nodi Valkey o 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.