Contenuti della pagina
Generali Redis Memcached

Generali

Concetti di base

D: Cos'è Amazon ElastiCache?
Amazon ElastiCache è un servizio Web che semplifica la distribuzione e l'esecuzione di cache conformi al protocollo Memcached o Redis nel cloud. ElastiCache migliora le prestazioni delle applicazioni consentendoti di recuperare informazioni da un sistema in memoria veloce e gestito anziché affidarti a sistemi basati su disco più lenti. Il servizio semplifica e alleggerisce la gestione, il monitoraggio e il funzionamento degli ambienti in memoria, consentendo alle risorse di engineering di concentrarsi sullo sviluppo di applicazioni. L'uso di ElastiCache permette non solo di migliorare i tempi di caricamento e di risposta alle operazioni e alle query degli utenti, ma riduce anche il costo associato al dimensionamento delle applicazioni Web.

ElastiCache automatizza le attività amministrative più comuni necessarie al funzionamento di un ambiente distribuito basato su coppie chiave-valore in memoria. Con ElastiCache, l'aggiunta all'architettura applicativa di un livello di dati nella cache o in memoria è una questione di pochi minuti e pochi clic nella Console di gestione AWS. ElastiCache è progettato per mantenere automaticamente l'alta disponibilità e fornisce un Service Level Agreement (SLA) con disponibilità del 99,99%. ElastiCache è conforme ai protocolli di Memcached e Redis, perciò il codice, le applicazioni e gli strumenti più comunemente utilizzati negli ambienti Memcached e Redis esistenti sono completamente compatibili con il servizio. Non sono richiesti investimenti iniziali e paghi solo per le risorse utilizzate.

D: Cos'è il caching in memoria e quali vantaggi può portare alle mie applicazioni?
Il caching in memoria fornito da ElastiCache può essere utilizzato per migliorare in modo significativo le prestazioni in termini di latenza e di velocità di trasmissione effettiva su carichi di lavoro applicativi particolarmente pesanti in lettura (ad esempio per social network, giochi, condivisione di file multimediali e portali di assistenza), oppure su carichi di lavoro intensi in elaborazione (ad esempio motori di raccomandazione). Il caching in memoria migliora le prestazioni delle applicazioni perché memorizza informazioni critiche in una memoria che ha una latenza molto bassa all'accesso. Le informazioni memorizzate nella cache possono essere query di database particolarmente onerose in termini di I/O oppure i risultati di un calcolo che utilizza il processore in modo intensivo.

D: Quali attività sono gestite da ElastiCache per mio conto?
ElastiCache gestisce il lavoro richiesto per impostare un ambiente dati in memoria distribuito, dal provisioning delle risorse richieste all'installazione del software. Quando si utilizza Amazon ElastiCache Serverless, non è necessario configurare e gestire alcuna infrastruttura. Quando si progetta il proprio cluster ElastiCache, il servizio automatizza le attività amministrative più comuni come l'applicazione di patch software e il rilevamento e il ripristino degli errori. ElastiCache fornisce parametri di monitoraggio dettagliati associati alle tue risorse, consentendoti di diagnosticare e reagire rapidamente ai problemi. Ad esempio, è possibile impostare delle soglie e ricevere allarmi se uno dei nodi è sovraccarico di richieste.

D: Quali motori supporta ElastiCache?
ElastiCache offre Redis e Memcached completamente gestiti per le applicazioni più esigenti che richiedono tempi di risposta inferiori ai millisecondi.

D: Come si inizia a usare ElastiCache?
Se non sei già registrato a ElastiCache, puoi selezionare Inizia nella pagina ElastiCache e completare la procedura di registrazione. Per accedere al servizio è necessario un account AWS; se non ne possiedi uno, ti verrà chiesto di crearlo all'inizio della procedura di registrazione a ElastiCache. Dopo la registrazione a ElastiCache, consulta la documentazione di ElastiCache, che comprende la Guida alle operazioni di base di Amazon ElastiCache per Redis o Amazon ElastiCache per Memcached.

Una volta acquisita familiarità con ElastiCache, puoi creare una cache in pochi minuti utilizzando la console o le API ElastiCache.

D: Come si crea una cache?
Creare una cache è semplice: è possibile farlo utilizzando la console, le API di ElastiCache o gli strumenti a riga di comando. Quando si utilizza ElastiCache Serverless, puoi creare una cache utilizzando le impostazioni predefinite consigliate e iniziare a utilizzarla in meno di un minuto.

Serverless

D: Cos'è ElastiCache serverless?
ElastiCache serverless è un'opzione serverless che consente di iniziare a utilizzare una cache in meno di un minuto senza dover effettuare il provisioning dell'infrastruttura o pianificare la capacità. ElastiCache serverless elimina la necessità di una pianificazione della capacità dispendiosa in termini di tempo monitorando continuamente l'elaborazione, la memoria e l'utilizzo della rete della cache, in modo da poter scalare istantaneamente per soddisfare la domanda senza tempi di inattività o riduzione delle prestazioni. ElastiCache serverless replica automaticamente i dati su più zone di disponibilità (AZ) e fornisce ai clienti un accordo sul livello di servizio (SLA) con disponibilità del 99,99% per ogni cache. Con ElastiCache serverless, paghi solo per i dati archiviati e le risorse di calcolo utilizzate dall'applicazione. Per iniziare, crea una cache ElastiCache serverless in pochi passaggi specificando il nome della cache utilizzando la console, ElastiCache Development Kit (SDK) o l'interfaccia della linea di comando AWS (AWS CLI).

D: Come posso migrare un carico di lavoro ElastiCache esistente su ElastiCache serverless?
Puoi spostare un carico di lavoro ElastiCache esistente modificando l'endpoint Redis o Memcached con il nuovo endpoint di cache ElastiCache serverless nella tua applicazione. Puoi migrare i dati ElastiCache esistenti su ElastiCache serverless specificando la posizione di Amazon Simple Storage Service (Amazon S3) di un file di backup. Consulta la nostra documentazione di ElastiCache serverless per saperne di più sulla migrazione dei carichi di lavoro.

D: Quali versioni di Redis e Memcached sono supportate da ElastiCache serverless?
ElastiCache serverless supporta ElastiCache per Redis versione 7.1 ed ElastiCache per Memcached versione 1.6.21 e successive.

D: In che modo ElastiCache serverless è dimensionabile?
ElastiCache serverless monitora continuamente la memoria, l'elaborazione e l'utilizzo della rete della cache per un dimensionamento istantaneo. ElastiCache serverless è dimensionabile senza tempi di inattività o riduzione delle prestazioni dell'applicazione, consentendo alla cache di aumentare e avviando il dimensionamento orizzontale in parallelo per soddisfare i requisiti dell'applicazione in tempo utile. Consulta la nostra documentazione di ElastiCache serverless per saperne di più sulla scalabilità.

D: Cos'è l'Accordo sul livello di servizio (SLA) per la disponibilità di ElastiCache serverless?
Amazon ElastiCache serverless archivia automaticamente i dati in modo ridondante in più zone di disponibilità e fornisce un Accordo sul livello di servizio (SLA) con disponibilità del 99,99% per tutti i carichi di lavoro.

D: Quali sono i prezzi di ElastiCache serverless?
Con ElastiCache serverless, paghi solo per i dati archiviati e per l'elaborazione utilizzata dalla tua applicazione. Per saperne di più, visita la pagina dei prezzi di ElastiCache.

Nodi riservati

D: Cosa sono i nodi riservati di ElastiCache?
I nodi riservati o le istanze riservate (RI) possono comportare un notevole risparmio rispetto all'utilizzo on demand se ci si impegna ad utilizzarli per un periodo di uno o tre anni. Con i nodi riservati, è possibile effettuare un singolo pagamento anticipato per creare una prenotazione di uno o tre anni al fine di eseguire il nodo in una determinata regione, ottenendo notevoli sconti sulla tariffa oraria corrente. Esistono tre opzioni di pagamento per i nodi riservati (Pagamento anticipato intero costo, Nessun anticipo e Pagamento anticipato parziale), che consentono di bilanciare l'importo pagato in anticipo con il prezzo effettivo pagato su base oraria.

D: I nodi riservati si applicano a ElastiCache serverless?
I nodi riservati offrono uno sconto applicabile all'utilizzo di ElastiCache on demand. ElastiCache serverless non è compatibile con i nodi riservati.

