在我的情况下如何连接弹性帽?

时间:2017-05-17 22:13:08

标签: javascript node.js aws-sdk amazon-elasticache

我正在尝试从我的应用程序连接到aws elasticache。

我知道端点和端口但由于某种原因我无法连接到它。

我使用了这个npm包: https://www.npmjs.com/package/node-memcached-client

代码:

const Memcached = require('node-memcached-client');
const client = new Memcached({
  host: 'mycache.aa11c.0001.use2.cache.amazonaws.com', //fake aws cache endpoint
  port: 11211
});
console.log(client); // I can see it outputs stuff

client.connect()
    .then(c => {
        console.log('connected');
        console.log(c);

    }).catch(function(err){
        console.log('error connecting');
        console.log(err);
    });

由于某种原因,当我运行代码时,我看到的只是

[Memcached] INFO: Nothing any connection to mycache.aa11c.0001.use2.cache.amazonaws.com:11211, created sid:1

connected中没有错误或console.log消息。我在这里做错了吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

您可能希望从AWS查看以下文档以从AWS外部访问Elasticache资源:

Access AWS Elasticache from outside

我建议为开发和调试设置本地memcached实例,并在测试和生产环境中从EC2实例连接到Elasticache。

除非绝对必要,否则尝试设置NAT和映射IP地址的ROI对于dev / test是不合理的。

答案 1 :(得分:0)

我结束使用端口转发绕过本地实例无法连接弹性问题。

使用

ssh -L 11211:{your elasticache endpoint}:11211 {your ec2 instance ip}