2012-06-08 66 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。如果你沒有看到它,那麼你的網關設置不正確。