D: Quanti nodi riservati è possibile acquistare?
È possibile acquistare fino a 300 nodi riservati. Se desideri eseguire più di 300 nodi, compila il modulo di richiesta nodi di ElastiCache.

D: È possibile convertire un nodo esistente in un nodo riservato?
Acquista una prenotazione di nodo che abbia in comune la classe e la Regione con il nodo che desideri prenotare correntemente in esecuzione. Se l'acquisto della prenotazione viene completato correttamente, ElastiCache applicherà automaticamente il nuovo costo orario di utilizzo al nodo attuale.

D: Se mi registro per un nodo riservato, quando inizia il periodo? Che cosa succede al nodo quando il periodo finisce?
Le variazioni dei prezzi associate a un nodo riservato si attivano alla ricezione della richiesta e mentre viene elaborata l'autorizzazione al pagamento. È possibile seguire lo stato della prenotazione nella pagina dedicata all'attività dell'account AWS oppure utilizzando l'API DescribeReservedCacheNodes. Se il pagamento in un'unica soluzione non viene autorizzato a partire dal periodo di fatturazione successivo, la tariffa scontata non sarà applicata.

Allo scadere del periodo di prenotazione, al nodo riservato tornerà ad essere applicata la tariffa oraria on demand corrispondente alla classe del nodo e alla Regione.

D: In che modo è possibile controllare quali nodi sono fatturati alla tariffa scontata disponibile per i nodi riservati?
Le API ElastiCache per creare, modificare ed eliminare i nodi non fanno distinzione tra nodi on demand e nodi riservati, quindi puoi utilizzarli entrambi senza problemi. Nel calcolo della fattura, il nostro sistema applica automaticamente le tariffe della tua prenotazione, quindi tutti i nodi idonei saranno fatturati alla tariffa oraria minore per quel nodo di cache riservato.

D: È possibile spostare un nodo riservato da una regione a un'altra o da una zona di disponibilità a un'altra?
Ogni nodo riservato è associato a una regione specifica, che rimane fissa per tutta la durata della prenotazione e non può essere modificata. Ogni prenotazione può però essere utilizzata in una qualsiasi delle zone di disponibilità della regione associata.

D: Posso annullare una prenotazione?
No, non è possibile annullare la prenotazione del nodo; l'eventuale pagamento in un'unica soluzione non è rimborsabile. Durante il periodo del nodo riservato continuerai a pagare per tutte le ore, indipendentemente dall'utilizzo.

D: Che impatto avranno le varie opzioni di pagamento sulla fattura?
Quando acquisti un nodo riservato con l'opzione Pagamento anticipato intero costo, paghi l'intero nodo riservato con un solo pagamento anticipato. Puoi scegliere di non pagare alcun costo anticipato con l'opzione Nessun pagamento anticipato. L'intero valore del nodo riservato Nessun pagamento anticipato viene distribuito su ogni ora del periodo e pagherai per ogni ora del periodo a prescindere dall'utilizzo. L'opzione Pagamento anticipato parziale è un ibrido tra le altre due opzioni. Effettuando un pagamento anticipato di piccola entità, ti sarà addebitata una tariffa oraria bassa per ogni ora della durata del termine, indipendentemente dall'utilizzo.

Sicurezza

D: Quali controlli di sicurezza esistono per ElastiCache?
ElastiCache consente di configurare la crittografia dei dati inattivi utilizzando Sistema AWS di gestione delle chiavi (AWS KMS), la crittografia dei dati in transito tramite Transport Layer Security (TLS), l'autenticazione tramite AWS Identity and Access Management (IAM) e il controllo degli accessi alla rete con i gruppi di sicurezza Amazon Elastic Compute Cloud (Amazon EC2).

D: Come si controllano gli accessi a ElastiCache?
Quando non si utilizza Amazon Virtual Private Cloud (Amazon VPC), ElastiCache consente di controllare l'accesso alle cache tramite gruppi di sicurezza di rete. Un gruppo di sicurezza si comporta come un firewall, controllando l'accesso di rete al nodo. Per impostazione predefinita, l'accesso di rete alle tue cache è disabilitato. Se desideri che le tue applicazioni abbiano accesso alla cache, devi abilitare esplicitamente l'accesso dagli host in gruppi di sicurezza Amazon EC2 specifici.

Puoi controllare l'accesso alle tue risorse ElastiCache anche utilizzando l'autenticazione IAM. Per ulteriori informazioni, consulta la documentazione relativa all'autenticazione con IAM.

Conformità

D: Quali programmi di conformità supporta ElastiCache?
ElastiCache supporta programmi di conformità quali SOC 1, SOC 2, SOC 3, ISO, MTCS, C5, PCI DSS, HIPAA e FedRAMP. Consulta Servizi AWS coperti dal programma di conformità per un elenco aggiornato dei programmi di conformità supportati.

D: ElastiCache è conforme allo standard PCI DSS?
Sì, il programma di conformità PCI di AWS include ElastiCache come servizio conforme allo standard PCI. Per ulteriori informazioni, consulta le seguenti risorse:

Per un elenco completo dei programmi in cui è incluso ElastiCache, consulta la pagina Servizi AWS coperti dal programma di conformità.

D: ElastiCache è idoneo alla normativa HIPAA?
Sì, ElastiCache è un servizio idoneo all'HIPAA ed è coperto dall'AWS Business Associate Addendum (BAA). Ciò significa che è possibile utilizzare ElastiCache per elaborare, immagazzinare e organizzare le informazioni sanitarie protette (PHI) e promuovere le applicazioni sanitarie.

D: In che modo posso utilizzare ElastiCache conforme allo standard HIPAA?
Se hai stipulato un Business Associate Agreement (BAA) con AWS, puoi utilizzare ElastiCache per creare applicazioni che archiviano ed elaborano l'HI in base alla normativa HIPAA. In caso contrario, oppure se hai domande sull'utilizzo di AWS con le tue applicazioni, contattaci

D: ElastiCache FedRAMP è autorizzato?
Il programma di conformità AWS FedRAMP include ElastiCache per Redis come servizio autorizzato da FedRAMP. I clienti del governo degli Stati Uniti e i loro partner possono ora utilizzare l'ultima versione di ElastiCache per elaborare e archiviare i sistemi FedRAMP, i dati e i carichi di lavoro mission critical ad alto impatto nelle Regioni AWS GovCloud (Stati Uniti-Est) e AWS GovCloud (Stati Uniti-Ovest) e con un impatto moderato nelle Regioni Stati Uniti orientali (Ohio), Stati Uniti orientali (Virginia settentrionale), Stati Uniti occidentali (California settentrionale) e Stati Uniti occidentali (Oregon).

Per ulteriori informazioni, consulta le risorse seguenti:

Per un elenco completo dei programmi in cui è incluso ElastiCache, consulta la pagina Servizi AWS coperti dal programma di conformità.

D: Sono previsti costi aggiuntivi per l'utilizzo delle caratteristiche di conformità?
No, non sono previsti costi aggiuntivi per l'utilizzo delle funzionalità di conformità.

Gruppi di parametri

D: Cosa sono i gruppi di parametri? A cosa servono?
Un gruppo di parametri si comporta come un container per i valori di configurazione dei motori che sono applicati a uno o più cluster. Se crei un cluster senza specificare un gruppo di parametri, viene usato un gruppo di parametri predefinito. Questo gruppo predefinito contiene le impostazioni predefinite del motore e del sistema ElastiCache ottimizzate per il cluster in esecuzione. Se tuttavia desideri eseguire la cache con valori di configurazione del motore personalizzati, puoi creare un nuovo gruppo di parametri, apportare le modifiche desiderate ai parametri e impostare il cluster in modo che applichi il nuovo gruppo di parametri. Una volta associati, tutti i cluster che utilizzano un determinato gruppo di parametri riceveranno tutti gli aggiornamenti dei parametri relativi a tale gruppo. Per ulteriori informazioni sulla configurazione dei gruppi di parametri, consulta la Guida per l'utente di ElastiCache per Redis o ElastiCache per Memcached.

D: Secondo quali criteri vanno scelti i parametri di configurazione migliori per le cache?
ElastiCache sceglie per impostazione predefinita i parametri di configurazione ottimale per la cache, tenendo in considerazione la memoria e la capacità delle risorse di calcolo del tipo di nodo. Se tuttavia desideri modificarli, puoi farlo usando le API di gestione della configurazione. Si noti che la modifica dei parametri di configurazione rispetto ai valori raccomandati può provocare effetti inattesi che possono andare da un calo delle prestazioni a crash di sistema, e dovrebbe essere effettuata solo da utenti esperti che conoscono i rischi che ne derivano. Per ulteriori informazioni sulla modifica dei parametri, consulta la Guida per l'utente di ElastiCache.

