Come posso risolvere i problemi di connettività con il mio cluster autoprogettato da ElastiCache per Redis?

8 minuti di lettura
0

Desidero risolvere i problemi di connettività con il mio cluster autoprogettato da Amazon ElastiCache per Redis.

Risoluzione

Per risolvere i problemi di connettività con il cluster autoprogettato da ElastiCache per Redis, completa quanto segue:

Verifica che il tuo cluster sia nello stato Disponibile

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Troubleshoot AWS CLI errors. Inoltre, assicurati di utilizzare la versione più recente di AWS CLI.

Se hai creato il cluster di recente, conferma che la creazione del cluster è completa e che il cluster è pronto ad accettare le connessioni. Per verificare lo stato del cluster, utilizza la console ElastiCache, l'interfaccia della linea di comando AWS o l'API ElastiCache per visualizzare i dettagli del cluster. Rivedi la colonna Stato e verifica quanto segue:

  • Se la colonna Stato mostra Disponibile, il cluster è pronto.
  • Se la colonna Stato mostra Creazione, significa che la creazione del cluster è in corso. Attendi qualche minuto finché lo stato non viene aggiornato su Disponibile.
  • Se la colonna Stato mostra Modifica, la configurazione del cluster è in fase di aggiornamento. Attendi qualche minuto fino al termine delle modifiche e all'aggiornamento dello stato su Disponibile.

Verifica che il tuo cluster sia integro

I nodi di un cluster integro sono nello stato Disponibile. Per verificare lo stato del cluster, esegui le seguenti azioni:

Verifica la connettività di rete tra il cluster e la risorsa client

Per ridurre al minimo la latenza, accedi a ElastiCache dalle istanze di Amazon Elastic Compute Cloud (Amazon EC2) o dalle risorse all'interno dello stesso Amazon Virtual Private Cloud (Amazon VPC). Inoltre, puoi connetterti dall'esterno di Amazon VPC o dall'esterno di AWS. Per ulteriori informazioni, consulta Modelli di accesso per accedere a una cache ElastiCache in Amazon VPC e Accesso al cluster o gruppo di replica. Per analizzare la connessione e risolvere ulteriormente i problemi di connettività tra le risorse AWS, utilizza Amazon VPC Network Access Analyzer.

Verifica che i gruppi di sicurezza e gli elenchi di controllo degli accessi alla rete (ACL di rete) consentano le connessioni

Controlla i gruppi di sicurezza e gli ACL di rete sul cluster e sulla risorsa da cui viene avviata la connessione. Assicurati che i gruppi di sicurezza e gli ACL di rete siano configurati correttamente. Di seguito sono riportati alcuni esempi di risorse per i clienti:

  • Istanze Amazon EC2
  • Funzioni AWS Lambda
  • Amazon Elastic Container Service (Amazon ECS)
  • Container Amazon Elastic Kubernetes Service (Amazon EKS)

Controlla il gruppo di sicurezza del cluster

Per controllare il gruppo di sicurezza del cluster, completa i seguenti passaggi:

  1. Apri la console ElastiCache.
  2. Seleziona il nome del cluster dal menu Cluster Redis, quindi seleziona la scheda Rete e sicurezza.
    Nota: Per impostazione predefinita, il cluster utilizza il gruppo di sicurezza Amazon VPC quando non è stato associato alcun gruppo di sicurezza.
  3. Verifica che almeno uno dei gruppi di sicurezza associati consenta le connessioni in entrata dalla risorsa client al cluster sulla porta del cluster.
  4. Per controllare il numero di porta, controlla uno qualsiasi degli endpoint del cluster. Gli endpoint sono nel formato domain_name:port.
    Nota: Per impostazione predefinita, la porta del cluster è 6379/TCP. È possibile sovrascrivere il numero di porta quando si crea un cluster.
  5. Sulla risorsa client, verifica che i gruppi di sicurezza consentano le connessioni in uscita alla porta del cluster e ai blocchi CIDR delle sottoreti del cluster.
  6. Verifica che gli ACL di rete consentano le connessioni in uscita e in entrata tra il client e il cluster.
    Nota: Per impostazione predefinita, gli ACL di rete consentono tutte le connessioni.
  7. Per risolvere ulteriormente i problemi relativi alle configurazioni dei gruppi di sicurezza e degli ACL di rete, utilizza Network Access Analyzer di Amazon VPC.

