tier redshift pricing large elasticache cache aws amazon-web-services amazon-ec2 redis amazon-elasticache

amazon web services - redshift - ¿Puedes conectarte a Amazon Elasticache Redis fuera de Amazon?



memcached (8)

Puedo conectarme a una instancia Elasticache redis en una VPC desde instancias EC2, pero me gustaría saber si hay una forma de conectarme a un nodo Elasticache Redis fuera de las instancias de Amazon EC2, como desde mi configuración de desarrollo local o Instancias de VPS proporcionadas por otros proveedores.

Actualmente cuando intento desde mi configuración local: redis-cli -h my-node-endpoint -p 6379

Solo obtengo un tiempo de espera después de un tiempo.

Gracias,


El reenvío de puertos SSH debería ser el truco. Intenta ejecutar esto desde tu cliente.

ssh -f -N -L6379:<your redis node endpoint>:6379 <your EC2 node that you use to connect to redis>

Luego de tu cliente

redis-cli -h 127.0.0.1 -p 6379

Esto funciona para mi.

Tenga en cuenta que el puerto predeterminado para redis es 6379 no 6739 . También asegúrese de permitir que el grupo de seguridad del nodo EC2 que está utilizando lo conecte a su instancia de redis en su grupo de seguridad de caché.


Estamos usando HAProxy como un servidor proxy reservado.

Su sistema fuera de AWS ---> Internet -> HAProxy con IP pública -> Amazon Redis (Elasticache)

Tenga en cuenta que hay otra buena razón para hacerlo (en ese momento)

Como usamos el cliente node.js, que no admite la conmutación por error de Amazon DNS, el controlador del cliente no admite la búsqueda de DNS otra vez. Si el redis falla, el controlador del cliente se mantendrá conectado al antiguo maestro, que es esclavo después de un error.

Al usar HAProxy, resolvió ese problema.

Ahora, utilizando el último controlador ioredis, es compatible con Amazon dns failover.


Estas respuestas están desactualizadas.

Puede acceder a elasticcache fuera de AWS siguiendo estos pasos:

  1. Cree una instancia de NAT en la misma VPC que su clúster de caché pero en una subred pública.
  2. Cree reglas de grupo de seguridad para el clúster de caché y la instancia de NAT.
  3. Valida las reglas.
  4. Agregue una regla de iptables a la instancia de NAT.
  5. Confirme que el cliente de confianza puede conectarse al clúster.
  6. Guarde la configuración de iptables.

Para una descripción más detallada, vea la guía de aws:

http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Access.Outside.html


Este es un script de nodo sólido que hará todo el trabajo sucio para usted. Probado y verificado que funcionó.

https://www.npmjs.com/package/uzys-elasticache-tunnel

Cómo utilizar el uso: uzys-elasticache-tunnel [opciones] [comando]

Comandos:

start [filename] start tunneling with configuration file (default: config.json) stop stop tunneling status show tunneling status

Opciones:

-h, --help output usage information -V, --version output the version number

Ejemplo de uso

  • inicio - uzys-elasticache-tunnel start ./config.json
  • stop - parada del túnel uzys-elasticache
  • estado - estado uzys-elasticache-tunnel

No es posible acceder directamente al clúster clásico desde una instancia de VPC. La solución sería configurar NAT en la instancia clásica.

NAT necesita tener un simple proxy tcp

YourIP=1.2.3.4 YourPort=80 TargetIP=2.3.4.5 TargetPort=22 iptables -t nat -A PREROUTING --dst $YourIP -p tcp --dport $YourPort -j DNAT / --to-destination $TargetIP:$TargetPort iptables -t nat -A POSTROUTING -p tcp --dst $TargetIP --dport $TargetPort -j SNAT / --to-source $YourIP iptables -t nat -A OUTPUT --dst $YourIP -p tcp --dport $YourPort -j DNAT / --to-destination $TargetIP:$TargetPort


No es tan vieja pregunta, corrí al mismo problema yo mismo y lo resolvió:

A veces, por razones de desarrollo, necesita acceder desde el exterior (para evitar implementaciones múltiples solo por una simple corrección de errores).

Amazon ha publicado una nueva guía que utiliza el EC2 como proxies para el mundo exterior:

http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Access.Outside.html

¡Buena suerte!



Por cierto, si alguien quiere una solución de Windows EC2, intente estos en el indicador de DOS (en dicha máquina Windows EC2):

Para agregar reenvío de puerto

C: / Users / Administrador> netsh interface portproxy add v4tov4 listenport=6379 listenaddress=10.xxx.64.xxx connectport=6379 connectaddress=xxx.xxxxxx.ng.0001.use1.cache.amazonaws.com

Para enumerar los puertos reenviados por puerto

C: / Users / Administrador> netsh interface portproxy show all

Escuchar en ipv4: Conéctese a ipv4:

Puerto de dirección del puerto de dirección

10.xxx.128.xxx 6379 xxx.xxxxx.ng.0001.use1.cache.amazonaws.com 6379

Para eliminar el reenvío de puertos

C: / Users / Administrador> netsh interface portproxy delete v4tov4 listenport=6379 listenaddress=10.xxx.128.xxx