D: Come si consultano le impostazioni correnti dei parametri relativi a un determinato gruppo di parametri?
Per consultare le informazioni su gruppi di parametri e le impostazioni corrispondenti dei parametri puoi utilizzare la console, le API di ElastiCache o gli strumenti a riga di comando.

Redis

Funzionalità Redis

D: Cos'è ElastiCache per Redis?
ElastiCache per Redis è un servizio Web che semplifica la l'implementazione e l'esecuzione di cache conformi al protocollo Redis nel cloud. Il servizio consente la gestione, il monitoraggio e il funzionamento dei nodi Redis; la creazione, l'eliminazione e la modifica dei nodi possono essere effettuate tramite la console di ElastiCache, l'interfaccia a riga di comando (AWS CLI) o le API del servizio Web. ElastiCache per Redis supporta le configurazioni ad alta disponibilità, inclusa la modalità cluster Redis abilitata e la modalità cluster disabilitata con failover automatico dal primario alla replica.

D: ElastiCache per Redis è conforme al protocollo di Redis open source?
Sì, ElastiCache per Redis è progettato per essere conforme al protocollo open source di Redis. Il codice, le applicazioni, i driver e gli strumenti utilizzati attualmente con il datastore Redis autonomo continueranno a funzionare con ElastiCache per Redis e senza bisogno di modificare il codice per migrare le implementazioni esistenti di Redis su ElastiCache per Redis, salvo disposizione contraria.

D: Quanto costa ElastiCache per Redis?
Consulta la pagina dei prezzi per informazioni aggiornate.

D: ElastiCache per Redis supporta le operazioni Multi-AZ?
Sì. Sì, con ElastiCache per Redis puoi creare una replica di lettura in un'altra zona di disponibilità di AWS. Quando si utilizza ElastiCache serverless per Redis, i dati vengono automaticamente archiviati in modo ridondante su più zone di disponibilità per un'elevata disponibilità. Quando si progetta la propria cache ElastiCache per Redis, in caso di errore di un nodo, provvederemo a fornire un nuovo nodo. Negli scenari in cui si verifica un errore del nodo primario, ElastiCache per Redis converte automaticamente una replica di lettura esistente in ruolo primario. Per maggiori dettagli su come gestire gli errori dei nodi, visita Informazioni sulla replica Redis.

D: In che modo è possibile eseguire l'aggiornamento a una versione più recente del motore?
È possibile eseguire rapidamente l'aggiornamento a una versione più recente del motore utilizzando le API ElastiCache e specificando la versione del motore preferita. Nella console ElastiCache, puoi selezionare una cache e selezionare Modifica. Il processo di aggiornamento del motore è progettato per conservare i dati esistenti. Per maggiori dettagli, consulta Strategie e best practice per la memorizzazione nella cache.

D: È possibile eseguire il downgrade a una versione precedente del motore?
No. Il downgrade a una versione precedente del motore non è supportato.

D: È possibile creare repliche in più regioni con ElastiCache per Redis?
Sì. Puoi creare repliche in più regioni utilizzando la funzionalità Datastore globale di ElastiCache per Redis. Con Datastore globale puoi eseguire repliche rapide, affidabili, sicure e completamente gestite in più regioni. Consente di scrivere sul cluster ElastiCache per Redis in una regione e disporre dei dati per la lettura di altri due cluster di replica in più regioni. Questa funzionalità ti permette così di beneficiare di letture a bassa latenza e di operazioni di ripristino di emergenza in più regioni.

Performance

D: Quali sono i vantaggi prestazionali di ElastiCache per Redis?
ElastiCache per Redis offre thread di I/O potenziati che migliorano significativamente la velocità di trasmissione effettiva e la latenza su larga scala tramite il multiplexing, l'offload a livello di presentazione e altro ancora. I thread I/O potenziati migliorano le prestazioni sfruttando diversi core per elaborare i dati di I/O e adattarli in maniera dinamica al carico di lavoro. ElastiCache per Redis migliora la velocità di trasmissione effettiva dei cluster abilitati a TLS alleggerendo le operazioni di crittografia sugli stessi thread di I/O potenziati. ElastiCache per Redis versione 7.0 ha introdotto il multiplexing I/O potenziato, che combina molte richieste dei client in un unico canale e migliora l'efficienza del thread Redis principale.

Nella versione 7.1 di ElastiCache per Redis e successive, abbiamo esteso la funzionalità dei thread di I/O avanzati per gestire anche la logica del livello di presentazione. I thread I/O potenziati non solo leggono l'input del client, ma lo analizzano anche in un formato di comando binario Redis, che viene poi inoltrato al thread principale per l'esecuzione, al fine di ottenere miglioramenti delle prestazioni. Con ElastiCache per Redis versione 7.1 è possibile ottenere fino al 100% in più di velocità di trasmissione effettiva e una latenza P99 inferiore del 50% rispetto alla versione 7.0 di ElastiCache per Redis. Su r7g.4xlarge o più grandi, è possibile ottenere oltre 1 milione di richieste al secondo (RPS) per nodo.

D: Come è possibile monitorare l'utilizzo della CPU di Redis?
ElastiCache fornisce due diversi set di metriche per misurare l'utilizzo della CPU della cache in base alla scelta di implementazione della cache. Quando si utilizza ElastiCache serverless, è possibile monitorare l'utilizzo della CPU con il parametro ElastiCache Processing Units (ECPU). Il numero di ECPU utilizzate dalle richieste dipende dal tempo impiegato dalla vCPU e dalla quantità di dati trasferiti. Ogni lettura e scrittura, come i comandi Redis GET e SET o i comandi get e set di Memcached, richiede 1 ECPU per ogni kilobyte (KB) di dati trasferiti. Alcuni comandi Redis che operano su strutture di dati in memoria possono richiedere più tempo vCPU rispetto a un comando GET o SET. ElastiCache calcola il numero di ECPU consumate in base al tempo di vCPU impiegato dal comando rispetto a una linea di base del tempo di vCPU impiegato da un comando Redis SET o GET. Se il comando richiede più tempo vCPU e trasferisce più dati rispetto alla linea di base di 1 ECPU, ElastiCache calcola le ECPU richieste in base alla maggiore delle due dimensioni.

Quando si progetta il proprio cluster, è possibile monitorare l'utilizzo della CPU del motore e l'utilizzo della CPU. Il parametro CPUUtilization misura l'utilizzo della CPU per l'istanza (nodo), mentre il parametro EngineCPUUtilization misura l'utilizzo a livello del processo di Redis. È necessario il parametro EngineCPUUtilization in aggiunta a CPUUtilization perché il processo principale di Redis è a thread singolo e utilizza solo una CPU dei core multipli disponibili su un'istanza. Perciò il parametro CPUUtilization non fornisce una visibilità precisa sui tassi di utilizzo della CPU a livello del processo di Redis. Ti suggeriamo di utilizzare entrambi i parametri, EngineCPUUtilization e CPUUtilization, insieme, per ottenere una comprensione dettagliata dell'utilizzo della CPU per i tuoi cluster Redis.

Entrambi i set di parametri sono disponibili in tutte le regioni AWS e puoi accedervi utilizzando Amazon CloudWatch o nella console. Inoltre, consigliamo di consultare la documentazione per saperne di più sui parametri utili per il monitoraggio delle prestazioni.

D: Come posso ottimizzare le prestazioni del client Redis?
Redis è uno degli archivi di coppie chiave-valore NoSQL più popolari ed è noto per le sue ottime prestazioni. Per ottimizzare l'utilizzo di Redis, è necessario anche un client performante.

Replica di lettura

D: Cosa comporta eseguire un nodo di Redis come replica di lettura?
Le repliche di lettura in Redis hanno due scopi:

  • Gestione dei guasti
  • Dimensionamento della lettura

Quando si esegue un nodo di cache con una replica di lettura, il nodo "primario" effettua le scritture e le letture. La replica serve esclusivamente al traffico di lettura ed è disponibile anche come warm standby nel caso in cui il primario venga danneggiato.

