AWS - как подключить два экземпляра EC2 в двух разных регионах?

Я использую AWS EC2 (других сервисов AWS пока нет), и у меня есть такая настройка:

Region 1 (N. Virginia): instance A, in VPC YYY, has public IP 123
Region 2 (S. Paulo   ): instance B, in VPC ZZZ, has public IP 456

Мне нужно сделать TCP-запрос от экземпляра B к экземпляру A.

Сначала я думал, что мне нужно только добавить публичный IP-адрес экземпляра B (456) в группу безопасности экземпляра A, но это не сработало (я не смог установить TCP-соединение, как я ожидал).

Я предполагаю, что между регионами используется другой IP-адрес, отличный от общедоступного, когда один экземпляр пытается связаться с другим, но не частный, поскольку частный IP-адрес является локальным для VPC (верно?).

Итак, как этого добиться? Какой IP-адрес следует внести в белый список в группе безопасности / брандмауэре экземпляра A?

Или, может быть, вообще, как лучше всего это делать? (соедините между собой два экземпляра разных регионов / VPC).

Спасибо!


person jotadepicas    schedule 11.02.2016    source источник
comment
Ваш ответ здесь stackoverflow.com/questions/9891419/ надеюсь, что это поможет :-)   -  person Hussain K    schedule 11.02.2016
comment
Что значит but that didn't work? Если ваши экземпляры находятся в общедоступной подсети VPC и имеют общедоступные IP-адреса, они должны иметь возможность общаться без VPN. Что не работает? Как узнать, что это не работает?   -  person helloV    schedule 11.02.2016
comment
@helloV Я имел в виду, что не могу установить TCP-соединение от B к A. Я тестировал это с помощью telnet. Затем я протестировал его подключение к A с моего локального компьютера (для этого добавил мой общедоступный IP-адрес в группу безопасности), и он установил соединение в порядке. Вот почему я спрашиваю, какой IP-адрес использует B, когда пытается подключиться к A.   -  person jotadepicas    schedule 12.02.2016
comment
@helloV также, что вы подразумеваете под публичной подсетью VPC. Могут ли подсети быть общедоступными или частными? Я думал, что независимо от подсетей, все, что требуется для доступности экземпляра, - это иметь общедоступный IP-адрес.   -  person jotadepicas    schedule 12.02.2016
comment
@HussainK спасибо! Я разберусь с этим. В нем упоминается, что общедоступный трафик подсети должен направляться через шлюз vpc. Разве это не так по умолчанию? Спасибо!   -  person jotadepicas    schedule 12.02.2016


Ответы (1)


Не зная конфигурации вашего VPC, комментировать очень сложно. Скорее всего, ваш экземпляр B находится в частной подсети вашего VPC. Предполагая, что вы работаете в Linux, можете ли вы пропинговать www.google.com от B? Если вы можете, тогда curl www.whatsmyip.com предоставит вам публичный адрес B (ищите IP в curl выводе). Используйте этот IP-адрес, чтобы открыть группу безопасности A, чтобы разрешить трафик от B.

person helloV    schedule 11.02.2016
comment
Ваш ответ помог мне понять, что у меня был запущен второй брандмауэр в экземпляре (ubuntu ufw), и именно этот второй брандмауэр блокировал мое TCP-соединение. - person jotadepicas; 12.02.2016