Come faccio a testare la mia connessione a un cluster Amazon ElastiCache Redis o Memcached?
Voglio testare la mia connessione a un cluster Amazon ElastiCache per Redis o Amazon ElastiCache per Memcached da un client basato su Linux.
Breve descrizione
Amazon ElastiCache supporta due motori chiave-valore in memoria, Redis e Memcached. Quando avvii un cluster di cache ElastiCache, scegli il motore che preferisci.
Nota: questa risoluzione riguarda il test di una connessione solo per un uso non pianificato. Per un elenco dei client Redis supportati, consulta la documentazione nel sito Web Redis.
Per Memcached con Java, .NET o PHP, è consigliabile utilizzare i client ElastiCache con Auto Discovery. I client ElastiCache con Auto Discovery identificano automaticamente i nuovi nodi ElastiCache quando vengono aggiunti al cluster di cache.
Risoluzione
Creazione del cluster ElastiCache
Nota: se ti stai connettendo a un cluster esistente, vai al passaggio successivo.
Per informazioni sulla creazione di un cluster Redis ElastiCache, consulta Creazione di un cluster (Guida per l'utente di Amazon ElastiCache per Redis).
Per informazioni sulla creazione di un cluster Memcached, consulta Creazione di un cluster (Guida per l'utente di Amazon ElastiCache per Memcached).
Connessione al cluster Redis ElastiCache
ElastiCache supporta sia i cluster Redis disabilitati che quelli abilitati per la modalità cluster. Per testare una connessione a questi cluster, usa l'utilità redis-cli o redis6-cli. La versione più recente di redis-cli e redis6-cli supporta il protocollo SSL/TLS per la connessione a cluster con crittografia e autenticazione attivate. Scarica e compila l'utilità redis-cli sull'istanza di Amazon Elastic Compute Cloud (Amazon EC2) da cui ti stai connettendo. Per istruzioni su come connettersi a un'istanza Amazon EC2, consulta Tutorial: Nozioni di base sulle istanze Amazon EC2 Linux.
Nota: l'esempio seguente utilizza istanze EC2 che eseguono Amazon Linux, Amazon Linux 2 e Amazon Linux 2023. Per la documentazione sull'installazione e la compilazione di redis-cli e redis6-cli con altre distribuzioni Linux, consulta la documentazione relativa al tuo sistema operativo specifico.
Amazon Linux 2023
sudo yum install redis6 -y
Amazon Linux 2
$sudo amazon-linux-extras install epel -y$sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel -y $sudo wget http://download.redis.io/redis-stable.tar.gz $sudo tar xvzf redis-stable.tar.gz $cd redis-stable $sudo make BUILD_TLS=yes
Amazon Linux
$sudo yum install gcc jemalloc-devel openssl-devel tcl tcl-devel clang wget$sudo wget http://download.redis.io/redis-stable.tar.gz $sudo tar xvzf redis-stable.tar.gz $cd redis-stable $sudo CC=clang make BUILD_TLS=yes
Per impostazione predefinita, redis-cli utilizza una connessione TCP non crittografata quando si connette a Redis. Durante la compilazione di redis-cli, l'opzione BUILD_TLS=yes attiva SSL/TLS. Se il cluster a cui ti connetti non dispone di crittografia in transito, non è necessaria l'opzione Build_TLS=yes. Nei passaggi seguenti, i cluster crittografati o non crittografati fanno riferimento alla crittografia in transito.
Nota: quando installi il pacchetto redis6, installi automaticamente redis6-cli con il supporto SSL/TLS predefinito.
Per informazioni sulla ricerca degli endpoint Redis, consulta Individuazione degli endpoint di connessione.
Connessione a un cluster non crittografato disabilitato in modalità cluster
-
Per connetterti al cluster, esegui il seguente comando. Nel seguente comando di esempio, sostituisci change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com e 6379 con l'endpoint del tuo cluster e il tuo numero di porta:
Amazon Linux 2023
redis6-cli -h change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com -p 6379
Amazon Linux e Amazon Linux 2
src/redis-cli -h change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com -p 6379
Questo comando restituisce un prompt dei comandi Redis simile al seguente esempio:
change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com:6379>
-
Dopo esserti connesso al cluster, puoi eseguire comandi Redis come i seguenti esempi:
set a "hello"OK get a "hello" quit
Per ulteriori informazioni, consulta Commands sul sito Web redis.io.
Connessione a un cluster non crittografato abilitato in modalità cluster
Per connetterti al cluster, esegui il seguente comando. Nel seguente comando di esempio, sostituisci cluster-disable-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com e 6379 con l'endpoint del tuo cluster e il tuo numero di porta:
Amazon Linux 2023
redis6-cli -h cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com -c -p 6379
Amazon Linux e Amazon Linux 2
src/redis-cli -h cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com -c -p 6379
Nota: in questi comandi, l'opzione -c attiva la modalità cluster dopo i reindirizzamenti -ASK e -MOVED. Per ulteriori informazioni, consulta Client and Server roles in the Redis cluster protocol sul sito Web redis.io.
Il risultato nel prompt dei comandi di Redis sarà simile al seguente esempio:
cluster-disabled-rediscli.54awdt.clustercfg.use1.cache.amazonaws.com:>
Ora puoi eseguire i comandi Redis. Il reindirizzamento avviene a causa dell'opzione**-c**. Se non attivi il reindirizzamento, il comando restituirà l'errore MOVED. Per ulteriori informazioni sull'errore MOVED, consulta Redis cluster specification sul sito Web Redis.
Ecco alcuni esempi di comandi Redis:
set x Hi-> Redirected to slot [16287] located at 172.31.28.122:6379 OK set y Hello OK get y "Hello" set z Bye -> Redirected to slot [8157] located at 172.31.9.201:6379 OK get z "Bye" get x -> Redirected to slot [16287] located at 172.31.28.122:6379 "Hi"
Connessione a un cluster con crittografia e autenticazione attivate
Hai la possibilità di attivare AUTH. Tuttavia, per attivare il comando AUTH, è necessario attivare la crittografia dei dati in transito. Per i dettagli sulla crittografia e l'autenticazione ElastiCache, consulta Crittografia in transito ElastiCache (TLS).
Per connetterti a cluster criptati sia in modalità cluster abilitata che disabilitata, utilizza l'opzione --tls con redis-cli. Se un cluster ha un token AUTH impostato, puoi utilizzare l'opzione -a per fornire una password AUTH.
Nota: nella versione 7 e successive di Redis, la crittografia in transito è attivata per i cluster ElastiCache esistenti. Puoi modificare la configurazione TLS dei tuoi cluster Redis senza doverli ricostruire, effettuare un nuovo provisioning o incidere sulla disponibilità delle applicazioni. Quando attivi la crittografia in transito, aggiorna la configurazione del client per utilizzare i nuovi endpoint specifici per TLS. Per ulteriori informazioni, consulta Best practice per stabilire connessioni prima, durante e dopo l'abilitazione della crittografia dei dati in transito.
Negli esempi seguenti, sostituisci l'endpoint e la porta del tuo cluster.
Connessione ai cluster crittografati disabilitati in modalità cluster
Il seguente comando di esempio si connette a un cluster con crittografia e autenticazione attivate:
Amazon Linux 2023
redis6-cli -h master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com --tls -a PASSWORD -p 6379
Amazon Linux e Amazon Linux 2
src/redis-cli -h master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com --tls -a PASSWORD -p 6379
Il seguente comando di esempio si connette a un cluster in cui è attivata solo la crittografia:
Amazon Linux 2023
redis6-cli -h master.cluster-disabled-noauth.54awdt.use1.cache.amazonaws.com --tls -p 6379
Amazon Linux e Amazon Linux 2
src/redis-cli -h master.cluster-disabled-noauth.54awdt.use1.cache.amazonaws.com --tls -p 6379
Connessione ai cluster crittografati abilitati in modalità cluster
Il seguente comando di esempio si connette a un cluster con crittografia e autenticazione attivate:
Amazon Linux 2023
redis6-cli -h clustercfg.tlswithauth.54awdt.use1.cache.amazonaws.com --tls -c -a PASSWORD -p 6379
Amazon Linux e Amazon Linux 2
src/redis-cli -h clustercfg.tlswithauth.54awdt.use1.cache.amazonaws.com --tls -c -a PASSWORD -p 6379
Il seguente comando di esempio si connette a un cluster in cui è attivata solo la crittografia:
Amazon Linux 2023
redis6-cli -h clustercfg.tlswithoutauth.54awdt.use1.cache.amazonaws.com --tls -c -p 6379
Amazon Linux e Amazon Linux 2
src/redis-cli -h clustercfg.tlswithoutauth.54awdt.use1.cache.amazonaws.com --tls -c -p 6379
Dopo aver effettuato la connessione al cluster, puoi eseguire i comandi Redis come mostrato negli esempi precedenti per i cluster non crittografati.
Alternativa a redis-cli
Per un breve test senza passare attraverso la compilazione di redis-cli, puoi connetterti a un cluster che non è abilitato alla modalità cluster. Per eseguire questa operazione, utilizza telnet o openssl. Nei seguenti comandi di esempio, sostituisci l'endpoint e la porta del tuo cluster.
Nota: per installare l'utilità telnet, consulta la sezione seguente Connessione a un cluster Memcached senza crittografia in transito.
Dopo la connessione, puoi eseguire i comandi Redis come mostrato negli esempi precedenti.
Il seguente comando di esempio si collega a un cluster con modalità di crittografia o autenticazione disabilitata:
openssl s_client -connect master.rediscli-cluster-disabled.54awdt.use1.cache.amazonaws.com:6379
Se il cluster ha una password impostata, effettua prima la connessione. Dopo la connessione, utilizza il seguente comando per autenticare il cluster, poi premi il tastoInvio. Nel seguente comando di esempio, sostituisci Password con la password del tuo cluster:
Auth Password
Il comando di esempio seguente si collega a un cluster con la modalità cluster disabilitata che non ha la crittografia o l'autenticazione attivate:
telnet change-node-type.54awdt.ng.0001.use1.cache.amazonaws.com 6379
Connessione a un cluster ElastiCache Memcached
Per connetterti a un cluster Memcached, utilizza l'utilità telnet.
Connessione a un cluster Memcached senza crittografia in transito
-
Installa l'utilità telnet sull'istanza EC2 da cui stai testando la connessione.
Per i sistemi basati su CentOS, esegui il seguente comando:
$sudo yum install telnet
Per i sistemi basati su Debian (Ubuntu), esegui il seguente comando:
$sudo apt-get install telnet
Per istruzioni su come connettersi a un'istanza Amazon EC2, consulta Tutorial: Nozioni di base sulle istanze Amazon EC2 Linux.
-
Per connetterti all'endpoint, esegui il seguente comando di esempio. Sostituisci mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com con il tuo endpoint e 11211 con la porta del tuo nodo:
telnet mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 11211
L'output sarà simile al seguente esempio:
Trying 128.0.0.1...Connected to mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com. Escape character is '^]'. >
Hai effettuato la connessione a un nodo. Puoi eseguire i comandi Memcached come mostrato nel seguente output di esempio:
set a 0 0 5hello STORED get a VALUE a 0 5 hello END
Connessione a un cluster MemCached con crittografia in transito
La crittografia in transito è supportata sui cluster che eseguono Memcached versione 1.6.12 e successive. Telnet non utilizza la crittografia. Per connetterti a un cluster MemCached abilitato alla crittografia, utilizza il client openssl.
Nota: è possibile attivare la crittografia dei dati in transito su un cluster solo durante la sua creazione. Non è possibile modificare il cluster per attivare e disattivare la crittografia in transito. Per ulteriori informazioni, consulta Crittografia in transito ElastiCache (TLS).
Per connetterti all'endpoint, esegui il seguente comando di esempio. Sostituisci testwithtls.qtyxq7.cfg.apse2.cache.amazonaws.com con il tuo endpoint e 11211 con la porta del tuo nodo:
openssl s_client -quiet -crlf -connect testwithtls.qtyxq7.cfg.apse2.cache.amazonaws.com:11211
Ecco un esempio di output:
depth=2 C = US, O = Amazon, CN = Amazon Root CA 1 verify return:1 depth=1 C = US, O = Amazon, CN = Amazon RSA 2048 M02 verify return:1 depth=0 CN = *.testwithtls.qtyxq7.apse2.cache.amazonaws.com verify return:1
Hai effettuato la connessione a un nodo. Puoi eseguire i comandi Memcached come mostrato nel seguente output di esempio:
set a 0 0 5hello STORED get a VALUE a 0 5 hello END
Video correlati
Contenuto pertinente
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa
- AWS UFFICIALEAggiornata 2 anni fa