D: Quando è consigliato usare le repliche di lettura di Redis?
Con ElastiCache serverless, le repliche di lettura vengono gestite automaticamente dal servizio. Quando si progetta la propria cache, esistono diversi scenari in cui potrebbe essere opportuno distribuire una o più repliche di lettura per un determinato nodo primario. Alcuni casi d'uso possono essere, per esempio:

  • Scalabilità oltre la capacità di elaborazione o I/O di un singolo nodo primario per carichi di lavoro ad alta intensità di lettura: questo traffico di lettura in eccesso può essere indirizzato a una o più repliche di lettura.
  • Utilizzo del traffico in lettura quando il nodo primario non è disponibile: se il nodo primario non è in grado di ricevere richieste di I/O, (ad esempio, durante un backup o una fase di manutenzione programmata), si può reindirizzare il traffico in lettura alle repliche di lettura. In questo caso d'uso, è necessario ricordare che i dati sulla replica di lettura potrebbero essere obsoleti, poiché l'istanza principale non è disponibile. Inoltre la replica di lettura può essere utilizzata a caldo per riavviare un'istanza principale non riuscita.
  • Scenari di protezione dei dati: nell'improbabile eventualità di un errore del nodo primario o che la zona di disponibilità in cui risiede il nodo primario non sia disponibile, si può convertire una replica di lettura in nodo primario in una zona di disponibilità diversa. 

D: Come posso collegarmi alle repliche di lettura?

Puoi collegarti a una replica di lettura proprio come ti collegheresti a un nodo di cache primario. Se usi più di una replica di lettura, sarà l'applicazione a determinare la distribuzione del traffico in lettura fra queste repliche. Ulteriori informazioni:

  • I cluster Redis (modalità cluster disattivata) utilizzano gli endpoint dei singoli nodi per le operazioni di lettura. (Nell'API/CLI questi sono denominati endpoint di lettura.)
  • I cluster Redis (in modalità cluster abilitata) utilizzano l'endpoint nella configurazione del cluster per tutte le operazioni. È necessario utilizzare un client che supporti i cluster Redis (Redis 3.2). Puoi comunque leggere dai singoli endpoint dei nodi. (Nell'API e nella CLI questi sono indicati come endpoint di lettura.)

D: Quante repliche di lettura è possibile creare per un determinato nodo primario?
ElastiCache consente di creare fino a cinque (5) repliche di lettura per un determinato nodo di cache primario.

D: Cosa succede alle repliche di lettura in caso di failover?
In caso di failover su più zone di disponibilità, le repliche di lettura associate e disponibili riprendono automaticamente la replica al completamento del failover (dopo, quindi, il recupero degli aggiornamenti dalla nuova replica di lettura).

D: In che modo ElastiCache mantiene aggiornata la mia replica di lettura con il relativo nodo primario?
Gli aggiornamenti a un nodo di cache primario vengono replicati automaticamente alle repliche di lettura associate. Quando viene usata la tecnologia di replica asincrona di Redis, tuttavia, una replica di lettura può risultare in ritardo rispetto al nodo di cache principale per una serie di motivi. In genere questo accade nelle seguenti situazioni:

  • Il volume di scrittura di I/O al nodo di cache principale supera il tasso al quale le modifiche sono applicate alla replica di lettura.
  • Partizioni di rete o latenze tra il nodo di cache principale e la replica di lettura.

Le repliche di lettura ereditano i punti di forza e le limitazioni delle repliche di Redis. Se utilizzi repliche di lettura, devi tenere conto del potenziale ritardo o "incoerenza" tra una replica di lettura e il suo nodo di cache primario. ElastiCache emette un parametro per aiutarti a rilevare questa incoerenza.

D: Quanto costa una replica di lettura? Qual è il periodo di fatturazione?
Le repliche di lettura vengono fatturate come nodi di cache standard e prevedono le stesse tariffe. Analogamente ai nodi di cache standard, la tariffa basata sulle "ore-nodo di cache" per le repliche di lettura è determinata dalla classe del nodo di cache della replica di lettura; consulta la pagina dei prezzi di ElastiCache per informazioni aggiornate sui prezzi. I trasferimenti di dati generati durante la replica dei dati tra il nodo di cache e la replica di lettura non vengono fatturati. La fatturazione di una replica di lettura inizia subito dopo la sua creazione (dal momento in cui il suo stato è "attivo"). La fatturazione della replica di lettura proseguirà secondo le tariffe orarie standard per i nodi di cache di ElastiCache finché non viene inviato il comando di eliminazione.

D: Quali operazioni vengono eseguite durante un failover e con quale durata?
Il failover avviato è supportato da ElastiCache in modo da poter riprendere le operazioni di cache al più presto. Durante l'esecuzione di un failover, ElastiCache cambia il record DNS per il nodo di cache in modo che punti alla replica di lettura, che diventa a sua volta il nuovo nodo principale. Ti consigliamo di seguire le migliori prassi e di implementare i tentativi di connessione al nodo di cache a livello di applicazione. In genere, dall'inizio alla fine, i passaggi da uno a cinque vengono completati entro sei minuti.

Questi sono gli eventi di failover automatico, elencati in ordine di ricorrenza:

  1. Messaggio del gruppo di replica: API Test Failover chiamata per il gruppo di nodi <node-group-id>
  2. Messaggio del cluster di cache: failover dal nodo primario <primary-node-id> al nodo di replica <node-id> completato
  3. Messaggio del gruppo di replica: failover dal nodo primario <primary-node-id> al nodo di replica <node-id> completato
  4. Messaggio del cluster di cache: recupero dei nodi di cache <node-id>
  5. Messaggio del cluster di cache: ripristino dei nodi di cache <id-nodo> terminato

D: Posso creare una replica di lettura in una regione diversa da quella primaria?
No. Puoi effettuare il provisioning della replica di lettura solo nella stessa zona di disponibilità o in un'altra zona di disponibilità della stessa regione del nodo di cache primario. Tuttavia, puoi utilizzare Datastore globale per Redis per lavorare con una replica veloce, affidabile, sicura e completamente gestita in più regioni AWS. Utilizzando questa funzionalità, puoi creare cluster di repliche di lettura in più regioni per ElastiCache per Redis per abilitare letture e ripristino di emergenza a bassa latenza in più regioni AWS.

D: È possibile vedere in quale zona di disponibilità si trova attualmente il nodo primario?
Sì. Per ottenere maggiore visibilità sulla posizione del nodo primario, utilizza la console o l'API DescribeCacheClusters.

D: Posso aggiungere e rimuovere i nodi delle repliche di lettura per il mio ambiente cluster Redis?
Sì. Si possono aggiungere e rimuovere le repliche tra una o più partizioni in un ambiente cluster Redis. Sì, il cluster rimarrà online ed elaborerà gli I/O in ingresso durante l'operazione.

Multi-AZ

D: Cos'è l'opzione Multi-AZ per ElastiCache per Redis?
Multi-AZ è una funzionalità che consente di eseguire una configurazione a disponibilità più elevata quando si progetta la propria cache ElastiCache per Redis. Tutte le cache ElastiCache serverless vengono eseguite automaticamente in una configurazione Multi-AZ. Un gruppo di replica ElastiCache per Redis consiste in un nodo principale e fino a cinque repliche di lettura. Se la funzione Multi-AZ è abilitata, è necessaria almeno una replica per nodo principale. Durante determinati interventi di manutenzione pianificati oppure nell'eventualità di un errore del nodo ElastiCache o della zona di disponibilità, ElastiCache rileva automaticamente l'errore del nodo principale, seleziona una replica di lettura e la converte nel nuovo nodo principale. Inoltre ElastiCache converte le modifiche DNS della replica di lettura convertita, in modo che, se l'applicazione scrive sull'endpoint del nodo principale, nessun cambiamento di endpoint sarà necessario.
 
D: Quali sono i vantaggi dell'utilizzo di Multi-AZ e quando dovrei sfruttarli?
I vantaggi principali di eseguire ElastiCache per Redis in modalità Multi-AZ sono l'aumentata disponibilità e l'amministrazione ridotta. Quando si esegue ElastiCache in una configurazione Multi-AZ, le cache sono idonee per lo SLA di disponibilità del 99,99%. In caso di errore del nodo principale di ElastiCache per Redis, l'impatto sulla capacità di lettura e scrittura sul nodo principale è limitato al periodo durante il quale viene effettuato il failover automatico. Quando Multi-AZ è attivo, il failover del nodo ElastiCache è automatico e non richiede nessuna gestione. Non è più necessario eseguire il monitoraggio dei nodi Redis e avviare manualmente il ripristino nel caso di un'interruzione del nodo principale.
 
