У меня есть «VPC-A» с NAT и прикрепленным эластичным IP-адресом. Пара сервисов работает под нагрузкой и не может быть легко перемещена.
Также у меня есть «VPC-B» с собственным NAT для подсети и, конечно же, с другим эластичным IP-адресом.
Между двумя VPC уже установлено пиринговое соединение, поэтому внутренние службы могут взаимодействовать друг с другом.
Первый адрес EIP внесен в белый список сторонними службами, поэтому я могу выполнять запросы к их API из VPC-A.
В VPC-B у меня есть новая служба, которая должна выполнять аналогичные запросы к этому API, но EIP в этом VPC не включен в белый список.
Я пытался направить весь исходящий трафик на пиринговое соединение вместо NAT, но AWS не поддерживает это (я могу установить это правило в таблице маршрутизации, но это не сработает).
Можно ли каким-то образом разделить один EIP между двумя VPC таким образом, чтобы все исходящие запросы проходили через него?
Я думаю о Обратный прокси, а может быть, есть другие варианты?
Обратный прокси - почти единственное возможное решение для этого. Вы не можете изначально совместно использовать какой-либо тип шлюза через пиринговое соединение, но обратный прокси-сервер - это просто.
Вы также можете сделать это с парой экземпляров EC2, но это довольно творческая и продвинутая конфигурация ... по одному на каждой стороне пирингового соединения и OpenVPN или другого типа туннеля между ними. В сети без EIP настройте экземпляр в его собственной подсети, такой как экземпляр NAT, с соответствующей таблицей маршрутов VPC, указывающей на него, но с его внутренними маршрутами, отправляющими трафик из VPC через туннель. На стороне EIP выполняется NAT для трафика, чтобы использовать частный IP-адрес экземпляра в качестве источника маскировки.