Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Accesso al ElastiCache cluster o al gruppo di replica
Le tue ElastiCache istanze Amazon sono progettate per essere accessibili tramite un' EC2 istanza Amazon.
Se hai avviato l' ElastiCache istanza in un Amazon Virtual Private Cloud (Amazon VPC), puoi accedere all' ElastiCacheistanza da un' EC2 istanza Amazon nello stesso Amazon VPC. Oppure, utilizzando il peering VPC, puoi accedere alla tua ElastiCache istanza da un Amazon EC2 in un altro Amazon VPC.
Se hai avviato l' ElastiCache istanza nella EC2 versione Classic, consenti all' EC2 istanza di accedere al tuo cluster concedendo al gruppo di EC2 sicurezza Amazon associato all'istanza l'accesso al tuo gruppo di sicurezza della cache. Per impostazione predefinita, l'accesso a un cluster è riservato all'account che lo ha avviato.
Concedi l'accesso al cluster o gruppo di replica
Hai lanciato il tuo cluster in EC2 -VPC
Se hai avviato il cluster in un Amazon Virtual Private Cloud (Amazon VPC), puoi connetterti al ElastiCache cluster solo da EC2 un'istanza Amazon in esecuzione nello stesso Amazon VPC. In questo caso sarà necessario concedere al cluster l'ingresso di rete.
Nota
Se si utilizza Local Zones, assicurarsi di averla abilitata. Per ulteriori informazioni, consulta Abilitazione delle zone locali. In questo modo, il VPC viene esteso a tale zona locale e il VPC tratterà la sottorete come qualsiasi sottorete in qualsiasi altra Zona di Disponibilità e gateway rilevanti, tabelle di instradamento e altre considerazioni sui gruppi di sicurezza.
Per concedere l'ingresso di rete a un cluster da un gruppo di sicurezza Amazon VPC
Accedi a AWS Management Console e apri la EC2 console Amazon all'indirizzo https://console.aws.amazon.com/ec2/
. -
Nel riquadro di navigazione, in Rete e sicurezza, scegli Gruppi di sicurezza.
-
Dall'elenco dei gruppi di sicurezza, scegli il gruppo di sicurezza per il VPC Amazon. A meno che tu non abbia creato un gruppo di sicurezza da ElastiCache utilizzare, questo gruppo di sicurezza verrà denominato predefinito.
-
Scegli la scheda In entrata, quindi procedi come segue:
-
Scegli Modifica.
-
Scegli Aggiungi regola.
-
Nella colonna Tipo, scegli Regola TCP personalizzata.
-
Nella casella Intervallo porta, digita il numero di porta per il nodo del cluster. Questo numero deve essere lo stesso specificato durante l'avvio del cluster. La porta predefinita per Memcached è
11211
La porta predefinita per Valkey e Redis OSS è.6379
-
Nella casella Source, scegli Anywhere con l'intervallo di porte (0.0.0.0/0) in modo che qualsiasi EC2 istanza Amazon che avvii all'interno del tuo Amazon VPC possa connettersi ai tuoi nodi. ElastiCache
Importante
L'apertura del ElastiCache cluster a 0.0.0.0/0 non espone il cluster a Internet perché non dispone di un indirizzo IP pubblico e pertanto non è accessibile dall'esterno del VPC. Tuttavia, il gruppo di sicurezza predefinito può essere applicato ad altre EC2 istanze Amazon nell'account del cliente e tali istanze possono avere un indirizzo IP pubblico. Se eseguono qualche attività sulla porta predefinita, il servizio può essere esposto involontariamente. Consigliamo quindi di creare un gruppo di sicurezza VPC che verrà utilizzato esclusivamente da ElastiCache. Per ulteriori informazioni, consulta Gruppi di sicurezza personalizzati.
-
Seleziona Salva.
-
Quando avvii un' EC2 istanza Amazon nel tuo Amazon VPC, quell'istanza sarà in grado di connettersi al tuo ElastiCache cluster.
Accesso alle ElastiCache risorse dall'esterno AWS
Amazon ElastiCache è un AWS servizio che fornisce un archivio chiave-valore in memoria basato sul cloud. Il servizio è progettato per essere accessibile esclusivamente dall'interno. AWS Tuttavia, se il ElastiCache cluster è ospitato all'interno di un VPC, puoi utilizzare un'istanza NAT (Network Address Translation) per fornire l'accesso esterno.
Requisiti
Per poter accedere alle ElastiCache risorse dall'esterno, è necessario soddisfare i seguenti requisiti: AWS
-
Il cluster deve risiedere all'interno di un VPC e deve essere possibile accedervi tramite un'istanza NAT (Network Address Translation). Non ci sono eccezioni a questo requisito.
-
L'istanza NAT deve essere avviata nello stesso VPC del cluster.
-
L'istanza NAT deve essere avviata nella sottorete pubblica separata dal cluster.
-
Un indirizzo IP elastico (EIP) deve essere associato all'istanza NAT. La funzionalità di inoltro della porta iptables viene utilizzata per inoltrare una porta nell'istanza NAT verso la porta del nodo di cache all'interno del VPC.
Considerazioni
Quando si accede alle risorse ElastiCache dall'esterno di ElastiCache, è necessario tenere presenti le seguenti considerazioni:
-
I client si connettono all'EIP e alla porta della cache dell'istanza NAT. L'inoltro della porta sull'istanza NAT inoltra il traffico sul nodo cluster di cache appropriato.
-
Se un nodo cluster viene aggiunto o sostituito, le regole iptables devono essere aggiornate per riflettere questo cambiamento.
Limitazioni
Questo approccio deve essere utilizzato esclusivamente a scopo di sviluppo e test. Non è consigliato per essere utilizzato per la produzione a causa dei limiti seguenti:
-
L'istanza NAT agisce come proxy tra i client e più cluster. L'aggiunta di un proxy ha impatto sulle prestazioni del cluster di cache. L'impatto aumenta con il numero di cluster di cache a cui accedi tramite l'istanza NAT.
-
Il traffico dai client verso l'istanza NAT non è crittografato. Devi pertanto evitare l'invio di dati sensibili tramite l'istanza NAT.
-
L'istanza NAT aggiunge il sovraccarico della gestione di un'altra istanza.
-
L'istanza NAT viene utilizzata come singolo punto di errore. Per informazioni su come configurare l'elevata disponibilità per NAT su VPC, consulta Elevata disponibilità per istanze NAT Amazon VPC: un esempio
.
Come accedere alle ElastiCache risorse dall'esterno AWS
La procedura seguente mostra come connettersi alle ElastiCache risorse utilizzando un'istanza NAT.
Questi passaggi presuppongono quanto segue:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6380 -j DNAT --to 10.0.1.231:6379
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6381 -j DNAT --to 10.0.1.232:6379
Quindi, è necessario NAT nella direzione opposta:
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.0.0.55
È inoltre necessario abilitare l'inoltro IP, che è disabilitato per impostazione predefinita:
sudo sed -i 's/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g' /etc/sysctl.conf
sudo sysctl --system
-
Stai accedendo a un cluster Memcached con:
-
Indirizzo IP: 10.0.1.230
-
Porta Memcached predefinita: 11211
-
Gruppo di sicurezza: *10\.0\.0\.55*
-
-
Si accede a un cluster Valkey o Redis OSS con:
-
Indirizzo IP: 10.0.1.230
-
Porta predefinita: 6379
-
Gruppo di sicurezza: sg-bd56b7da
-
AWS indirizzo IP dell'istanza: sg-bd56b7da
-
-
L'indirizzo IP del client affidabile è 198.51.100.27.
-
L'indirizzo IP elastico (EIP) dell'istanza NAT è 203.0.113.73.
-
Il gruppo di sicurezza dell'istanza NAT è sg-ce56b7a9.
Per connetterti alle tue risorse utilizzando un'istanza NAT ElastiCache
-
Creare un'istanza NAT nello stesso VPC del cluster di cache, ma in una sottorete pubblica.
Per impostazione predefinita, la creazione guidata di VPC avvia un tipo di nodo cache.m1.small. È necessario selezionare una dimensione di nodo in base alle proprie esigenze: È necessario utilizzare EC2 NAT AMI per poter accedere ElastiCache dall'esterno AWS.
Per informazioni sulla creazione di un'istanza NAT, consulta Istanze NAT nella Guida per l'utente VPC AWS .
-
Creare regole del gruppo di sicurezza per il cluster di cache e l'istanza NAT.
Il gruppo di sicurezza per le istanze NAT e l'istanza del cluster devono essere associati alle seguenti regole:
-
Due regole in entrata
-
Con Memcached, la prima regola è consentire le connessioni TCP da client affidabili a ciascuna porta cache inoltrata dall'istanza NAT (11211 - 11213).
-
Con Valkey e Redis OSS, la prima regola consiste nel consentire le connessioni TCP da client affidabili a ciascuna porta cache inoltrata dall'istanza NAT (6379 - 6381).
-
Una seconda regola per consentire l'accesso SSH a client affidabili.
Gruppo di sicurezza di istanze NAT: regole in entrata con Memcached Tipo Protocollo Intervallo porte Origine Regola TCP personalizzata TCP 11211-11213 198.51.100.27/32 SSH TCP 22 198.51.100.27/32 Gruppo di sicurezza dell'istanza NAT: regole in entrata con Valkey o Redis OSS Tipo Protocollo Intervallo porte Origine Regola TCP personalizzata TCP 6379-6380 198.51.100.27/32 SSH TCP 22 203.0.113.73/32 -
-
Con Memcached, una regola in uscita per consentire le connessioni TCP alla porta cache (11211).
Gruppo di sicurezza per le istanze NAT - Regola in uscita Tipo Protocollo Intervallo porte Destinazione Regola TCP personalizzata TCP 11211 sg-ce56b7a9 (gruppo di sicurezza per le istanze del cluster) -
Con Valkey o Redis OSS, una regola in uscita per consentire le connessioni TCP alla porta cache (6379).
Gruppo di sicurezza per le istanze NAT - Regola in uscita Tipo Protocollo Intervallo porte Destinazione Regola TCP personalizzata TCP 6379 sg-ce56b7a9 (gruppo di sicurezza per le istanze del cluster) -
Con Memcached, una regola in entrata per il gruppo di sicurezza del cluster che consente le connessioni TCP dall'istanza NAT alla porta cache (11211).
Gruppo di sicurezza per le istanze del cluster - Regola in entrata Tipo Protocollo Intervallo porte Origine Regola TCP personalizzata TCP 11211 sg-bd56b7da (gruppo di sicurezza NAT) -
Con Valkey o Redis OSS, una regola in entrata per il gruppo di sicurezza del cluster che consente le connessioni TCP dall'istanza NAT alla porta cache (6379).
Gruppo di sicurezza per le istanze del cluster - Regola in entrata Tipo Protocollo Intervallo porte Origine Regola TCP personalizzata TCP 6379 sg-bd56b7da (gruppo di sicurezza del cluster)
-
-
Convalidare le regole.
-
Confermare che il client affidabile possa effettuare la connessione SSH all'istanza NAT.
-
Confermare che il client affidabile possa effettuare la connessione al cluster dall'istanza NAT.
-
-
Memcached
Aggiungere una regola iptables all'istanza NAT.
È necessario aggiungere una regola iptables alla tabella NAT per ogni nodo nel cluster per inoltrare la porta della cache dall'istanza NAT al nodo del cluster. Di seguito è riportato un possibile esempio:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to 10.0.1.230:11211
Il numero di porta deve essere univoco per ciascun nodo nel cluster. Ad esempio, se si utilizza un cluster Memcached a tre nodi tramite le porte 11211 - 11213, le regole avrebbero un aspetto simile al seguente:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to 10.0.1.230:11211 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11212 -j DNAT --to 10.0.1.231:11211 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11213 -j DNAT --to 10.0.1.232:11211
Confermare che il client affidabile possa effettuare la connessione al cluster.
Il client affidabile deve connettersi all'EIP associato all'istanza NAT e alla porta del cluster corrispondente al nodo del cluster appropriato. Ad esempio, la stringa di connessione per PHP potrebbe apparire come segue:
$memcached->connect( '203.0.113.73', 11211 ); $memcached->connect( '203.0.113.73', 11212 ); $memcached->connect( '203.0.113.73', 11213 );
È anche possibile utilizzare un client telnet per verificare la connessione. Per esempio:
telnet 203.0.113.73 11211 telnet 203.0.113.73 11212 telnet 203.0.113.73 11213
Sistema operativo Valkey o Redis
Aggiungere una regola iptables all'istanza NAT.
È necessario aggiungere una regola iptables alla tabella NAT per ogni nodo nel cluster per inoltrare la porta della cache dall'istanza NAT al nodo del cluster. Di seguito è riportato un possibile esempio:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to 10.0.1.230:6379
Il numero di porta deve essere univoco per ciascun nodo nel cluster. Ad esempio, se si lavora con un cluster Redis OSS a tre nodi utilizzando le porte 6379 - 6381, le regole sarebbero le seguenti:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to 10.0.1.230:6379 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6380 -j DNAT --to 10.0.1.231:6379 iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6381 -j DNAT --to 10.0.1.232:6379
Confermare che il client affidabile possa effettuare la connessione al cluster.
Il client affidabile deve connettersi all'EIP associato all'istanza NAT e alla porta del cluster corrispondente al nodo del cluster appropriato. Ad esempio, la stringa di connessione per PHP potrebbe apparire come segue:
redis->connect( '203.0.113.73', 6379 ); redis->connect( '203.0.113.73', 6380 ); redis->connect( '203.0.113.73', 6381 );
È anche possibile utilizzare un client telnet per verificare la connessione. Per esempio:
telnet 203.0.113.73 6379 telnet 203.0.113.73 6380 telnet 203.0.113.73 6381
-
Salvare la configurazione iptables.
Salvare le regole dopo averle sottoposte a test e a verifica. Se si sta utilizzando una distribuzione Linux basata su Redhat (ad esempio Amazon Linux), eseguire questo comando:
service iptables save
Argomenti correlati
Negli argomenti seguenti vengono fornite informazioni aggiuntive.