我可以从 实例连接到私有网络中的EC2 Redis实例。但我想知道是否有方法可以连接到Amazon实例之外的ElastiCache节点,例如从我本地的开发人员设置或其他供应商提供的EC2实例。
当前从我的本地设置中尝试时:
redis-cli -h my-node-endpoint -p 6379
我只有在一段时间后才会超时。
发布于 2014-02-21 22:32:05
更新2018
以前的答案在编写时是准确的,但是现在可以通过一些配置从外部使用方向访问redis缓存,根据Accessing ElastiCache Resources from Outside AWS
老答案
不,你不能不求助于隧道等“技巧”,这对于测试来说可能是可以的,但会扼杀使用超快缓存的任何实际好处,并增加延迟/开销。
下的Old FAQ如何在私有网络内使用亚马逊ElastiCache与在外部使用不同?
ElastiCache集群,无论是在VPC内还是VPC外,都不允许从互联网访问
但是,此语言已从current faq中删除
发布于 2014-02-21 07:04:41
SSH端口转发应该可以做到这一点。尝试从您的客户端运行此程序。
ssh -f -N -L 6379:<your redis node endpoint>:6379 <your EC2 node that you use to connect to redis>
然后从你的客户那里
redis-cli -h 127.0.0.1 -p 6379
这对我很管用。
请注意,redis的默认端口不是6739
,而是6379
。还要确保您将用于连接到redis实例的EC2节点的安全组加入到您的缓存安全组中。
此外,亚马逊网络服务现在支持访问您的群集更多信息here
发布于 2017-04-08 03:08:14
这些答案已过期。
您可以通过以下步骤在AWS外部访问elastic-cache:
的
有关更详细的说明,请参阅aws指南:
https://stackoverflow.com/questions/21917661
复制相似问题