透過 Iaas方式建立SQL Server VM

雖然SQL2016使用可擴充的混合式資料庫平台來打造智慧型關鍵任務應用程式,這個平台已內建企業所需的一切功能,包括 In-memory 效能和進階安全性及資料庫內分析。但是SQL Server畢竟還是商務應用系統,前題還是需要先有作業系統,相關元件(例如dot net framework)、Active Directory(做HA 時需要)…才能運作。大家一直在說雲端擁有快速、彈性、簡單,本文將示範如何快速在Azure上面建置一個 SQL資料庫

登入Azure portal (Azure Resource Model) 找到左上角的「加號」/Compute/SQL2016 SP1 Ent on Win2016,就可以以最快的速度跳過安裝OS與SQL Server,開始使用資料庫
進入歡迎畫面,可以看到相關的說明以及連結(例如文件、論壇、價格…),只需使用預設的Resource Managerd按下Create即可進入下一個設定頁面。Classic是一種類似向下相容的概念,當你有一大堆用前一代Azure portal建出來的ASM(Azure Service Model)VM時,為了讓當前的VM保持在舊的模式,以利一致化的管理用途。
在Blade左方<1>Basic setting中,需要幫VM取一個名字,(以下在欄位自動檢核功能中,只要看到綠色勾勾就是ok紅色驚嘆號就是NG),在VM disk type中有SSD與HDD的選項(因為由2017開始需要使用SSD硬碟才可以有單一VM就提供SLA的服務,在以前需要建置2個VM做Availablity set才有提供SLA),然後就是將來要登入的帳號/密碼,注意帳號不要取Administrator(Windows)或root(Lunix)之類,密碼也有其複雜度的要求,不然Azure怎麼稱的上是安全的雲端?Resource group可以使用既有(用下拉選單去選)或是新建,這是一個虛擬容器的概念,除了可以讓你快速刪除不再使用的運算資源(VM, Network, CDN, Azure SQL server...)不需顧及建置的先後關係(不然可能會發生因為刪除的順序錯誤,導致某個資源刪除不掉的窘境),也可以配合企業利潤中心做到依部門別拆帳。最後就是按下ok,進到下一個步驟
在Blade<2>Size中,我們要選擇VM的Size(規格愈高價格愈貴),當我們按下View all就可以慢慢選擇,需注意一個原則,雖然規格將來是可以往上或往下,但是將來異動時可能會遇到等待很久或是不允許異動的情況,主要是因為不同的規格座落是在不同的機櫃中,雖然VM可以Migration但是距離愈遠需要等得愈久;再來就是某些國家的數據中心並不支援某些型號的VM,建立之前最好先研究清楚,才能下好離手按下Select
在Blade<3>Config optional features中,是在設定將來要掛載的硬碟(Managed disks)、虛擬網路、子網路、對外ip、NSG(防火牆規則)、Extensions(例如防毒軟體、備份軟體…),其中NSG預設是將RDP打開,讓你可以用遠端桌面來使用這一個VM,但以最佳實務來看,應該要在Azure中用虛擬網路配合子網路規劃出front end/back end,並且準備一台跳板機,防止VM被駭客入侵,尤其是back end的VM在Blade<4>Config SQL setting中,是設定SQL connectivity預設是Private,所以在Azure Virtual Network中的VM是可以互相存取的,若想要與地端的資料庫或其他伺服器溝通,需要在Azure建置Site to Site VPN的服務。接著是SQL的通訊埠,預設是1433。而SQL Authentication預設是採用Windows驗證,若想要改成混合驗證,需要Enable。Storage config有General/Transactional processing/Data warehousing三種,我會把它設成第二個才會得到比較好的IOPS硬碟。另外還可以設定定期上patch的時間、自動備份(要額外付費)、Key Vault(與金鑰庫整合)、安裝R服務(預設是Disable)
在Blade<5>就是Summary,按下ok就開始建VM了。眼尖的你應該有看到,在ok的旁邊有一個 Download template and parameters,這就是ASM厲害的地方了
ASM基礎於infrastructure as code的理念,讓VM的建置可以自助化、流程化,所以將其透過XML Script化(Json)使其容易reuse,甚至可以做到一鍵生成解決方案VM(例如依序建置DB, Web Server, AP Server...)的高效商務應用

李秉錡 Christian Lee
Once worked at Microsoft Taiwan