有没有办法从本地开发环境访问缓存节点?虽然可以从EC2实例访问相同的缓存节点。
我正在使用带有C#的Enyim memcache客户端库。我发现很少有文章说这是不可能的,那么什么应该是最好的方法。我是否需要在本地设置memcache以进行开发工作?
答案 0 :(得分:5)
据亚马逊称,AWS外部没有访问弹性缓存集群:
...永远不允许从互联网上访问VPC内部或外部的Amazon ElastiCache群集。
来自http://aws.amazon.com/elasticache/faqs/#Can_I_access_Amazon_ElastiCache_from_outside_AWS
另见这个问题:
Can you connect to Amazon Elasticache Redis outside of Amazon
答案 1 :(得分:1)
创建Elastic Cache群集时,必须定义安全组。安全组是一组规则,用于定义授权连接到群集的IP地址。
如果要从本地计算机连接到缓存群集,请务必添加规则以授权本地IP地址连接到群集(请注意,如果您位于NATing网关或代理服务器后面,则需要使用您的外部IP地址而不是您的内部IP地址)
详情请见: http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/GettingStarted.CreateCacheCluster.html
安全小组的解释如下:http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_SecurityGroups.html
- 的Seb
答案 2 :(得分:1)
您可以创建ssh隧道:
$ ssh -nNT -L 11211:<elasticache instance public dns name>:11211 ubuntu@<ec2 instance> -i <path to your pem file>
例如:
$ ssh -nNT -L 11211:blah-blah.cfg.use1.cache.amazonaws.com:11211 ubuntu@ec2-54-254-254.compute-1.amazonaws.com -i ~/.ssh/mykey.pem
在另一个控制台中,您可以连接到localhost:
telnet localhost 11211
Trying ::1...
Connected to localhost.
Escape character is '^]'.