当我尝试配置Redisson时,我一直收到此错误。
org.redisson.client.RedisConnectionException: Can't connect to servers!
Caused by: io.netty.channel.ConnectTimeoutException: connection timed out:
是不是可以在我的本地机器上使用Elasticache w / Redisson?我还有其他什么选择? Azure是否允许这样做?
答案 0 :(得分:0)
如果您尝试从AWS外部的本地计算机连接到ElastiCache,则需要在与ElastiCache群集相同的VPC中创建网络地址转换(NAT)实例,并从应用程序连接到NAT实例。 NAT实例充当应用程序和Elasticache集群之间的代理。这些是步骤 -
为NAT实例和ElastiCache群集创建以下安全组规则 -
将iptables规则添加到NAT实例。必须添加iptables规则才能将缓存端口从NAT实例转发到群集节点。群集中的每个节点都应该有一个规则。 Redis的示例可能如下所示:
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to <cluster-node-ip>:6379
更多信息可以在这里找到 - http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Access.Outside.html
另一种方法是在EC2实例上部署包含Redisson客户端的应用程序(最好在与ElastiCache相同的VPC内)。然后,您可以从该应用程序连接到ElastiCache。