2012-06-08 64 views
11

我知道,在windows azure中,您可以将虚拟机添加到虚拟网络,但我没有看到将网站添加到网络的选项。在azure网站和虚拟机之间确保网络安全

从Azure网站安全访问虚拟机(MongoDb)的建议方式是什么?

我更喜欢将数据库放在某种防火墙后面,而不是通过公共互联网的流量。

编辑:vm将托管MongoDb,因此使用Sql Azure或其他MSSql解决方案不是一种选择。

+0

您是否找到合适的解决方案?今天似乎仍然是一个问题...如果我必须使用IAAS,我将使用AWS而不是Azure ...对我来说,好处是能够使用Azure网站......谢谢 –

回答

1

我不知道我理解你的问题,但我会尝试回答它。一种方法是创建一个虚拟机(IaaS)来托管您的网站,例如MVC 3应用程序。 (创建其中两个,然后在Azure中负载均衡)。创建另一个虚拟机(IaaS),这将是您的数据库虚拟机。例如SQL Server。从您的网站连接字符串将允许您与您的数据库服务器

当用户点击您的网站,他们将无法看到您的数据库,因为它没有公开暴露,他们只会看到你有80端口打开您的网站可以浏览。您已经有效地创建了一个安全的网站,人们可以通过端口80浏览而无需访问您的数据库层。

上述模型对所有事情都使用IaaS,您也可以在PaaS/IaaS中使用Azure PaaS(Web角色)运行的网站,并且在IaaS机器上运行数据库(例如SQL Server)。再次,所有流量都将触及您面向公众的网站,网站将有一个连接字符串指向您的IaaS实例,并且只有该实例才能与您的数据库实例进行通信。

还有更多的方法可以通过提供MySQL(今天宣布)并且在Azure中使用SQL DB的WAWS(Windows Azure Web站点)来解决这个问题?

如果你解释你的具体要求,那么我们可以指导你更好?

我仍然不清楚你的虚拟网络部分,以及它在哪里?

+0

我明白它的工作原理该网站托管在一个VM下,我试图看看谁会使用Azure的本地网站工作。 –

+0

当前预览仅支持将Windows Azure网站连接到已在云中运行的SQL Azure和MySQL。 – AvkashChauhan

+0

您可以使用网络角色添加网站。这些可以添加到虚拟网络中,不需要使用VM IaaS路由的完整设置。 –

1

您不能将Windows Azure网站添加到由其他Windows Azure部署组成的虚拟网络。

只要您的数据库驻留在同一个数据中心内,就不需要虚拟网络。如果您创建了Windows Azure网站,则只需与Windows Azure SQL数据库交谈即可 - 只需通过门户网站设置一个,获取连接字符串和凭证,然后将其添加到您的应用程序。实际上,当您从库(使用SQL Server vs MySQL)创建网站时,系统会要求您创建新数据库或选择现有数据库。

在门户中,您可以轻松创建自己的数据库(这是数据库即服务,只需几秒钟)。一旦完成,您可以启用防火墙规则以允许Windows Azure服务访问它。那么不要添加任何更多的防火墙规则。此时,只有Windows Azure服务甚至可以发现您的数据库,并且只有知道该凭据的服务才能连接到它。

正如@ user728584建议的那样,您也可以在虚拟机中运行数据库,但您必须通过公共IP地址访问它。如果您访问本地数据库,则会遇到同样的问题,因为无法将vpn客户端安装到Azure网站中。您可以使用以Web角色托管的Web应用程序执行此操作(您可以做任何事情)。

+0

这么多的方法来剥皮猫:) – user728584

+0

我们的数据库是mongodb,所以使用sql azure,或者mysql解决方案不是一个选项。 –

3

如果您正在寻找在虚拟机中使用网络和自己的数据库,最好从保留网站开始。由于资源限制和其他限制,共享网站可能不是好主意。

如果你的数据库是MongoDB的,那么你有两个选择:

  1. 让你的ASP.NET MVC应用程序在虚拟机中运行(在Windows Server + IIS +您的应用程序 - 的IaaS),并有MongoDB是在其他虚拟机上运行。如果两台机器都在同一个DC中,则不需要拨动网络。

  2. 有Azure ASP.NET MVC Web角色(PaaS)和虚拟机有MongoDB正在运行(IaaS)。

在这两种情况下,你只需要配置一个连接字符串连接的MongoDB并没有使其发挥作用,因为所有的机器都在里面相同的DC不需要额外的网络改造。

+0

我不知道静态和自由是什么意思,因为我的理解是,天蓝色的网站不需要是静态的(我现在正在运行一个MVC4应用程序),并且可以在大型专用实例上运行(4个内核和7个RAM的内存) –

+0

只要我们能够获得网络安全性,我就没有问题支付服务费用,但我们计划使用Azure站点进行快速简单的部署,而不是成本方面的问题。 –

+0

我刚刚在上面添加了更多信息。 – AvkashChauhan

3

老问题,但现在这个由微软Azure支持: http://azure.microsoft.com/en-us/documentation/articles/web-sites-integrate-with-vnet/

编辑: 首先,确保你已经设置你的互联星空和增加了一个网关(出于某种原因,加上网关需要很长一段时间......确保在继续之前让它完成)。

New-AzureVNetGateway -VNetName $vnetName -GatewayType DynamicRouting 

网关也可以在门户中添加。

然后,您必须为此使用new Preview Portal,浏览您的网络应用并向下滚动到网络部分,然后单击“虚拟网络”按钮。然后,在现有连接列表下找到您的vnet。如果你没有看到它,那么你的网关设置不正确。