Защита сети между веб-сайтом и виртуальной машиной в Azure

Я понимаю, что в Windows Azure можно добавлять виртуальные машины в виртуальную сеть, но я не вижу возможности добавить веб-сайт в сеть.

Каков рекомендуемый способ защиты доступа к виртуальной машине (MongoDb) с веб-сайта Azure?

Я бы предпочел, чтобы база данных находилась за каким-то брандмауэром, а не через общедоступный Интернет.

Изменить: виртуальная машина будет размещать MongoDb, поэтому использование Sql Azure или других решений MSSql невозможно.


person kay.one    schedule 08.06.2012    source источник
comment
Вы нашли подходящее решение для этого? Сегодня все еще кажется, что проблема... Если мне придется использовать IAAS, я буду использовать AWS вместо Azure... Преимущество для меня в том, что я могу использовать веб-сайты Azure... Спасибо   -  person Pedro Alonso    schedule 20.06.2014


Ответы (4)


ЕСЛИ вы хотите использовать сеть и собственную базу данных на виртуальной машине, лучше всего начать с зарезервированных веб-сайтов. Общий веб-сайт может быть не очень хорошей идеей из-за ограниченности ресурсов и других ограничений.

Если ваша БД - MongoDB, у вас есть два варианта:

  1. Запустите приложение ASP.NET MVC на виртуальной машине (Windows Server + IIS + ваше приложение — IaaS), а MongoDB — на другой виртуальной машине. Если обе машины находятся в одном DC, вам не нужно возиться с сетью.

  2. Иметь веб-роль Azure ASP.NET MVC (PaaS) и виртуальную машину с работающей MongoDB (IaaS).

В обоих случаях вам просто нужно настроить строку подключения для подключения MongoDB, и нет необходимости в дополнительной модификации сети, чтобы заставить ее работать, поскольку все машины находятся внутри одного DC.

person AvkashChauhan    schedule 08.06.2012
comment
Я не уверен, что вы имеете в виду под статическими и бесплатными, поскольку я понимаю, что лазурные сайты не должны быть ни статическими (сейчас я запускаю приложение MVC4 в одном), и могут работать на большом выделенном экземпляре ( 4 ядра и 7 гб оперативной памяти) - person kay.one; 08.06.2012
comment
У меня нет проблем с оплатой услуги, пока мы можем разобраться с сетевой безопасностью. Мы планируем использовать лазурные сайты для быстрого и простого развертывания, а не для затратных аспектов. - person kay.one; 08.06.2012
comment
Я просто добавил больше информации выше. - person AvkashChauhan; 08.06.2012

Старый вопрос, но теперь он поддерживается Microsoft Azure: http://azure.microsoft.com/en-us/documentation/articles/web-sites-integrate-with-vnet/

РЕДАКТИРОВАТЬ: Во-первых, убедитесь, что вы настроили свою виртуальную сеть и добавили шлюз (по какой-то причине добавление шлюза занимает очень много времени... убедитесь, что вы позволили ему завершиться, прежде чем продолжить).

New-AzureVNetGateway -VNetName $vnetName -GatewayType DynamicRouting

Шлюз также можно добавить на портал.

Затем, и вам нужно использовать для этого новый портал предварительного просмотра, найдите свое веб-приложение и прокрутите вниз до Раздел «Сеть» и нажмите на кнопку «Виртуальная сеть». Затем найдите свою виртуальную сеть в списке существующих подключений. Если вы его не видите, ваш шлюз настроен неправильно.

person dprothero    schedule 13.05.2015

Я не уверен, что понимаю ваш вопрос, но я постараюсь ответить на него. Подход заключается в создании виртуальной машины (IaaS), на которой будет размещаться ваш веб-сайт, например. Приложение MVC3. (Создайте два из них, а затем выполните балансировку нагрузки в Azure). Создайте еще одну виртуальную машину (IaaS), и это будет ваша виртуальная машина БД. например SQL-сервер. Строка подключения с вашего веб-сайта позволит вам общаться с вашим сервером БД.

Когда пользователь заходит на ваш сайт, он не сможет увидеть вашу БД, поскольку она не является общедоступной, они увидят только порт 80, который вы открыли для просмотра вашего веб-сайта. Вы фактически создали безопасный веб-сайт, который люди могут просматривать через порт 80 без доступа к вашему уровню БД.

Вышеупомянутая модель использует IaaS для всего, вы также можете использовать PaaS/IaaS, где у вас есть веб-сайт, работающий в Azure PaaS (веб-роль), и у вас есть работающая БД (например, SQL Server) на машине IaaS. Опять же, весь трафик будет попадать на ваш общедоступный веб-сайт, веб-сайт будет иметь строку подключения, указывающую на ваш экземпляр IaaS, и только он сможет взаимодействовать с вашим экземпляром БД.

Есть другие способы решить эту проблему, через WAWS (веб-сайты Windows Azure), которые предлагают MySQL (объявлено сегодня), а также с помощью базы данных SQL в Azure?

Если вы объясните свои точные требования, тогда мы сможем лучше направить вас?

Я до сих пор не понимаю вашу часть виртуальной сети и что где находится?

person user728584    schedule 08.06.2012
comment
Я понимаю, как это будет работать с веб-сайтом, размещенным под виртуальной машиной, я пытаюсь понять, у кого это будет работать, используя собственные веб-сайты Azure. - person kay.one; 08.06.2012
comment
Текущая предварительная версия поддерживает только подключение веб-сайтов Windows Azure к SQL Azure и MySQL, которые уже работают в облаке. - person AvkashChauhan; 08.06.2012
comment
Вы можете добавить веб-сайт, используя веб-роль. Они могут быть добавлены в виртуальные сети и не требуют полной настройки использования маршрута VM IaaS. - person Rob Gevers; 09.10.2014

Вы не можете добавить веб-сайт Windows Azure в виртуальную сеть, состоящую из других развертываний Windows Azure.

Пока ваша база данных находится в том же центре обработки данных, виртуальная сеть не требуется. Если вы создаете веб-сайт Windows Azure, вы можете просто обратиться к базе данных SQL Windows Azure — просто настройте ее через портал, получите строку подключения и учетные данные и добавьте их в свое приложение. На самом деле, когда вы создаете веб-сайт из галереи (который использует SQL Server вместо MySQL), вас просят либо создать новую базу данных, либо выбрать существующую.

На портале вы можете легко создать собственную базу данных (это база данных как услуга и занимает всего несколько секунд). После этого вы можете включить правило брандмауэра, чтобы разрешить службам Windows Azure доступ к нему. Затем не добавляйте никаких дополнительных правил брандмауэра. На данный момент только службы Windows Azure могут даже найти вашу базу данных, и только службы, знающие учетные данные, могут подключиться к ней.

Как предложил @user728584, вы также можете запустить базу данных на виртуальной машине, но тогда вам придется получить к ней доступ через общедоступный IP-адрес. Если вы получаете доступ к локальной базе данных, у вас будет та же проблема, поскольку нет возможности установить клиент vpn на веб-сайт Azure. Вы можете сделать это с помощью веб-приложения, размещенного в веб-роли (вы можете делать практически все).

person David Makogon    schedule 08.06.2012
comment
наша база данных - mongodb, поэтому использование sql azure или решения mysql не подходит. - person kay.one; 08.06.2012