Недавно я опубликовал вопрос в SO, но пока ответов нет. Интересно, неправильно ли я задаю вопрос.
Это проблема:
Нам нужно разработать приложение, которое предлагает общедоступную веб-службу http, но в то же время оно должно потреблять некоторые службы через VPN-соединение от другой существующей компании. Нет другой альтернативы, кроме как использовать VPN-соединение для доступа к этим сервисам. Мы хотим разместить наше приложение в какой-нибудь облачной инфраструктуре, например Heroku или Amazon EC2. Но прямого доступа к VPN-сервисам другой компании оттуда нет.
Решение, которое я думаю, но мне не нравится, - это иметь другой сервер для предоставления услуг из этой VPN. Но для этого потребуется установка другого сервера, чего я предпочитаю избегать. Если это решение, могу ли я использовать экземпляр Amazon EC2 для подключения к VPN? Это то, о чем я думал, это правильно?
У меня нет опыта использования VPN, туннелей или подобных сетевых устройств. Буду очень признателен, если вы предложите мне альтернативное решение или просто дадите мне комментарий.
Это службы, к которым вы обращаетесь, веб-службы или что-то еще?
Если это веб-сервисы, то то, что вы описали в своей неидеальной настройке, подойдет. Вы должны настроить третий сервер, который будет действовать как прокси для ваших веб-сервисов, принимать запросы от вашего «облачного» сервера и туннелировать их через VPN в корпоративную сеть (это называется «обратным прокси»).
Установление SSL (даже самоподписанное подойдет, поскольку вам нужно только доверять себе) и разрешение IP-адреса вашего «облачного» сервера через брандмауэр даже обеспечит его безопасность, но вы правы в том, что его много дополнительных накладных расходов на управление (хотя я и сам делал подобные вещи в прошлом, и когда они заработают, вы обычно можете просто оставить их в покое на долгие годы).
Я бы посоветовал найти «облачного» провайдера (я использую этот термин небрежно, поскольку «облачный» сервер - это на самом деле просто VPS в комплекте с несколькими другими внешними технологиями), где у вас есть полный доступ администратора / root к машине, а затем создайте VPN обычным способом.
Это, вероятно, будет стоить небольшую сумму, чем другие варианты, но, вероятно, в конечном итоге того стоит.
Да, я думаю, что все, что требует VPN, нельзя рассматривать как облачный сервис как таковой. В идеале вы хотели бы иметь возможность нажать URL-адрес и войти в систему с вашими учетными данными, и вам будет предоставлена услуга, которая будет настоящей облачной службой.