Прошу помощи в поиске подходящего решения у профи.
Задача.
1. Нужны постоянно запущенные несколько Windows-приложений с интерфейсом, которым нужен доступ в Интернет. Входящие подключения этим приложениям не требуются. Крайне нежелателен перезапуск приложений и или виртуальной машины вцелом.
2. Хотелось бы иметь доступ к серверу по RDP с предварительным включением этого доступа.
3. Хотелось бы иметь доступ к серверу через какую-то консоль.
4. Если сервер перезагрузился, то мне нужно узнать об этом, например, письмом. Лучше — письмом и СМС-кой. Как быть в случае выключения — не знаю, но тоже хотелось бы узнавать об этом, если такое вообще возможно. Кроме того, мне нужно чтобы все мои приложения запустились сами автоматически после ребута в нужном мне порядке с заданной задержкой. Предполагаю, что запуск приложений после ребута можно реализовать скриптом.
5. Меня бы устроило, если бы я каждый раз когда мне нужен доступ к серверу, заходил бы на портал Windows Azure, включал бы там реальный IP, после этого создавал конечную точку и тогда уже получал бы доступ к серверу по RDP. То есть мне не нужен постоянно реальный IP. Возможно, я просто не знаю как от него «отказаться».
6. Минимальная оплата в месяц.
Что и как из желаемого реализовано сейчас.
1. Windows Azure. Одна виртуальная машина. В ней запущены нужные приложения. Никакого контроля ребутов нет. Не знаю как лучше реализовать его.
2. Недостатки:
2.1. Сервер виден напрямую в Интернет, из-за этого постоянный брутфорс из инета. Я за этот трафик я еще и плачу, если я не ошибаюсь. конечно. Только что (пока писал) пришел к тому, что можно удалить конечную точку на портале Windows Azure и добавлять ее только тогда, когда нужен доступ по RDP, а после сеанса работы по RDP — удалять конченую точку. В этом случае брутфорс будет происходить только в периоды когда существует конечная точка… но сервер останется «виден» в интернете всеравно.
2.2. Отсутствие консольного доступа. Если с сервером что-то не так (например, нет доступа по RDP почему-то), то я должен буду скачать VHD-файл и работать с ним локально. Не знаю бывают ли у других компаний другие решения, но такое решение — не очень удобное, ИМХО.
2.3. Нет возможности отказаться от реального адреса вообще. Или я не знаю как это сделать?
3. Преимущества: плачу 12 долларов в месяц согласно плана «По мере использования», что является вполне приемлимым для меня.
Прошу помочь в достижении желаемого результата. Возможно, я чего-то не понимаю и кроме того, что я написал, нужно/можно реализовать что-то еще.
Буду очень признателен за любую помощь. Могу предложить взамен на комплексную помощь — материальное вознаграждение в своеоброзном виде. Точней объясню тому, кто возьмется помочь.
Прокомментирую по поводу Azure:
1. Доступность машины обеспечивается обычным HA-кластером, означающим жесткую перезагрузку при выходе сервера из строя.
2. Через создание/удаление «конечных точек», желательно на нестандартном порте. Либо ограничивайте IP-адреса с которых доступен RDP через встроенный межсетевой экран.
3. Консоли нет, для восстановления после сбоев предлагается использовать бекапы.
4. Мониторинга перезагрузок действительно нет, недавно появились оповещения, но нужную вам метрику пока не добавили. Реализовать функцию можно одним способом — настроив мониторинг внутри ВМ.
5. У вас его нет, сервер доступен извне только через «конечные точки».
а Azure можно настроить две виртуалки в локальной сети, одну из этих виртуалок (линукс) вторым интерфейсом засветить в интернете.
На линуксе открываете доступ кому откуда надо + впн, по желанию. Опять же, минимальный линуксовый инстанс врядли будет сильно много кушать.
PS кстати, Azure считает, что у Вас одной и той же задачей занимается как минимум два хоста, так что стоит иметь в виду что простои могут быть.
Я понимал, что могу сделать цепочку из виртуальных маршрутизаторов, но моя цель — невидимость сервера снаружи… то есть линух-маршрутизатор же будет виден в инете, значит его будут тоже брутфорсить. Пока что, я просто удалил конечную точку на портале и буду добавлять ее только когда мне нужно будет зайти на сервер по RDP. А нужно мне это редко и не на долго.
По поводу простоев — не понял. Как это одной задачей занимается минимум два хоста? Вот эту часть не понимаю. Прошу разжевать:)
Можем углубиться в вопрос по поводу автоматического запуска приложений (после ребута) в нужном порядке с нужной задержкой между запуском каждого из них? И в вопрос получения уведомлений при ребуте.
Любой сервер, торчащий внешним IP в сеть будет подвергаться сканированию.
Кто Вам мешает фаерволом закрыть весь входящий трафик, кроме нужного Вам на вход хоть на Win, хоть на *nix'?
По поводу простоев — Любой нормальный системный администратор сделает резервирование сервиса — будь то почтовые сервера или сервера терминалов. Как раз для того, чтобы выводя их в режим обслуживания обеспечить минимизацию простоя сервиса для конечных клиентов.
Вот на семинарах по Azure нам говорили что облако считает что у Вас как минимум 2 инстанса, и в случае чего, один из них можно потушить на обслуживание.
Любой сервер, торчащий внешним IP в сеть будет подвергаться сканированию.
Вот этого я и не хочу. Поэтому и удалил конечную точку на портале.
По поводу простоев — понял. Но дело в том, что те приложения, которые я использую, не получится просто так запустить на второй виртуалке.
Возможно, я ошибаюсь, но, кажется, читал где-то о том, что Майкрософт резервирует виртуалки. Речь шла не о бекапе данных VHD, а о том, что содержимое оперативной памяти тоже как-то бекапится. Я что-то путаю?
Если нужно, я объясню какие у меня запущены приложения и как они работают между собой
Ну пусть себе сканируют, я уже в третий раз повторяю — настройте нормально фаервол на вход только с определённых Вами IP.
Надо читать более подробно про резервирование виртуалок и их памяти, на это я Вам сейчас не отвечу.
Врядли там есть резервирование оперативки, скорее обычный HA в кластере.
А несколько инстансов советуют делать для непрерывной доступности сервиса, если что-то случится с сервером/кластером/датацентром.