从VPC内部的EC2连接到ElastiCache(外部VPC)实例

时间:2016-06-28 04:10:30

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

我们有大量使用一个ElasticCache实例(Redis)的应用程序,它位于VPC(经典实例)之外。某些应用程序位于VPC中,而某些应用程序位于VPC(经典实例)之外。我们如何将所有应用程序连接到缓存?

我们将VPC外部的应用程序连接到缓存没有问题,因为缓存也位于VPC之外 VPC内部的应用程序数量较少,无法连接到缓存。

感谢。

1 个答案:

答案 0 :(得分:1)

无法从VPC实例直接访问经典集群。解决方法是在经典实例上配置NAT。

NAT需要一个简单的tcp代理

YourIP=1.2.3.4
YourPort=80
TargetIP=2.3.4.5
TargetPort=22

iptables -t nat -A PREROUTING --dst $YourIP -p tcp --dport $YourPort -j DNAT \
--to-destination $TargetIP:$TargetPort
iptables -t nat -A POSTROUTING -p tcp --dst $TargetIP --dport $TargetPort -j SNAT \
--to-source $YourIP
iptables -t nat -A OUTPUT --dst $YourIP -p tcp --dport $YourPort -j DNAT \
--to-destination $TargetIP:$TargetPort

更多详情:https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Access.Outside.html