

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Acceso a su ElastiCache clúster o grupo de replicación
<a name="accessing-elasticache"></a>

Tus ElastiCache instancias de Amazon están diseñadas para que puedas acceder a ellas a través de una EC2 instancia de Amazon.

Si lanzó la ElastiCache instancia en una Amazon Virtual Private Cloud (Amazon VPC), puede acceder a la ElastiCache instancia desde una instancia de Amazon en la EC2 misma Amazon VPC. O bien, mediante la interconexión de VPC, puedes acceder a tu ElastiCache instancia desde una Amazon EC2 en una Amazon VPC diferente.

Si lanzaste tu ElastiCache instancia en EC2 Classic, permites que la EC2 instancia acceda a tu clúster al conceder al grupo de EC2 seguridad de Amazon asociado a la instancia acceso a tu grupo de seguridad de caché. De forma predeterminada, el acceso a un clúster está restringido a la cuenta que lanzó el clúster.

**Topics**
+ [Conceder acceso al clústero al grupo de reproducción](#grant-access)

## Conceder acceso al clústero al grupo de reproducción
<a name="grant-access"></a>

### Lanzó su clúster en EC2 -VPC
<a name="authorize-access-vpc"></a>

Si lanzó el clúster en una Amazon Virtual Private Cloud (Amazon VPC), solo podrá conectarse al ElastiCache clúster desde una EC2 instancia de Amazon que se ejecute en la misma Amazon VPC. En este caso, necesitará conceder acceso de red al clúster.

**nota**  
Si utiliza *Local Zones*, asegúrese de haberlo habilitado. Para obtener más información, consulte [Habilitar Local Zones](https://docs.aws.amazon.com//AWSEC2/latest/UserGuide/using-regions-availability-zones.html#opt-in-local-zone). Al hacerlo, la VPC se extiende a esa zona local y tratará la subred como cualquier subred en cualquier otra zona de disponibilidad. Las gateways relevantes, las tablas de enrutamiento y otras consideraciones del grupo de seguridad se ajustarán de forma automática.

**Para conceder acceso de red desde un grupo de seguridad de Amazon VPC a un clúster**

1. Inicia sesión en la EC2 consola de Amazon Consola de administración de AWS y ábrela en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, en **Network & Security** (Redes y seguridad), seleccione **Security Groups**(Grupos de seguridad).

1. En la lista de grupos de seguridad, elija el grupo de seguridad para su Amazon VPC. A menos que hayas creado un grupo de seguridad para ElastiCache su uso, este grupo de seguridad se denominará *predeterminado*.

1. Elija la pestaña **Inbound** y haga lo siguiente:

   1. Elija **Editar**.

   1. Seleccione **Agregar regla**.

   1. En la columna **Type**, elija **Custom TCP rule**.

   1. En el cuadro **Port range**, escriba el número de puerto para su nodo de clúster. Este número debe ser el mismo que especificó cuando lanzó el clúster. El puerto predeterminado para Memcached es **11211**. El puerto predeterminado para Valkey y Redis OSS es **6379**.

   1. En el cuadro **Fuente**, selecciona Cualquier **lugar** que tenga el rango de puertos (0.0.0.0/0) para que cualquier EC2 instancia de Amazon que lances dentro de tu Amazon VPC pueda conectarse a tus nodos. ElastiCache 
**importante**  
Abrir el ElastiCache clúster a 0.0.0.0/0 no lo expone a Internet porque no tiene una dirección IP pública y, por lo tanto, no se puede acceder a él desde fuera de la VPC. Sin embargo, el grupo de seguridad predeterminado se puede aplicar a otras EC2 instancias de Amazon en la cuenta del cliente y esas instancias pueden tener una dirección IP pública. Si se está ejecutando algo en el puerto predeterminado, ese servicio podría exponerse de forma involuntaria. Por lo tanto, recomendamos crear un grupo de seguridad de VPC que se use exclusivamente ElastiCache. Para obtener más información, consulte [Grupos de seguridad personalizados](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-network-security.html#creating-your-own-security-groups).

   1. Seleccione **Save**.

Cuando lances una EC2 instancia de Amazon en tu Amazon VPC, esa instancia podrá conectarse a tu ElastiCache clúster.

### Acceder a ElastiCache los recursos desde el exterior AWS
<a name="access-from-outside-aws"></a>

Amazon ElastiCache es un AWS servicio que proporciona un almacén de valores clave en memoria basado en la nube. El servicio está diseñado para que se pueda acceder exclusivamente desde dentro.AWS Sin embargo, si el ElastiCache clúster está alojado en una VPC, puede usar una instancia de traducción de direcciones de red (NAT) para proporcionar acceso externo.

#### Requisitos
<a name="access-from-outside-aws-requirements"></a>

Debe cumplir los siguientes requisitos para poder acceder a sus ElastiCache recursos desde el exterior AWS:
+ El clúster debe estar en una VPC y el acceso debe hacerse a través de una instancia de Traducción de direcciones de red (NAT). Este requisito no tiene excepciones.
+ La instancia NAT debe lanzarse en la misma VPC que el clúster.
+ La instancia NAT debe lanzarse en una subred pública distinta de la del clúster.
+ Es necesario asociar una dirección IP elástica (EIP) a la instancia NAT. La característica de reenvío de puertos de las tablas IP se usa para reenviar un puerto de la instancia NAT al puerto del nodo de caché de la VPC.

#### Consideraciones
<a name="access-from-outside-aws-considerations"></a>

Tenga en cuenta las consideraciones siguientes a la hora de acceder a sus recursos de ElastiCache desde fuera de ElastiCache.
+ Los clientes se conectan a la EIP y al puerto de caché de la instancia NAT. El reenvío de puertos de la instancia NAT reenvía el tráfico al nodo de clúster adecuado.
+ Si un nodo del clúster se añade o se reemplaza, las reglas de tablas IP deben actualizarse para reflejar este cambio.

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

Este enfoque solo debe usarse con fines de prueba y desarrollo. No se recomienda su uso para la producción debido a las limitaciones siguientes:
+ La instancia NAT actúa como proxy entre los clientes y múltiples clústeres. La adición de un proxy afecta al rendimiento del clúster. El impacto aumenta con el número de clústeres a los que se accede mediante la instancia NAT.
+ El tráfico de los clientes a la instancia NAT está sin cifrar. Por lo tanto, debe evitar el envío de información confidencial a través de la instancia NAT.
+ La instancia NAT requiere, además, el mantenimiento de otra instancia.
+ La instancia NAT sirve como único punto de error. Para obtener información acerca de cómo configurar NAT de alta disponibilidad en una VPC, consulte [Alta disponibilidad para instancias NAT de Amazon VPC: un ejemplo](https://aws.amazon.com/articles/2781451301784570).

#### ¿Cómo acceder a ElastiCache los recursos desde el exterior AWS
<a name="access-from-outside-aws-how-to"></a>

El siguiente procedimiento muestra cómo conectarse a ElastiCache los recursos mediante una instancia de NAT.

En los pasos que se describen a continuación se da por sentado lo siguiente:
+ `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`

A continuación, necesita NAT en la dirección opuesta:

`iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.0.0.55`

También debe activar el reenvío de IP, que está desactivado de forma predeterminada:

`sudo sed -i 's/net.ipv4.ip_forward=0/net.ipv4.ip_forward=1/g' /etc/sysctl.conf sudo sysctl --system`
+ Está accediendo a un clúster de Memcached con:
  + Dirección IP: *10.0.1.230*
  + Puerto de Memcached predeterminado: *11 211*
  + Grupo de seguridad: *\$110\$1.0\$1.0\$1.55\$1*
+ Está accediendo a un clúster de Valkey o Redis OSS con:
  + Dirección IP: *10.0.1.230*
  + Puerto predeterminado: *6379*
  + Grupo de seguridad: *sg-bd56b7da*
  + AWS dirección IP de la instancia: *198.99.100.27*
+ El cliente tiene de confianza tiene la dirección IP *198.51.100.27*.
+ La instancia NAT tiene la dirección IP elástica *203.0.113.73*.
+ La instancia NAT tiene el grupo de seguridad *sg-ce56b7a9*.



**Para conectarse a sus ElastiCache recursos mediante una instancia NAT**

1. Cree una instancia NAT en la misma VPC que su clúster, pero en una subred pública.

   De forma predeterminada, el asistente de VPC lanzara el tipo de nodo *cache.m1.small*. Seleccione un tamaño de nodo en función de sus necesidades. Debe utilizar la AMI de EC2 NAT para poder acceder ElastiCache desde el exterior AWS.

   Para obtener información sobre la creación de una instancia de NAT, consulte [Instancias de NAT](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html) en la Guía del usuario de la AWS VPC.

1. Cree reglas de grupo de seguridad para el clúster y la instancia NAT.

   El grupo de seguridad de la instancia NAT y la instancia del clúster deben tener las siguientes reglas:
   + Dos reglas de entrada
     + Con Memcached, la primera regla es permitir las conexiones de TCP desde los clientes de confianza a cada puerto de caché que se reenvía desde la instancia de NAT (11211 - 11213).
     + Con Valkey y Redis OSS, la primera regla es permitir las conexiones de TCP desde los clientes de confianza a cada puerto de caché que se reenvía desde la instancia de NAT (6379 - 6381).
     + Una segunda regla es permitir el acceso de SSH a los clientes de confianza.  
**Grupo de seguridad de instancias de NAT: reglas de entrada con Memcached**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonElastiCache/latest/dg/accessing-elasticache.html)  
**Grupo de seguridad de instancias de NAT: reglas de entrada con Valkey o Redis OSS**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + Con Memcached, una regla de salida para permitir las conexiones de TCP con el puerto de caché (11211).  
**Grupo de seguridad de la instancia NAT: regla saliente**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + Con Valkey o Redis OSS, una regla de salida que permite las conexiones de TCP con el puerto de caché (6379).  
**Grupo de seguridad de la instancia NAT: regla saliente**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + Con Memcached, una regla de entrada del grupo de seguridad del clúster que permite conexiones de TCP entre la instancia de NAT y el puerto de caché (11211).  
**Grupo de seguridad de la instancia del clúster: regla entrante**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonElastiCache/latest/dg/accessing-elasticache.html)
   + Con Valkey o Redis OSS, una regla de entrada del grupo de seguridad del clúster que permite conexiones de TCP entre la instancia de NAT y el puerto de caché (6379).  
**Grupo de seguridad de la instancia del clúster: regla entrante**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/AmazonElastiCache/latest/dg/accessing-elasticache.html)

1. Valide las reglas.
   + Confirme que el cliente de confianza es capaz de conectarse mediante SSH a la instancia NAT.
   + Confirme que el cliente de confianza es capaz de conectarse al clúster desde la instancia NAT.

1. **Memcached**

   Añada una regla de tablas IP a la instancia NAT.

   La regla de tablas de IP deben añadirse a la tabla NAT para que todos los nodos del clúster reenvíen el puerto de caché de la instancia NAT al nodo del clúster. Un ejemplo de esto sería el siguiente:

   ```
   iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 11211 -j DNAT --to 10.0.1.230:11211
   ```

   El número de puerto debe ser único para cada nodo del clúster. Por ejemplo, si trabaja con un clúster de Memcached de tres nodos que usan los puertos 11211 - 11213, las reglas deben ser similares a las que se muestran a continuación:

   ```
   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
   ```

   Confirme que el cliente de confianza es capaz de conectarse al clúster.

   El cliente de confianza deben conectarse a la EIP asociada con la instancia NAT y el puerto del clúster correspondiente al nodo de clúster adecuado. Por ejemplo, la cadena de conexión para PHP puede ser parecida a la siguiente:

   ```
   $memcached->connect( '203.0.113.73', 11211 );
   $memcached->connect( '203.0.113.73', 11212 );
   $memcached->connect( '203.0.113.73', 11213 );
   ```

   También puede usar un cliente de Telnet para comprobar la conexión. Por ejemplo:

   ```
   telnet 203.0.113.73 11211
   telnet 203.0.113.73 11212
   telnet 203.0.113.73 11213
   ```

   **Valkey o Redis OSS**

   Añada una regla de tablas IP a la instancia NAT.

   La regla de tablas de IP deben añadirse a la tabla NAT para que todos los nodos del clúster reenvíen el puerto de caché de la instancia NAT al nodo del clúster. Un ejemplo de esto sería el siguiente:

   ```
   iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to 10.0.1.230:6379
   ```

   El número de puerto debe ser único para cada nodo del clúster. Por ejemplo, si trabaja con un clúster de Redis OSS de tres nodos que utiliza los puertos 6379 - 6381, las reglas serían similares a las que se muestran a continuación:

   ```
   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
   ```

   Confirme que el cliente de confianza es capaz de conectarse al clúster.

   El cliente de confianza deben conectarse a la EIP asociada con la instancia NAT y el puerto del clúster correspondiente al nodo de clúster adecuado. Por ejemplo, la cadena de conexión para PHP puede ser parecida a la siguiente:

   ```
   redis->connect( '203.0.113.73', 6379 );
   redis->connect( '203.0.113.73', 6380 );
   redis->connect( '203.0.113.73', 6381 );
   ```

   También puede usar un cliente de Telnet para comprobar la conexión. Por ejemplo:

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

1. Guarde la configuración de tablas IP.

   Guarde las reglas tras realizar las pruebas y verificarlas. Si usa una distribución de Linux basada en Redhat (como Amazon Linux) ejecute el comando siguiente:

   ```
   service iptables save
   ```

#### Temas relacionados
<a name="access-from-outside-aws-see-also"></a>

Los temas siguientes pueden ser de su interés.
+ [Patrones de acceso para obtener acceso a una caché de ElastiCache en una Amazon VPC](elasticache-vpc-accessing.md)
+ [Acceso a una caché de ElastiCache desde una aplicación en ejecución en un centro de datos del cliente](elasticache-vpc-accessing.md#elasticache-vpc-accessing-data-center)
+ [Instancias NAT](https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_NAT_Instance.html)
+ [Configuración de clientes ElastiCache ](ClientConfig.md)
+ [Alta disponibilidad para instancias NAT de Amazon VPC: un ejemplo](https://aws.amazon.com/articles/2781451301784570)