D: Come funziona Multi-AZ?
Puoi utilizzare Multi-AZ se usi ElastiCache per Redis e hai un gruppo di replica che consiste in un nodo principale e una o più repliche di lettura. In caso di errore del nodo principale, ElastiCache rileva automaticamente l'errore, seleziona una delle repliche di lettura disponibili e la converte in nodo principale. ElastiCache converte le modifiche DNS della replica di lettura convertita, in modo che l'applicazione continui a scrivere sull'endpoint principale. ElastiCache creerà un nuovo nodo per sostituire la replica di lettura convertita nella stessa zona di disponibilità del nodo principale con errore. In caso di errore del nodo principale dovuto a un'interruzione nella zona di disponibilità, la nuova replica verrà lanciata non appena la zona di disponibilità sarà ripristinata.
 
D: Posso collocare le repliche nella stessa zona di disponibilità del nodo principale?
Sì. Collocare il nodo principale e le repliche nella stessa zona di disponibilità non garantisce la resistenza del gruppo di repliche di ElastiCache per Redis a interruzioni nella zona di disponibilità. Inoltre, la presenza di repliche nella stessa zona di disponibilità della principale non sarà consentita se Multi-AZ è attivato.
 
D: In quali casi può verificarsi un failover di ElastiCache su una replica di lettura?
Un failover di ElastiCache su una replica di lettura può avvenire in uno dei casi seguenti:
  • Perdita di disponibilità nella zona di disponibilità del nodo principale
  • Perdita di connettività di rete nel nodo principale
  • Errore dell'unità di elaborazione nell'istanza principale

D: Quale replica di lettura viene convertita in caso di errore di un nodo primario?
Se esiste più di una replica di lettura, viene convertita la replica di lettura che presenta il ritardo di replica asincrona minore rispetto al nodo primario.

D: Riceverò un avviso quando avviene un failover automatico?
Sì, ElastiCache crea un evento per informarti che è stato effettuato un failover automatico. Puoi usare l'API DescribeEvents per raccogliere informazioni sugli eventi relativi al tuo nodo ElastiCache o selezionare la sezione "Eventi" sulla console di gestione ElastiCache.

D: Dopo il failover, il nodo principale si trova ora in una zona di disponibilità diversa rispetto alle altre risorse AWS (per esempio le istanze Amazon EC2). Potrebbero verificarsi problemi di latenza?
Le zone di disponibilità sono state progettate in modo da connettersi tra loro in rete con una latenza minima all'interno della stessa regione. Potrebbe essere opportuno progettare la propria applicazione e organizzare le altre risorse AWS in modo che offrano ridondanza su più zone di disponibilità, consentendo una maggiore resilienza dell'applicazione in caso di errore in una zona di disponibilità.
 
D: Dove posso trovare ulteriori informazioni su Multi-AZ?
Per ulteriori informazioni su Multi-AZ, consultare la documentazione ElastiCache.

Backup e ripristino

D: Cos'è la funzione di backup e ripristino?
La funzionalità di backup e ripristino è una funzionalità che consente di creare snapshot delle cache di ElastiCache per Redis. ElastiCache memorizza gli snapshot, permettendo agli utenti di utilizzarli per ripristinare i cluster Redis.

D: Qual è il vantaggio degli snapshot?
Creare snapshot può risultare utile in caso di perdite di dati causate da errori di un nodo, oppure nell'improbabile eventualità di un guasto hardware. Un altro caso d'uso comune degli snapshot è la creazione di backup e l'archiviazione. Gli snapshot vengono memorizzati in Amazon S3.

D: Come funziona il backup e ripristino?
Quando si avvia il backup, ElastiCache esegue lo snapshot di una cache Redis specifica che potrà essere utilizzato in un secondo momento per il ripristino o l'archiviazione. Si può avviare il backup ogni volta che si desidera o impostare un backup ricorrente giornaliero con un periodo di memorizzazione di 35 giorni. Quando si seleziona uno snapshot da ripristinare, verrà creata una nuova cache ElastiCache per Redis e vi saranno inseriti i dati dello snapshot. Gli snapshot di ElastiCache per Redis sono compatibili con il formato di file open source Redis RDB.

D: Come posso iniziare a utilizzare la funzione Backup e ripristino?
Puoi utilizzare la funzionalità di backup e ripristino tramite la console, le API ElastiCache e l'interfaccia a riga di comando di AWS. Puoi disattivare e riattivare questa funzionalità a piacimento.

D: Come si specificano il cluster e il nodo Redis su cui effettuare il backup?
La funzionalità di backup e ripristino crea degli snapshot basati sulla cache. Gli utenti possono specificare la cache di ElastiCache per Redis di cui eseguire il backup tramite la console, l'interfaccia a riga di comando AWS o l'API ElastiCache. Consigliamo agli utenti di abilitare il backup su una delle repliche di lettura della cache, riducendo al minimo qualsiasi potenziale impatto sul nodo principale. Quando si utilizza ElastiCache serverless, i backup vengono eseguiti automaticamente sulle repliche di lettura.

D: È possibile esportare snapshot di ElastiCache per Redis nel proprio bucket Amazon S3?
È possibile esportare snapshot di ElastiCache per Redis in un bucket S3 autorizzato nella stessa regione della cache.

D: Ho più account AWS che usano ElastiCache per Redis. Posso usare gli snapshot ElastiCache di un account per l'avvio a caldo di un cluster ElastiCache per Redis in un altro?
Sì. Devi copiare lo snapshot in un qualsiasi bucket S3 autorizzato nella stessa Regione, quindi concedere i privilegi di accesso tra più account all'altro account.

D: Quanto costa utilizzare la funzione di backup e ripristino?
ElastiCache offre spazio di archiviazione gratuito per uno snapshot per ogni cluster ElastiCache per Redis attivo. Lo spazio di archiviazione aggiuntivo verrà addebitato sulla base dello spazio utilizzato dagli snapshot con 0,085 USD/GB al mese (stesso prezzo per tutte le Regioni). Il trasferimento dati per l'uso degli snapshot non prevede alcun costo.

D: Cosa succede ai miei snapshot se elimino la mia cache ElastiCache per Redis?
Quando si elimina una cache ElastiCache per Redis, gli snapshot manuali vengono conservati. Hai anche la possibilità di creare uno snapshot finale prima di eliminare la cache. Gli snapshot di cache automatici non vengono conservati.

Miglioramenti al motore

D: Quali sono le differenze tra il motore in ElastiCache per Redis e quelli nella versione open source di Redis?
Il motore in ElastiCache per Redis è completamente compatibile con la versione open source, ma racchiude anche alcuni miglioramenti che ne potenziano prestazioni, affidabilità e stabilità. Ad esempio:

  • Possibilità di utilizzare più memoria: è possibile allocare maggiori volumi di memoria all'applicazione senza rischiare picchi di swapping durante sincronizzazioni e snapshot.
  • Sincronizzazione migliorata: la sincronizzazione è più affidabile, in particolare con carichi di lavoro onerosi e durante il ripristino in seguito a interruzioni di rete. Inoltre, le sincronizzazioni sono più rapide, perché sia il nodo principale sia le repliche non avvengono più su disco.
  • Failover più lineari: in caso di failover, la partizione viene ripristinata più rapidamente, perché le repliche non devono più scaricare i dati per completare una risincronizzazione completa col nodo principale.
  • Offload TLS e multiplexing IO: ElastiCache è progettato per utilizzare meglio le risorse della CPU disponibili gestendo determinati processi relativi alla rete su thread dedicati.

D: È necessario modificare il codice di un'applicazione per utilizzare il motore migliorato in ElastiCache?
No. Il motore migliorato è completamente compatibile con la versione open source di Redis, perciò potrai sfruttarne l'affidabilità e la stabilità senza apportare alcuna modifica al codice della tua applicazione.

D: Quanto costa utilizzare il motore migliorato?
Non sono previsti costi aggiuntivi per l'utilizzo del motore migliorato.

Crittografia

D: Cosa offre la crittografia a riposo per ElastiCache per Redis?
La crittografia a riposo offre meccanismi di protezione dall'accesso non autorizzato ai dati. Se abilitato, crittografa i seguenti aspetti:

  • Disco durante le operazioni di sincronizzazione, backup e swapping
  • Backup archiviati in Amazon S3

