2016-06-28 2 views
0

У нас есть большое количество приложений, в которых используется один экземпляр ElasticCache (Redis), который находится за пределами VPC (классический экземпляр). Некоторые приложения расположены в VPC, а некоторые - вне VPC (классические экземпляры). Как подключить все приложения к кешу?Подключение к экземпляру ElastiCache (вне VPC) из EC2 внутри VPC

У нас нет проблем с подключением приложений за пределами VPC к кешу, так как кэш также находится за пределами VPC . В VPC-системах, которые не могут подключиться к кешу, существует меньшее число приложений.

Спасибо.

ответ

0

Невозможно напрямую получить доступ к классическому кластеру из экземпляра 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