首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redisson w/ AWS弹性缓存

Redisson w/ AWS弹性缓存
EN

Stack Overflow用户
提问于 2017-10-17 03:50:24
回答 1查看 1.8K关注 0票数 0

当我试图配置Redisson时,我一直收到这个错误。

代码语言:javascript
复制
org.redisson.client.RedisConnectionException: Can't connect to servers!
Caused by: io.netty.channel.ConnectTimeoutException: connection timed out:

在我的本地机器上不能使用Elasticache w/ Redisson吗?我还有别的选择吗?Azure允许这样做吗?

EN

回答 1

Stack Overflow用户

发布于 2017-11-23 13:14:10

如果您试图从位于AWS之外的本地计算机连接到ElastiCache,则需要在与ElastiCache群集相同的VPC中创建网络地址转换( NAT )实例,并从应用程序连接到NAT实例。NAT实例充当应用程序和Elasticache集群之间的代理。这些是步骤-

  1. 在与缓存群集相同的VPC中,但在公共子网中创建NAT实例。弹性IP地址(EIP)必须与NAT实例相关联。iptables的端口转发功能用于将NAT实例上的端口转发到Amazon中的缓存节点端口。
  2. 为NAT实例和ElastiCache集群创建以下安全组规则-
代码语言:javascript
复制
- NAT instance security group - inbound - access to the cluster port from your application IP (eg., 6379 in case of Redis)
- NAT instance security group - inbound - SSH access from a trusted IP (port 22)
- NAT instance security group - outbound - access to ElastiCache cluster port (eg., 6379 in case of Redis) by specifying destination as Elasticache security group
- Elasticache security group - inbound - access from NAT instance security group on cluster port (eg., 6379 in case of Redis) by specifying source as NAT instance security group

  1. 向NAT实例添加iptables规则。必须添加iptables规则,以便将缓存端口从NAT实例转发到群集节点。集群中的每个节点都应该有一个规则。Redis的示例可能如下所示:
代码语言:javascript
复制
- `iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 6379 -j DNAT --to <cluster-node-ip>:6379`

  1. 驻留在AWS之外的应用程序现在可以使用NAT实例的EIP和集群端口连接到EastiCache集群。

更多信息可以在这里找到- http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Access.Outside.html

另一种方法是将包含Redisson客户端的应用程序部署到EC2实例上(最好在与ElastiCache相同的VPC中)。然后可以从该应用程序连接到ElastiCache。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46782174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档