ElastiCache per Redis offre la crittografia a riposo predefinita (gestita dai servizi) oltre alla possibilità di utilizzare le tue chiavi AWS KMS simmetriche gestite dal cliente in AWS KMS. Consulta Crittografia a riposo per saperne di più.

D: Cosa offre la crittografia in transito per ElastiCache per Redis?
La funzionalità di crittografia in transito facilita la crittografia delle comunicazioni tra client ed ElastiCache per Redis, nonché tra i server Redis (repliche primarie e di lettura). Scopri di più sulla crittografia in transito di ElastiCache.

D: Come posso utilizzare la crittografia in transito, a riposo e AUTH Redis?
Crittografia in transito, crittografia a riposo, Redis AUTH e Role-Based Access Control (RBAC) sono funzionalità che puoi selezionare quando crei la cache di ElastiCache per Redis. Abilitando la crittografia in transito puoi scegliere di utilizzare AUTH Redis o RBAC, per una maggiore sicurezza e il controllo degli accessi.

D: È necessario eseguire azioni per rinnovare i certificati TLS?
No. ElastiCache gestisce scadenza e rinnovo delle certificazioni dietro le quinte. Non sono necessarie azioni da parte dell'utente per la manutenzione costante dei certificati.

D: Sono previsti costi aggiuntivi per l'utilizzo della crittografia?
No, non verrà addebitato alcun costo aggiuntivo per l'utilizzo della crittografia.

Datastore globale

D: Cos'è il datastore globale di ElastiCache?
Il datastore globale è una funzionalità di ElastiCache per Redis che offre repliche rapide, affidabili, sicure e interamente gestite in più regioni. Con il datastore globale, è possibile scrivere nella cache ElastiCache per Redis in una regione e disporre dei dati per la lettura in altri due cluster di replica in più regioni. Questa funzionalità ti permette così di beneficiare di letture a bassa latenza e di operazioni di ripristino di emergenza in più regioni.

Progettata per applicazioni in tempo reale, la funzionalità datastore globale per Redis supporta latenze di repliche in più regioni, normalmente inferiori al secondo, incrementando la reattività dell'applicazione, grazie alla fornitura di letture geolocalizzate più vicine agli utenti finali. Nell'improbabile eventualità di un calo delle prestazioni a livello regionale, è possibile promuovere uno dei cluster di replica integri in più regioni a cluster primario con funzionalità di lettura e scrittura complete. Una volta avviata, sarà necessario meno di un minuto per il completamento della promozione. Ciò consente alle applicazioni di conservare la loro disponibilità.

D: In quante regioni AWS è possibile effettuare le repliche?
Le repliche si possono effettuare al massimo in due regioni secondarie nell'ambito del datastore globale per Redis. Le cache situate nelle regioni secondarie possono essere utilizzati per gestire letture locali a bassa latenza e per il ripristino di emergenza, nell'improbabile eventualità di un calo delle prestazioni a livello regionale.

D: Quali versioni del motore supportano il datastore globale per Redis?
Il datastore globale è supportato su ElastiCache per Redis 5.0.6 e versioni successive.

D: Come posso creare un datastore globale?
È possibile configurare un datastore globale utilizzando un cluster esistente o creando un nuovo cluster da utilizzare come cluster principale. Puoi creare un datastore globale con pochi passaggi nella console di gestione ElastiCache o scaricando l'SDK AWS o l'interfaccia a riga di comando AWS più recenti. Il datastore globale è supportato in AWS CloudFormation.

D: ElastiCache esegue automaticamente il failover di un datastore globale per Redis per promuovere un cluster secondario in caso di riduzione delle prestazioni del cluster (Regione) principale?
No, ElastiCache non promuove automaticamente un cluster secondario in caso di riduzione delle prestazioni del cluster (Regione) principale. Puoi avviare manualmente il failover promuovendo un cluster secondario in modo che diventi quello primario. Il failover e la promozione del cluster secondario in genere vengono completati in meno di un minuto.

D: Come vengono protetti i dati quando utilizzo il datastore globale?
Il datastore globale utilizza la crittografia in transito per il traffico tra regioni per mantenere i dati al sicuro. Inoltre, puoi crittografare le cache principali e secondarie utilizzando la crittografia a riposo per garantire la protezione completa dei dati. Ogni cache primaria e secondaria può avere una chiave AWS KMS separata gestita dal cliente per la crittografia a riposo.

D: Quali parametri Obiettivo del punto di ripristino (RPO) e Obiettivo del tempo di ripristino (RTO) sono previsti con il datastore globale?
ElastiCache non fornisce un contratto sul livello di servizio per RPO e RTO. Il parametro RPO varia in base al ritardo della replica tra Regioni e dipende dalla latenza di rete tra Regioni e dalla congestione del traffico di rete tra Regioni. L'RPO del datastore globale in genere è inferiore a un secondo, quindi i dati scritti nella regione principale sono disponibili nelle regioni secondarie entro un secondo. Il parametro RTO del datastore globale in genere è inferiore a un minuto. Dopo l'avvio del failover su un cluster secondario, ElastiCache in genere lo promuove per le funzionalità di lettura e scrittura in meno di un minuto.

D: Quanto costa un datastore globale?
ElastiCache non addebita alcun costo per l'utilizzo del datastore globale per Redis. Paghi solo le cache primarie e secondarie nel datastore globale e il traffico per il trasferimento di dati tra regioni.

Suddivisione in livelli dei dati

D: Cos'è il livello di dati per ElastiCache per Redis?
Il livello dei dati fornisce una nuova opzione di prezzo per prestazioni per i carichi di lavoro Redis utilizzando gli SSD in ogni nodo cluster oltre ad archiviare i dati in memoria. Per i carichi di lavoro che hanno regolarmente accesso fino al 20% del loro set di dati generale e per le applicazioni che possono sopportare ulteriore latenza quando accedono ai dati sulla SSD. I nodi R6gd ElastiCache con memoria e SSD hanno una capacità totale di archiviazione circa cinque volte superiore e possono aiutarti a risparmiare fino al 60% se eseguiti al massimo dell'utilizzo rispetto ai nodi R6g ElastiCache con sola memoria.
 
D: Come funziona il livello di dati per ElastiCache per Redis?
Il livello dei dati funziona spostando in modo automatico e trasparente gli elementi utilizzati meno recentemente dalla memoria agli SSD NVMe attaccati localmente quando viene utilizzata completamente la capacità di memoria. Quando si accede a un elemento appena spostato sull'SSD, ElastiCache lo sposta di nuovo in memoria in modo asincrono prima di servire la richiesta.
 
D: Che prestazioni posso aspettarmi quando utilizzo i cluster con i livelli dei dati?
I livelli dei dati sono progettati per ottenere un impatto minimo sulle prestazioni dell'applicazione. Ipotizzando valori di stringa da 500 byte, ci si può aspettare una latenza aggiuntiva di 300 µs in media per le richieste ai dati memorizzati su SSD rispetto a quelli in memoria.
 
D: Quali versioni del motore supportano i livelli dei dati?
ElastiCache per Redis supporta i livelli dei dati per le versioni 6.2 o superiori di Redis.
 
D: Quali tipi di nodo supportano i livelli dei dati?
ElastiCache per Redis supporta i livelli dei dati sui cluster Redis che utilizzano i nodi R6gd.
 
D: Quali sono le funzionalità di ElastiCache supportate per i cluster che utilizzano i livelli dei dati?
Tutti i comandi di Redis e la maggior parte delle funzionalità di ElastiCache sono supportate quando si utilizzano i livelli dei dati. Consulta questo documento per una lista delle funzionalità che non sono supportate nei cluster che utilizzano i livelli dei dati.
 
D: Qual è il costo per i livelli dei dati su ElastiCache per Redis?
Non sono previsti costi aggiuntivi per l'utilizzo dei livelli dei dati oltre al costo orario del nodo. I nodi con i livelli dei dati sono disponibili con un costo on demand e come nodi riservati. Per informazioni sui costi, consulta la pagina dei prezzi di ElastiCache.

Memcached

Funzionalità di Memcached