Verifica che vengano utilizzati gli endpoint corretti per le connessioni

Gli endpoint di connessione sono consigliati in base alle configurazioni del cluster. Per ulteriori informazioni, consulta Ricerca degli endpoint di connessione.

Controlla la risoluzione DNS sul lato client

Se hai problemi con il DNS, potresti ricevere un nome o servizio non noto o un errore NXDOMAIN. Per risolvere questi errori, assicurati di avere gli attributi DNS corretti nella risorsa client Amazon VPC. È consigliabile utilizzare il server DNS Amazon.

Controlla la connessione TCP tra Redis e il client

Per stabilire e confermare la connettività tra Redis e il client, usa il comando curl:
Nota: Sostituisci example-cluster-endpoint con l'endpoint del tuo cluster.

$ curl -v telnet://example-cluster-endpoint:6379

Esempio di output:

*   Trying 172.31.1.242:6379...
* Connected to example-cluster-endpoint (172.31.1.242) port 6379

Nell'esempio precedente, la parola chiave Connesso indica che la connessione TCP è riuscita. Se Connesso non appare nell'output del comando, controlla quanto segue:

Nota: Amazon ElastiCache è progettato per essere accessibile dallo stesso Amazon VPC per garantire una bassa latenza. Le connessioni esterne ad Amazon VPC potrebbero aumentare la latenza. L'aumento della latenza si verifica con le connessioni che utilizzano la rete Internet pubblica direttamente o tramite tunneling. Inoltre, una maggiore latenza potrebbe causare problemi di connettività o timeout. Se hai bloccato l'accesso, utilizza il sistema di analisi della reperibilità Amazon VPC per risolvere ulteriormente i problemi.

Controlla le connessioni ai cluster con crittografia in transito

Per inviare traffico Redis tramite TLS, utilizza la crittografia in transito. Per stabilire una connessione, il client deve disporre del supporto TLS.

Se hai redis-cli con supporto TLS, aggiungi l'argomento**--tls** al comando:
Nota: Sostituisci example-encrypted-cluster-endpoint con l'endpoint crittografato del tuo cluster.

$ redis-cli -h example-encrypted-cluster-endpoint --tls

Esempio di output:

example-encrypted-cluster-endpoint:6379>

Se hai redis-cli senza supporto TLS, viene visualizzato il seguente errore:

"Unrecognized option or bad number of args for: '--tls'"

Per risolvere l'errore precedente, installa redis-cli con supporto TLS o utilizza il comando openssl per redis-cli senza supporto TLS. Per ulteriori informazioni, consulta Connessione a un cluster o gruppo di replica Redis (Linux) nella fase 4: connessione a un nodo del cluster.

Controlla le connessioni ai cluster con l'autenticazione attivata

Per verificare le connessioni ai cluster con autenticazione, utilizza il comando redis-cli o openssl. Per ulteriori informazioni, consulta Connessione a un cluster abilitato per crittografia/autenticazione nella fase 4: connessione a un nodo del cluster.

Nota: Il comando redis-cli richiede entrambi gli argomenti --tls e --askpass (o \ -a). Se questi argomenti non vengono forniti o si utilizza una password errata, viene visualizzato il messaggio NOAUTH o AUTH failed. Se usi redis-cli --tls, usa la password AUTH dopo la connessione per completare l'autenticazione.

Informazioni correlate

Ulteriori passaggi per la risoluzione dei problemi

AWS UFFICIALE
AWS UFFICIALEAggiornata 8 mesi fa