У меня есть экземпляр приложения, работающего в облаке на экземпляре Amazon EC2 SuSE Linux, и он мне нужен для подключения к веб-службам в моей локальной интрасети (обычно порт 80, но также и некоторые другие), которые находятся за брандмауэром. Я ищу хорошую стратегию для этого.
Я думаю о каком-то прокси-сервере на моем сервере Windows 2000 внутри брандмауэра, который будет подключаться к экземпляру EC2 через туннель ssh. Но я никогда раньше не собирал туннель ssh. Это лучший вариант здесь? Какие рекомендуемые инструменты я могу использовать, чтобы собрать его вместе?
Это для настройки разработки, поэтому она не обязательно должна быть надежной на производственном уровне. Но это должно работать. Есть предположения?
Amazon только что запустил сервис Virtual Private Cloud, который позволяет вам подключить существующую инфраструктуру к набору изолированных вычислительных ресурсов AWS через соединение IPsec.
Я бы установил VPN между вашим экземпляром Amazon EC2 и вашей локальной сетью. Это позволит вам сохранить конфиденциальность и безопасность всех ваших коммуникаций, а также позволит экземпляру EC2 получить доступ к устройствам за брандмауэром.
Лично я считаю OpenVPN идеальным инструментом для подобных вещей. Его очень легко установить и настроить, он хорошо работает и в Linux, и в Windows, и у него открытый исходный код. Трудно ошибиться. Кроме того, я активно использовал его во многих компаниях для производственных работ и добился большого успеха.
Если вы хотите использовать SSH, его может быть сложно использовать с Windows 2000, вам может потребоваться изучить Службы для UNIX или Cygwin. Лично я бы не стал использовать SSH в этой ситуации. Я считаю, что SSH не лучший вариант для долгосрочного решения, а для общего туннелирования он требует значительных накладных расходов.
Я согласен с тем, что OpenVPN - идеальный инструмент, он требует гораздо меньше накладных расходов и имеет гораздо лучшую поддержку Windows, чем SSH. Я бы использовал машину Windows 2000 в качестве моста между вашей сетью и экземпляром EC2. Попросите маршрутизаторы перенаправить весь трафик, предназначенный для диапазона эластичных IP-адресов EC2, в Windows 2000. Используя OpenVPN для создания туннеля к вашему экземпляру EC2, сделайте так, чтобы трафик коробки Windows 2000 перешел из физической сети в виртуальный интерфейс, созданный OpenVPN. Это позволит создать прозрачное решение с ограниченной задержкой и накладными расходами.
OpenVPN - это зрелое и надежное решение, которое я часто использовал в аналогичных ситуациях. Я считаю, что оно лучше документировано и поддерживается, чем коммерческие альтернативы.
У CohesiveFT есть бесплатный коммерческий продукт для выполнения сетевых "оверлеев" в EC2.
Вы можете использовать служебную шину в службах Azure .NET для безопасной передачи сообщений между экземпляром облака и веб-службами интрасети. Мы используем это для вызова внутренних веб-служб из Windows Azure. Эту службу, очевидно, намного проще использовать, если вы используете веб-службы .NET (с использованием встроенных библиотек), но служба должна быть независимой от поставщика через REST API.
К сожалению, документации немного. Однако для этой модели вам не понадобится VPN.