D: Cosa posso memorizzare nella cache con ElastiCache per Memcached?
È possibile memorizzare nella cache una varietà di oggetti utilizzando ElastiCache per Memcached. Questi oggetti includono il contenuto di datastore persistenti, come Amazon Relational Database Service (Amazon RDS), Amazon DynamoDB o database autogestiti ospitati su Amazon EC2, pagine Web generate dinamicamente (con Nginx, ad esempio), dati di sessione transitori che potrebbero non richiedere un backup persistente. Può anche essere utilizzato per l'implementazione di contatori ad alta frequenza che consentano di distribuire controlli di ammissione in applicazioni Web con volumi elevati.

D: Posso utilizzare ElastiCache per Memcached con un datastore AWS persistente come Amazon RDS o Amazon DynamoDB?
Sì. ElastiCache è il front-end ideale per datastore come DynamoDB e Amazon RDS, poiché fornisce accesso ai dati di secondo livello con prestazioni elevate per applicazioni con frequenza di richieste molto elevata e/o requisiti di bassa latenza.

D: Attualmente utilizzo Memcached. Come posso migrare a ElastiCache?
ElastiCache è conforme al protocollo con Memcached. Perciò è possibile utilizzare le operazioni standard Memcached come get, set, incr e decr esattamente nello stesso modo in cui li si utilizza nelle implementazioni esistenti di Memcached. ElastiCache supporta i protocolli di testo e binari. Inoltre supporta la maggior parte dei risultati statistici standard, che possono essere visualizzati anche come grafi tramite CloudWatch. Insomma, puoi passare ad ElastiCache senza ricompilare o ricollegare le tue applicazioni: le librerie che utilizzi continueranno a funzionare. Per configurare i server cache ai quali accede un'applicazione, aggiorna il file di configurazione relativo a Memcached dell'applicazione perché includa gli endpoint dei server assegnati (i nodi). Puoi utilizzare l'opzione Copia endpoint di nodi nella console o l'API DescribeCacheClusters per ottenere un elenco degli endpoint. Come per ogni procedura di migrazione, consigliamo di effettuare un test approfondito della nuova distribuzione di ElastiCache prima di completare la migrazione dalla soluzione attuale.

Puoi accedere ai cluster ElastiCache in un Amazon VPC dalla rete Amazon EC2 o dal tuo data center. Per maggiori dettagli, consulta Modelli di accesso di Amazon VPC. ElastiCache impiega le voci DNS per consentire alle applicazioni client di individuare i server (nodi). I nomi DNS dei nodi rimangono costanti, mentre l'indirizzo IP può cambiare nel tempo, per esempio quando vengono sostituiti dopo un errore su un'installazione al di fuori di VPC. Prosegui nella lettura di queste domande frequenti per ulteriori informazioni su come affrontare errori nei nodi.

Configurazione e scalabilità

D: Come si seleziona il tipo di nodo appropriato per un'applicazione?
Non esiste una risposta esatta a questa domanda; con ElastiCache, tuttavia, non è necessario calcolare con la massima precisione il numero di nodi necessari, poiché è possibile aggiungerli o rimuoverli in un secondo momento con la massima semplicità. Puoi anche utilizzare ElastiCache serverless per semplificare l'esecuzione di una cache Memcached ad alta disponibilità. Per scegliere la configurazione iniziale, si devono prendere in considerazione due aspetti correlati:

  • La memoria totale necessaria alla cache per raggiungere l'hit rate previsto della cache
  • Il numero di nodi necessari per consentire all'applicazione prestazioni accettabili senza sovraccaricare il back-end di database in caso di errori dei nodi.

La quantità di memoria necessaria dipende dalle dimensioni del dataset e dagli schemi di accesso all'applicazione. Per migliorare la tolleranza ai guasti, quando hai un'idea approssimativa della memoria totale necessaria, dividi questo valore per un numero di nodi sufficiente perché l'applicazione possa continuare a funzionare anche nel caso in cui uno o due nodi dovessero arrestarsi. Ad esempio, se la memoria richiesta corrisponde a 13 GB, è opportuno utilizzare due nodi cache.m4.large invece di un nodo cache.m4.xlarge. È importante che i sistemi correlati, ad esempio i database, non si sovraccarichino nel caso in cui l'hit rate della cache si riducesse temporaneamente durante il ripristino di uno o più nodi. Per ulteriori informazioni, consulta la Guida per l'utente di ElastiCache.

D: Un cluster può estendersi su più zone di disponibilità?
Sì. Quando si crea un cluster o si aggiungono nodi a un cluster esistente, si possono scegliere le zone di disponibilità per i nuovi nodi. Si può specificare il numero di nodi richiesto in ogni zona di disponibilità o selezionare Distribuisci i nodi nelle zone. Se il cluster si trova in un Amazon VPC, i nodi possono essere solo collocati in zone di disponibilità che fanno parte del gruppo di sottoreti di cache selezionato. Per ulteriori informazioni, consulta la documentazione del VPC di ElastiCache.

D: Quanti nodi è possibile eseguire per ogni regione in ElastiCache per Memcached?
È possibile eseguire un massimo di 300 nodi per Regione. Se occorre un numero maggiore di nodi, compila il modulo di richiesta di aumento dei limiti per ElastiCache.

D: Qual è la risposta di ElastiCache all'errore di un nodo?
Il servizio rileva l'errore del nodo ed effettua le seguenti operazioni automatiche:

  • ElastiCache ripristina il nodo con l'acquisizione di nuove risorse e reindirizza il nome DNS esistente del nodo verso le nuove risorse. Per le installazioni Amazon VPC, ElastiCache assicura che sia il nome DNS sia l'indirizzo IP del nodo non varino quando i nodi vengono ripristinati in caso di guasto. Per le installazioni al di fuori di Amazon VPC, ElastiCache assicura che il nome DNS dei nodi rimanga costante; tuttavia l'indirizzo IP del nodo può variare.
  • Se un argomento SNS viene associato al cluster, quando il nuovo nodo viene configurato ed è pronto per l'utilizzo ElastiCache invia una notifica SNS per avvisare che il ripristino del nodo è stato completato. In questo modo è possibile configurare le applicazioni in modo che forzino la librerie client di Memcached a ricollegarsi con i nodi ripristinati. Si tratta di un'operazione importante, poiché alcune librerie di Memcached interrompono l'utilizzo di un server (nodo) a tempo indeterminato in caso di errori di comunicazione o timeout.

D: Se i requisiti di memoria di un'applicazione sono maggiori del previsto, in che modo è possibile aumentare la memoria totale con ElastiCache?
È possibile aggiungere nodi supplementari al cluster di Memcached esistente tramite l'opzione "Aggiungi nodo" nella scheda "Nodi" per il cluster di cache nella console oppure richiamando l'API ModifyCacheCluster.

Compatibilità

D: In che modo ElastiCache interagisce con altri servizi AWS?
ElastiCache è la soluzione ideale come front-end per i servizi AWS, ad esempio Amazon RDS e Amazon DynamoDB, poiché offre una latenza estremamente bassa per applicazioni che richiedono prestazioni elevate e alleggerisce il volume delle richieste mentre i servizi offrono elevata durabilità dei dati. Il servizio può essere utilizzato per migliorare le prestazioni delle applicazioni in combinazione con Amazon EC2 ed Amazon EMR.

D: ElastiCache è particolarmente adatto a un linguaggio di programmazione specifico?
Le librerie client di Memcached sono disponibili per molti, se non tutti i linguaggi di programmazione più utilizzati. In caso di problemi con client specifici di Memcached durante l'utilizzo di ElastiCache, contattaci sul forum della community di ElastiCache.

D: Quali delle librerie più utilizzate di Memcached sono compatibili con ElastiCache?
ElastiCache non richiede librerie client specifiche e funziona con le librerie client Memcached esistenti senza ricompilazione o ricollegamento delle applicazioni (Memcached 1.4.5 e versioni successive). Gli esempi includono libMemCached (C) e le librerie basate su di essa (ad esempio, PHP, Perl, Python), SpyMemCached (Java) e fauna (Ruby).

Individuazione automatica

