Connessione a un cluster cache OCI
OCI Cache fornisce l'accesso a un cluster tramite un endpoint privato.
Con gli endpoint privati, il traffico non passa attraverso Internet. È possibile connettersi al cluster solo da un client all'interno della stessa VCN del cluster o di un'altra VCN con gateway e regole di instradamento appropriati configurati.
Il comandoKEYS non è supportato per l'uso regolare negli ambienti di produzione, viene usato solo per il debug e per le operazioni speciali. Quando si invia il comando KEYS a un cluster, è possibile che il cluster subisca un crash o un peggioramento delle prestazioni.
Per trovare le chiavi in un sottoinsieme dello spazio di chiavi, usare il comando SCAN o un tipo di dati set.
Limitazioni e considerazioni
- È possibile connettersi ai nodi di un cluster solo utilizzando i nomi di dominio completamente qualificati (FQDN, Fully Qualified Domain Names) forniti dal servizio. Per i cluster non con partizionamento orizzontale, gli FQDN fanno riferimento agli endpoint privati nei nodi primari o di replica del cluster. Vedere Recupero dei dettagli di connessione di un cluster cache OCI. Per i cluster con partizionamento orizzontale, i nomi FQDN fanno riferimento agli endpoint privati nel nodo di ogni partizione. Vedere Recupero dei dettagli di connessione di un cluster con partizionamento orizzontale della cache OCI.Importante
Non utilizzare gli indirizzi IP per risolvere i nodi nella topologia. Per impostazione predefinita, OCI Cache supporta solo le connessioni TLS con i cluster, indipendentemente dal client dal quale ci si connette. Se lo scenario in uso richiede la connessione senza TLS, contattare il supporto.
Se la versione del motore cache per il cluster è
REDIS_7_0
, è necessaria l'interfaccia CLI Redis versione 6 o successiva, si consiglia di utilizzare l'interfaccia CLI Redis versione 7. Se la versione del motore cache èVALKEY_7_2
, è richiesta la versione CLI di Valkey 7.2. Per ulteriori informazioni, vedere Connessione con l'interfaccia CLI Valkey o l'interfaccia CLI Redis.Quando ci si connette a database come OCI Cache, utilizzare il connection pooling come buona prassi di sviluppo. Se il numero di connessioni al cluster supera 1024, potrebbe causare un carico eccessivo sul processo del servizio e rallentare le risposte. Consultare la documentazione relativa al framework o alla libreria utilizzata per le procedure di codifica consigliate.
Quando crei un cluster, OCI Cache crea e gestisce il set di istanze di computazione che costituiscono i nodi del cluster. Queste istanze sono le uniche supportate come nodi cluster. Non è possibile collegare le istanze create separatamente come nodo per il cluster. Se si tenta di collegare istanze aggiuntive al cluster, il cluster immetterà uno stato del ciclo di vita
FAILED
.Qualsiasi libreria client Valkey o Redis utilizzata per connettersi a un cluster con partizionamento orizzontale deve supportare Valkey o Redis
CLUSTER MODE
con il supporto del nome host.
Informazioni di connessione al cluster non con partizionamento orizzontale
Le informazioni di connessione del cluster includono gli endpoint seguenti utilizzati per connettersi al cluster:
Endpoint primario: l'endpoint per il nodo primario del cluster. Questo endpoint si connette sempre al nodo configurato come primario, anche se l'istanza di base configurata come nodo primario è stata modificata.
Endpoint repliche: questo è l'endpoint per i nodi di replica del cluster. Questo endpoint si connette sempre a un nodo configurato come replica, anche se per i cluster con più nodi di replica, potrebbe non essere sempre la stessa replica.
Endpoint dei nodi: questi sono gli endpoint diretti per ogni istanza di nodo. Utilizzare questi endpoint solo per le connessioni se si è verificato che si sta effettuando la connessione al tipo di nodo a cui si prevede di connettersi. A volte l'istanza di base del nodo primario potrebbe essere cambiata. Per garantire la connessione al nodo primario, utilizzare l'endpoint primario.
Per informazioni su come visualizzare queste informazioni, vedere Ottenere i dettagli di connessione di un cluster cache OCI.
Informazioni sulla connessione al cluster con partizionamento orizzontale
I cluster con partizionamento orizzontale non dispongono di endpoint primari o di replica a livello di cluster utilizzati per connettersi al cluster. Utilizzare invece gli endpoint privati per i nodi primari delle partizioni di un cluster. Per informazioni su come ottenere queste informazioni, vedere Ottenere i dettagli di connessione del cluster con partizionamento orizzontale di una cache OCI. Si consiglia di specificare gli endpoint privati per le prime tre partizioni del cluster nelle informazioni di connessione dell'applicazione.
Regola di sicurezza per la connessione ai cluster
Per abilitare le connessioni a un cluster, la VCN del cluster deve disporre di una regola di sicurezza in entrata configurata con i seguenti valori:
-
Stateless: No
-
Protocollo IP: TCP
-
Intervallo porte di origine: tutto
-
Intervallo di porte di destinazione: 6379
-
Consente: TCP per le porte: 6379
Il servizio Networking fornisce due funzioni che è possibile utilizzare per applicare una regola di sicurezza a una VCN, agli elenchi di sicurezza e ai gruppi di sicurezza di rete (NSG). OCI Cache supporta entrambe le funzioni. Per ulteriori informazioni, vedere Lista di sicurezza per i cluster e Uso di un gruppo NSG per i cluster.
Con le liste di sicurezza, la regola di sicurezza si applica a tutte le VCN all'interno di una subnet. Assicurarsi che la subnet da cui l'applicazione client si connette al cluster cache OCI disponga di una lista di sicurezza di uscita che consenta la comunicazione con la cache OCI sulla porta di destinazione 6379.
Se si desidera che la regola di sicurezza si applichi solo a un subset di VCN, utilizzare un gruppo NSG. Per ulteriori informazioni sulle differenze tra i gruppi di sicurezza e i gruppi NSG, vedere Confronto tra le liste di sicurezza e i gruppi di sicurezza di rete.
Lista di sicurezza per i cluster
Quando crei un cluster, per rendere i dati accessibili dal cluster, OCI Cache crea una lista di sicurezza con una regola di sicurezza in entrata con conservazione dello stato per il traffico TCP sulla porta di destinazione 6379 per la VCN del cluster.
È possibile verificare la lista di sicurezza per questa regola effettuando le operazioni riportate di seguito.
-
Nella pagina della lista Cluster selezionare il cluster che si desidera utilizzare. Se è necessaria assistenza per trovare la pagina della lista o il cluster, vedere Elenca cluster cache OCI.
-
Nella pagina dei dettagli del cluster, selezionare il collegamento Subnet nella scheda Informazioni sul cluster.
-
Nella pagina della lista della subnet selezionare Sicurezza.
-
Nella pagina Elenchi di sicurezza selezionare redis-security-list.
-
Nella pagina dettagli della lista di sicurezza rossa, selezionare Regole di sicurezza.
-
In Regole di entrata dovrebbe essere visualizzata una regola con i seguenti valori:
-
Stateless: No
-
Protocollo IP: TCP
-
Intervallo porte di origine: tutto
-
Intervallo di porte di destinazione: 6379
-
Consente: TCP per le porte: 6379
-
Se la lista di sicurezza non viene visualizzata o la regola non è configurata come richiesto, è possibile creare una nuova lista di sicurezza e aggiungere la regola oppure è possibile aggiungere la regola alla lista di sicurezza predefinita per la VCN. Per ulteriori informazioni, consulta gli elenco di sicurezza e la creazione di un elenco di sicurezza.
-
senza conservazione dello stato: lasciare deselezionata la casella di controllo.
-
Tipo di origine: CIDR
-
Protocollo IP: TCP
-
Intervallo porte di origine: tutto
-
Intervallo di porte di destinazione: 6379
Utilizzo di un gruppo NSG per i cluster
Per utilizzare un gruppo NSG anziché una lista di sicurezza, è necessario aggiungere una regola di sicurezza in entrata al gruppo NSG con la configurazione necessaria per la connessione a un cluster. Per ulteriori informazioni sulla creazione e la gestione dei gruppi NSG, vedere:
-
senza conservazione dello stato: lasciare deselezionata la casella di controllo.
-
Tipo di origine: CIDR
-
Protocollo IP: TCP
-
Intervallo porte di origine: tutto
-
Intervallo di porte di destinazione: 6379
È possibile configurare da uno a cinque gruppi NSG per un cluster. È possibile specificare i gruppi NSG per un cluster quando si crea il cluster. È inoltre possibile configurare i gruppi NSG per un cluster esistente. Vedere Configurare i gruppi di sicurezza di rete di un cluster cache OCI.
Creare un'istanza VM
È possibile connettersi al cluster utilizzando i comandi CLI Valkey o Redis CLI da un'istanza VM all'interno della stessa subnet del cluster. Per informazioni su come creare un'istanza, vedere uno degli argomenti riportati di seguito.
Dopo aver creato l'istanza, connettersi all'istanza. Per ulteriori informazioni, vedere quanto segue:
Connessione con CLI Valkey o CLI Redis
Per i cluster configurati con il motore cache versione
REDIS_7_0
, è necessaria l'interfaccia CLI Redis versione 6 o successiva, è consigliabile utilizzare l'interfaccia CLI Redis versione 7. Per i cluster configurati con il motore cache versione VALKEY_7_2
, Valkey CLI versione 7.2 è obbligatoria.Scaricare e installare l'interfaccia CLI Redis o l'interfaccia CLI Valkey nell'istanza VM.
Le interfacce CLI Redis e Valkey utilizzano entrambe la stessa sintassi di comando. L'unica differenza tra i due è l'inclusione dell'identificativo redis-cli
o valkey-cli
all'inizio del comando. È possibile eseguire tutti i comandi in questo argomento utilizzando uno di questi identificativi a seconda dell'interfaccia CLI installata. Il primo dei seguenti esempi fornisce sia gli esempi Redis che Valkey. È tuttavia possibile utilizzare uno dei due identificatori per uno qualsiasi degli esempi.
Per connettersi a un cluster non partizionato, eseguire il comando seguente per connettersi al nodo primario del cluster:
redis-cli --tls -h <ID>-p.redis.<region>.oci.oraclecloud.com
valkey-cli --tls -h <ID>-p.redis.<region>.oci.oraclecloud.com
Per connettersi a un cluster con partizionamento orizzontale, eseguire il comando seguente per connettersi a una delle partizioni del cluster:
redis-cli --tls -h <ID>.redis.<region>.oci.oraclecloud.com -c
Per informazioni su come ottenere la stringa di connessione per la partizione, vedere Recupero dei dettagli di connessione di un cluster con partizionamento orizzontale della cache OCI.
È necessario includere lo switch
-c
per le connessioni ai cluster con partizionamento orizzontale. Specifica che si sta effettuando la connessione con l'interfaccia CLI in modalità cluster. Per ulteriori informazioni, vedere 4.2 Utilizzo di Redis-CLI con un cluster Redis.Se non si include --tls
, viene generato l'errore Error: connection reset by peer
per i comandi CLI Redis.
L'errore Unrecognized option or bad number of args for: '--tls'
si verifica se la versione dell'interfaccia CLI Redis in uso è precedente alla versione 6. Per controllare la versione dell'interfaccia CLI Redis, eseguire il comando riportato di seguito.
redis-cli -v
Script Lua
Gli script Lua vengono eseguiti sul server, consentendo una lettura e una scrittura efficienti dei dati del cluster. Per ulteriori informazioni, vedere Scripting con Lua. Nell'esempio seguente viene illustrato come chiamare il comando EVAL dall'interfaccia CLI di Valkey o dall'interfaccia CLI di Redis per impostare un valore chiave, quindi recuperare il valore chiave.
Per impostare il valore della chiave:
redis-cli --tls -h <IP_address> EVAL "return redis.call('SET', 'mykey', 'helloworld')" 0
Per recuperare il valore della chiave appena impostato:
redis-cli --tls -h <IP_address> EVAL "return redis.call('GET', 'mykey')" 0
Si sconsiglia di utilizzare script Lua con tempi di esecuzione lunghi. Quando viene eseguito uno script Lua, gli altri comandi vengono bloccati finché lo script Lua non viene completato. Il tempo massimo di esecuzione di uno script viene impostato dal valore busy-reply-threshold
. Per impostazione predefinita, il valore della soglia di risposta occupata è di cinque secondi. Quando uno script Lua viene eseguito più a lungo del tempo di esecuzione predefinito di cinque secondi, aumenta la probabilità che vengano attivati i failover per il cluster e che il cluster entri in uno stato in cattivo stato. Se si dispone di un cluster che richiede script Lua che richiedono più di cinque secondi per l'esecuzione, contattare il Supporto per richiedere che il valore busy-reply-threshold
per il cluster venga aumentato.
Risoluzione dei problemi di connessione a un cluster
Prova la connettività di base con lo strumento dig
dig <primary_endpoint>
Vedere Recupero dei dettagli di connessione di un cluster cache OCI per informazioni su come ottenere l'endpoint del nodo primario.
Se si esegue il comando dig dalla stessa VCN del cluster e la connessione non riesce a risolvere il problema, verificare che la subnet disponga di una lista di sicurezza con una regola di sicurezza in entrata con conservazione dello stato per il traffico TCP sulla porta di destinazione 6379. Quando si crea il cluster, OCI Cache crea una lista di sicurezza con la configurazione richiesta. Tuttavia, se questa operazione viene rimossa o aggiornata, è necessario aggiungere questa configurazione. Per i dettagli, vedere Elenco di sicurezza per i cluster.
Se si esegue il comando dig da una VCN diversa come cluster e la connessione non riesce a risolvere il problema, verificare di disporre della configurazione corretta della tabella di instradamento per le VCN (vedere Tabelle di instradamento VCN).
Analyzer percorso di rete
È inoltre possibile utilizzare Analizzatore percorso di rete per eseguire il test della connettività al cluster. Questo strumento consente di risolvere e identificare i problemi di instradamento e configurazione di rete con l'impostazione, indipendentemente dal fatto che ci si connetta dalla stessa VCN o da una VCN diversa.