从本地开发环境访问ElastiCache memcache实例

时间:2014-03-25 09:23:28

标签: amazon-web-services memcached amazon-elasticache

有没有办法从本地开发环境访问缓存节点?虽然可以从EC2实例访问相同的缓存节点。

我正在使用带有C#的Enyim memcache客户端库。我发现很少有文章说这是不可能的,那么什么应该是最好的方法。我是否需要在本地设置memcache以进行开发工作?

3 个答案:

答案 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>
  • -L表示本地端口转发
  • -nNT表示没有分配tty,也没有在远程端执行命令

例如:

$ 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 '^]'.