

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
<a name="accessing-elasticache"></a>

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.

**Topics**
+ [Concedi l'accesso al cluster o gruppo di replica](#grant-access)

## Concedi l'accesso al cluster o gruppo di replica
<a name="grant-access"></a>

### Hai lanciato il tuo cluster in EC2 -VPC
<a name="authorize-access-vpc"></a>

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](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/using-regions-availability-zones.html#opt-in-local-zone). 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**

1. Accedi a Console di gestione AWS e apri la EC2 console Amazon all'indirizzo [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Nel riquadro di navigazione, in **Rete e sicurezza**, scegli **Gruppi di sicurezza**.

1. 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*.

1. Scegli la scheda **In entrata**, quindi procedi come segue:

   1. Scegli **Modifica**.

   1. Scegli **Aggiungi regola**.

   1. Nella colonna **Tipo**, scegli **Regola TCP personalizzata**.

   1. 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**

   1. 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](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#creating-your-own-security-groups).

   1. Scegli **Save** (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
<a name="access-from-outside-aws"></a>

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
<a name="access-from-outside-aws-requirements"></a>

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
<a name="access-from-outside-aws-considerations"></a>

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. Il port forwarding sull'istanza NAT inoltra il traffico al nodo del cluster appropriato.
+ Se un nodo cluster viene aggiunto o sostituito, le regole iptables devono essere aggiornate per riflettere questo cambiamento.

#### Limitazioni
<a name="access-from-outside-aws-limitations"></a>

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 influisce sulle prestazioni del cluster. L'impatto aumenta con il numero di cluster a cui si accede 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](https://aws.amazon.com/articles/2781451301784570).

#### Come accedere alle ElastiCache risorse dall'esterno AWS
<a name="access-from-outside-aws-how-to"></a>

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: *\$110\$1.0\$1.0\$1.55\$1*
+ 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 — 198.99.100.27*
+ 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 ElastiCache risorse utilizzando un'istanza NAT**

1. Crea un'istanza NAT nello stesso VPC del cluster 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](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) per l'utente VPC AWS.

1. Crea regole di gruppo di sicurezza per il cluster 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 è 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonElastiCache/latest/dg/accessing-elasticache.html)  
**Gruppo di sicurezza dell'istanza NAT: regole in entrata con Valkey o Redis OSS**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + 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**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/AmazonElastiCache/latest/dg/accessing-elasticache.html)

1. 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.

1. **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. 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. Esempio:

   ```
   telnet 203.0.113.73 6379
   telnet 203.0.113.73 6380
   telnet 203.0.113.73 6381
   ```

1. 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
<a name="access-from-outside-aws-see-also"></a>

Negli argomenti seguenti vengono fornite informazioni aggiuntive.
+ [Modelli di accesso per l'accesso a una ElastiCache cache in un Amazon VPC](elasticache-vpc-accessing.md)
+ [Accesso a una ElastiCache cache da un'applicazione in esecuzione nel data center di un cliente](elasticache-vpc-accessing.md#elasticache-vpc-accessing-data-center)
+ [Istanze NAT](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
+ [Configurazione dei client ElastiCache ](ClientConfig.md)
+ [Elevata disponibilità per istanze NAT Amazon VPC: un esempio](https://aws.amazon.com/articles/2781451301784570)