一尘不染

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

redis

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

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

谢谢。


阅读 432

收藏
2020-06-20

共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

2020-06-20