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