【问题标题】:Access ElastiCache memcache instance from local development environment从本地开发环境访问 ElastiCache memcache 实例
【发布时间】:2014-05-03 00:47:20
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案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

    【讨论】:

    • 除了安全组之外,我看不到任何其他方法可以添加到 elasticache 安全组。
    【解决方案2】:

    根据亚马逊的说法,没有从 AWS 外部访问 elasticache 集群:

    ...永远不允许从 Internet 访问 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

    【讨论】:

      【解决方案3】:

      您可以创建 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
      

      在另一个控制台中你可以连接到本地主机:

      telnet localhost 11211
      Trying ::1...
      Connected to localhost.
      Escape character is '^]'.
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-25
        • 2017-04-07
        • 1970-01-01
        • 2017-11-14
        相关资源
        最近更新 更多