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

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

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

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

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

Ответ 1

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

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

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

  • Есть ли у веб-роли Azure ASP.NET MVC (PaaS) и виртуальной машины MongoDB (IaaS).

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

Ответ 2

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

EDIT: Во-первых, убедитесь, что вы настроили свой VNET и добавили шлюз (по какой-то причине добавление шлюза занимает очень много времени... убедитесь, что вы позволили завершить его, прежде чем продолжить).

New-AzureVNetGateway -VNetName $vnetName -GatewayType DynamicRouting

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

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

Ответ 3

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

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

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

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

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

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

Ответ 4

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

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

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

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