D: Cos'è l'individuazione automatica e a cosa serve?
L'individuazione automatica è una funzionalità che fa risparmiare tempo e sforzi agli sviluppatori e riduce la complessità delle loro applicazioni. La funzionalità di individuazione automatica consente il rilevamento automatico di nodi di cache sui client quando vengono aggiunti o eliminati nodi da un cluster ElastiCache. Per gestire le modifiche di appartenenza al cluster, gli sviluppatori dovevano aggiornare manualmente l'elenco degli endpoint di nodi di cache. A seconda dell'architettura dell'applicazione del client, di solito è necessaria un'inizializzazione del client, ottenuta arrestando l'applicazione e poi riavviandola, che risulta in un periodo di inattività. Grazie all’individuazione automatica, ElastiCache elimina questa complessità. Con l'individuazione automatica, oltre alla conformità in senso inverso al protocollo Memcached, ElastiCache fornisce ai client le informazioni sull'appartenenza al cache cluster. Un client idoneo a elaborare le informazioni supplementari si riconfigura da solo,senza alcuna inizializzazione, per utilizzare i nodi più correnti di un cluster ElastiCache.

D: Come funziona l'individuazione automatica?
Un cluster ElastiCache può essere creato con i nodi che possono essere indirizzabili tramite endpoint denominati. Con l'individuazione automatica, al cluster ElastiCache viene conferito un endpoint di configurazione unico che è un record DNS valido per tutta la durata del cluster. Il record DNS contiene i nomi DNS dei nodi che appartengono al cluster. ElastiCache si assicura che l'endpoint di configurazione punti sempre almeno a uno di questi nodi di "destinazione". Una query al nodo di destinazione restituisce gli endpoint per tutti gli altri nodi del cluster in questione. Dopodiché ci si può collegare ai nodi di cluster come prima e utilizzare i comandi del protocollo di Memcached come get, set, incr e decr. Per maggiori dettagli, consulta la documentazione. Per utilizzare l'individuazione automatica è necessario un client idoneo. I client di individuazione automatica per .Net, Java e PHP possono essere scaricati dalla console di ElastiCache. Al momento dell'inizializzazione, il client determina automaticamente i membri attuali del cluster ElastiCache utilizzando l'endpoint di configurazione. Quando si effettuano modifiche al cluster di cache aggiungendo o eliminando nodi oppure se un nodo viene sostituito in seguito a un errore, il client di individuazione automatica determina le modifiche e non è necessario inizializzare manualmente i client.

D: Che cosa occorre per cominciare a usare l'individuazione automatica?
Per cominciare, scarica il client del cluster ElastiCache facendo clic sul collegamento "Scarica il client del cluster ElastiCache sulla console ElastiCache. Prima di scaricare bisogna possedere un account ElastiCache; se non ne hai già uno, puoi registrarti sulla pagina dei dettagli di ElastiCache. Dopo aver scaricato il client, si può cominciare a impostare e attivare il cluster ElastiCache tramite la console di ElastiCache. Maggiori dettagli sono disponibili nella documentazione.

D: Se continuo a utilizzare i miei client Memcached con il cluster ElastiCache, posso accedere a questa funzionalità?
No, la funzionalità di individuazione automatica non è disponibile con i client Memcached esistenti. Per utilizzare l'individuazione automatica, un client deve poter utilizzare un endpoint di configurazione e determinare gli endpoint del nodo del cluster. Puoi utilizzare il client del cluster ElastiCache o estendere il client di Memcached esistente in modo che includa il set di comandi di individuazione automatica.

D: Quali sono i requisiti minimi in hardware e software per l'individuazione automatica?
Per approfittare dell'individuazione automatica, è necessario utilizzare un client idoneo all'individuazione automatica per collegarsi a un cluster ElastiCache. ElastiCache attualmente supporta client in grado di eseguire l’individuazione automatica per .Net, Java e PHP. Questi possono essere scaricati dalla console ElastiCache. I nostri clienti possono creare client per qualunque altro linguaggio sulla base dei client Memcached più utilizzati disponibili.

D: Come si modifica o scrive un client Memcached perché supporti l'individuazione automatica?
È possibile prendere qualunque libreria di client Memcached e aggiungere il supporto per l'individuazione automatica. Se vuoi aggiungere o modificare un client per abilitare l'individuazione automatica, consulta la documentazione del set di comandi di individuazione automatica.

D: Posso continuare a lavorare con il mio client Memcached se non ho bisogno dell'individuazione automatica?
Sì, ElastiCache è ancora conforme al protocollo Memcached e non richiede modifiche dei client. Tuttavia, per sfruttare la funzione di individuazione automatica, abbiamo migliorato le funzionalità del client Memcached. Se scegli di non utilizzare il client del cluster ElastiCache, puoi continuare a utilizzare i tuoi client o modificare la tua libreria di client perché riconosca il set di comandi di individuazione automatica.

D: Posso avere client eterogenei quando uso l'individuazione automatica?
Sì, lo stesso cluster ElastiCache può essere collegato contemporaneamente a un client idoneo all'individuazione automatica e al client Memcached tradizionale. ElastiCache resta conforme al 100% a Memcached.

D: Posso smettere di utilizzare l'individuazione automatica?
Sì, è possibile smettere di utilizzare l'individuazione automatica in qualunque momento. L'individuazione automatica può essere disattivata specificando il modo operativo durante l'inizializzazione del client del cluster ElastiCache. Inoltre, poiché ElastiCache continua a supportare Memcached, si può continuare a utilizzare qualunque client conforme al protocollo Memcached come prima.

Gestione della versione del motore

D: È possibile controllare se e quando la versione del motore del cluster ElastiCache viene aggiornata a una nuova versione supportata?
ElastiCache consente di controllare se e quando il software conforme al protocollo di Memcached di un cluster viene aggiornato a una nuova versione supportata da ElastiCache. Questa soluzione consente di mantenere la compatibilità con versioni specifiche di Memcached, testare nuove versioni sull'applicazione prima di distribuirle in produzione ed eseguire aggiornamenti della versione secondo i propri tempi e le proprie esigenze. Poiché gli aggiornamenti della versione presentano rischi relativi alla compatibilità, non saranno eseguiti automaticamente e dovranno essere applicati manualmente. Questo approccio all'applicazione di patch software consente un controllo completo degli aggiornamenti della versione, delegando al contempo le operazioni di applicazione di patch a ElastiCache. Per ulteriori informazioni sulla gestione della versione, consulta le domande frequenti di seguito. In alternativa, puoi consultare la Guida per l'utente di ElastiCache. Mentre la funzionalità di gestione della versione del motore conferisce il controllo completo sulle modalità di applicazione delle patch, il cluster potrà essere aggiornato automaticamente con le patch più recenti se vengono individuate vulnerabilità alla sicurezza nel sistema o nel software di cache.

D: In che modo è possibile specificare quale versione Memcached supportata deve eseguire un cluster?
Quando viene creato un nuovo cluster, è possibile specificare qualunque versione supportata (principale e/o secondaria). Se desideri avviare un aggiornamento a una versione supportata del motore, seleziona l'opzione "Modifica" del relativo cluster. Specifica quindi la versione alla quale vuoi eseguire l'aggiornamento nel campo "Versione del motore del cache". L'aggiornamento verrà applicato immediatamente, se l'opzione "Applicazione immediata" è attiva, oppure durante la successiva finestra di manutenzione del cluster.

D: È possibile testare il cluster con una nuova versione prima di eseguire l'aggiornamento?
Sì. Per farlo, crea un cluster con la nuova versione del motore. Configura quindi l'applicazione di sviluppo o di staging in modo che reindirizzi a questo cluster, così potrai procedere con il testing e decidere se aggiornare o meno il cluster originale.

D: ElastiCache fornisce linee guida su come garantire il supporto di nuove versioni di Memcached e/o impostare versioni attualmente supportate come obsolete?
Nel prossimo futuro progettiamo di supportare versioni supplementari, primarie e secondarie, di Memcached per ElastiCache. Il numero delle nuove versioni supportate in un anno varia in base alla frequenza e al contenuto delle versioni di Memcached e ai risultati di un esame approfondito della versione da parte del nostro team di tecnici.

D: Quali operazioni è necessario eseguire per effettuare l'aggiornamento alla versione più recente di Memcached?
Per aggiornare un cluster Memcached esistente è necessario utilizzare il processo “Modifica”. Quando si esegue l'aggiornamento da una versione precedente alla versione 1.4.33 o successiva di Memcached, è importante verificare che i valori esistenti del parametro max_chunk_size soddisfino le condizioni necessarie per il parametro slab_chunk_max. Consulta i prerequisiti dell'aggiornamento.

Scopri di più sui prezzi di ElastiCache per Redis

Visita la pagina dei prezzi
Tutto pronto per cominciare?
Inizia a usare ElastiCache per Redis
Hai altre domande?
Contattaci