2016-11-15 24 views
1

我們有一個虛擬機在azure上,這個虛擬機是一個20核心,這是非常昂貴的。這家公司的代理商從早上8點到下午5點工作。在這段時間之後,幾乎沒有用處。簡單的方法來自動調整azure虛擬機的大小

我想在下午5點10分之後通過將這個虛擬磁盤的大小調整爲2核的大小來降低成本,並在上午7:50將其重新調整爲20核。我已經手動完成了一個多星期的工作,似乎節省了很多錢。

問題是,我正在手動做這個,我想自動做到這一點。

我一直在閱讀,這可以完成,如果我有一個可用性配置配置。但是當創建這個虛擬機時,可用性集合並不是出於某種原因,而虛擬機需要被重新創建才能擁有一個,但這不是一個選項。

也許我可以使用PowerShell來做到這一點?我有一個非常基礎的PowerShell知識,所以我不知道如何做到這一點。

如果我可以創建一個PowerShell腳本並使用Windows的計劃任務在特定時間運行它,那就太好了。

+1

出於好奇,你在做什麼需要有20個CPU核心?這是一個桌面或Web應用程序或其他東西?您是否託管SQL Server(或任何其他類型的數據庫?)您是否評估了其他IAAS/PASS選項(例如將數據庫卸載到Azure SQL)? – Dai

+0

只有一個動態視頻呈現服務通過休息服務暴露出來,並被Android應用程序使用。這是我所知道的一切。 – user3900456

+0

它使用一個SQL數據庫,但它不是在同一臺服務器上承載的,它是一個蔚藍色的SQL我相信 – user3900456

回答

0

要更改機器的大小,你可以運行PowerShell的

Get-AzureVM -ServiceName "MySvc1" -Name "MyVM3" | Set-AzureVMSize "Small" | Update-AzureVM 

Here is example如何實現自動化。

但是如果你運行resize命令,機器將會重新啓動,所以如果你使用的是一臺機器,你將不會在一段時間內處理任何東西。我建議你看webjobs with queue。它會給你處理的靈活性

  • 您將能夠自動縮放取決於需求(所以你會選擇基本尺寸,並儘快CPU使用率增長可以說再添加一個節點等,如果CPU是減少天藍色將擊落節點)
  • 你可以使用隊列來推動任務和webjob將拿起它。
+0

謝謝!我會試一試。沒有關於重新啓動的問題。 – user3900456

+1

我什麼都不知道你的應用程序,但通常,如果您有服務其易於轉換爲webjob(再次這取決於應用程序),但webjobs你會更靈活;) –

+0

我所知道的關於Azure是,我可以在其上託管虛擬機:)我需要更多地研究它,以瞭解我能做些什麼。謝謝 – user3900456