︿
Top


網管人雜誌

本文刊載於 網管人雜誌第 191 期 - 2021 年 12 月 1 日出刊,NetAdmin 網管人雜誌 為一本介紹 Trend Learning 趨勢觀念、Solution Learning 解決方案、Technology Learning 技術應用的雜誌,下列筆記為本站投稿網管人雜誌獲得刊登的文章,網管人雜誌於每月份 1 日出刊您可於各大書店中看到它,或透過城邦出版人讀者服務網進行訂閱。





本文目錄






前言

過去,企業和組織或學校的內部教育訓練場所,為了達到講師和學員的運作環境能夠一致,以便後續教育訓練時,能夠讓講師和學員專注在上課內容中,而非花費時間解決 PC/NB 硬體環境的差異或問題上(如圖 1 所示)。因此,通常會建立 PC/NB 硬體環境一致的電腦教室,對於企業和組織來說,通常規模和數量上較為小型,並且有企業和組織的 IT 人員協助處理,所以在電腦教室管理方面上並不會造成太大的困擾。


然而,對於學校來說,不僅需要建置多間電腦教室,以便滿足校內師生授課的需求之外。同時,為了因應不同老師的教學環境需求,每間電腦教室內的 PC 主機硬體也會有所差異。舉例來說,當老師的授課內容為 Microsoft Office、MATLAB……等,常見或無特殊需求的應用程式時,那麼只需要一般 PC 主機硬體即可滿足,然而授課內容為 SolidWorks 這種運算密集度高的應用程式時,倘若 PC 主機硬體未配置 GPU 的情況下,將會導致老師在授課上以及學生在操作學習上產生困擾。

此外,為了讓電腦教室能夠更有效運用和彈性調配,常見的作法就是在電腦教室的 PC 主機硬體中,將該學期老師開課會使用到的所有應用程式,全部一股腦的安裝在電腦教室的 PC 主機硬體內。如此一來,雖然達到電腦教室有效運用和彈性調配的目的,但是 PC 主機硬體即便硬體效能再強,在安裝數量眾多的應用程式後,輕者可能只是執行效能降低,最怕的是眾多應用程式之間發生資源衝突,造成應用程式無法開啟或容易發生崩潰的情況,並且隨著 COVID-19 疫情反覆不斷,實體的電腦教室也因為有群聚的風險而暫緩使用。

因此,在本文中將深入剖析和實戰演練,透過「Azure 實驗室服務」(Azure Lab Service),為企業和組織及學校輕鬆打造雲端化的電腦教室。以上述學校電腦教室環境為例,透過 Azure 實驗室服務,為學生建立具備 GPU 的 VM 虛擬主機,以便因應 SolidWorks 授課需求,另外建立的普通 VM 虛擬主機,則用於授課內容為 MATLAB 和其它普通應用程式的課程(如圖 2 所示),即可達到快速將不同的資源分派給適用的師生上課,同時也能有效避免眾多應用程式之間發生資源衝突的情況。

圖 2、實體電腦教室轉換為雲端化的 Azure 實驗室服務示意圖





Azure 實驗室服務運作架構

在實作演練 Azure 實驗室服務之前,先概要了解整體運作架構,以便後續管理和使用上發生問題時,能夠迅速找出問題可能發生的原因。下列便是 Azure 實驗室服務中,相關的技術名詞和運作架構示意圖(如圖 3 所示):
  • Azure 訂閱帳戶(Azure Subscription): 在企業或組織及學校中,IT 管理人員可以透過 Azure 訂閱帳戶,管理和使用 Azure 資源及相關服務。
  • 資源群組(Resource Group): 在 Azure 訂閱帳戶中,可以建立一個或多個資源群組進行邏輯分組。值得注意的是,後續建立的 Azure 實驗室帳戶和共用映像檔時,一旦和選定的資源群組綁定後便無法變更,必須要刪除後重新建立才行。
  • Azure 實驗室訂閱帳戶(Azure Lab Services Subscription): 在 Azure 實驗室訂閱帳戶中,可以建立一間或多間實驗室,每間實驗室內可以建立不同用途和規模的 VM 虛擬主機。簡單來說,管理人員可以把每一間實驗室,當成是一間電腦教室的概念。
  • 實驗室(Classroom Lab): 在實驗室內將會運作多台 VM 虛擬主機,這些 VM 虛擬主機是採用共用映像檔的方式進行大量部署,並且不同的實驗室都將配置不同的虛擬網路。舉例來說,管理人員可以建立具備 GPU 的 VM 虛擬主機,提供教師對於 SolidWorks 課程的授課需求,另一間實驗室建立一般用途的 VM 虛擬主機,提供教師對於 MATLAB 和其它普通應用程式的課程。
  • 共用映像檔倉庫(Shared Image Gallery): 提供實驗室建立 VM 虛擬主機時的共用映像檔,這些共用映像檔就是不同的作業系統範本,也就是教師所要授課的運作環境範本。簡單來說,教師在建立實驗室準備部署大量的 VM 虛擬主機時,可以為 VM 虛擬主機選擇要套用的共用映像檔,達成快速部署並且運作環境一致的目的。
圖 3、Azure Lab Service 實驗室服務運作架構示意圖





實戰 – Azure Lab Services 實驗室服務

建立 Azure 實驗室服務(管理人員)

在 Azure 實驗室服務運作架構中,首先要建立具備管理整體實驗室架構的管理人員帳戶,後續當然也可以依據需求,將相關管理人員加入至管理權限名單中。
一般來說,會先讓擁有 Azure 訂閱帳戶的管理人員,建立實驗室服務後再指派相關管理人員即可。

登入 Azure Portal 管理介面後,依序點選「Home > Create a resource > Categories > DevOps > Lab Services > Create」後,便會引導至建立實驗室訂閱帳戶的頁面資訊,管理人員可以依據需求填寫和選擇下列欄位(如圖 4 所示):
  • Lab Account Name: 鍵入此 Azure 實驗室訂閱帳戶名稱,在本文實作環境中鍵入的名稱為「okd-101-lab」。
  • Subscription: 選擇建立實驗室訂閱帳戶所要使用的 Azure 訂閱帳戶,本文實作環境為「Weithenn Labs - MSDN」。
  • Resource group: 鍵入此實驗室訂閱帳戶所要使用的資源群組名稱,本文實作環境為「RG-OKD-101-Lab」。
  • Location: 選擇實驗室訂閱帳戶和資源群組,以及後續部署電腦教室和 VM 虛擬主機時,所要使用的 Azure 資料中心,本文實作環境選擇採用「Korea South」資料中心。
圖 4、建立 Azure 實驗室服務和實驗室訂閱帳戶

鍵入和選擇建立實驗室訂閱帳戶的相關資訊後,管理人員可以依據需求調整進階選項,或針對其它選擇採用預設值直接按下「Review + Create」鈕,再次檢查相關組態設定值內容無誤後,按下 Create 鈕,便立即建立實驗室訂閱帳戶和資源群組。

當實驗室訂閱帳戶和資源群組建立完成後,頁面將會顯示「Your deployment is complete」訊息,並按下「Go to resource」鈕,即可將頁面導向至實驗室訂閱帳戶管理頁面。

當實驗室訂閱帳戶建立完畢後,後續需要加入額外的管理人員帳戶時,只要將該使用者帳戶加入至該實驗室訂閱帳戶中,並且指派具備「實驗室建立者」(Lab Creator)角色即可。

請在實驗室訂閱帳戶管理頁面中,依序點選「Access control(IAM)> Add > Add role assignment(Preview)> Role」,在 Role 角色頁面中勾選「Lab Creator」項目後按下 Next 鈕,然後在 Members 成員頁面中,點選 Select members 後選擇要加入 Lab Creator 角色的使用者帳號,檢視無誤後按下「Review + assign」鈕即可(如圖 5 所示)。
此時,IT 管理人員便可以指派給講師具備管理權限,以便後續講師可以自行建立雲端電腦教室,以及部署學員所要使用的 VM 虛擬主機。
圖 5、為實驗室訂閱帳戶加入其它管理人員帳戶



建立及管理雲端電腦教室(講師)

當 IT 管理人員,為講師指派具備實驗室訂閱帳戶的管理權限後,便可以依據課程需求建立雲端電腦教室,並且部署教育訓練時需要的 VM 虛擬主機運作環境,再指派給相關學員以便登入存取上課環境。

登入實驗室訂閱帳戶管理介面後,依序點選「Overview > Create a lab」項目,此時將會另開新的瀏覽頁面,並自動導向至「Azure 實驗室服務網站」(labs.azure.com),在通過使用者身份驗證程序後,便順利登入 Azure 實驗室服務網站。

在 Azure 實驗室服務網站中,按下「Create lab」鈕準備建立實驗室,也就是建立一間雲端電腦教室的概念。在建立實驗室的視窗中,首先,請鍵入和選擇這間雲端電腦教室的相關資訊(如圖 6 所示):
  • Name you lab: 鍵入這間雲端電腦教室的名稱,以便學員登入時方便識別使用的是哪間雲端電腦教室,本文實作環境鍵入的名稱為「OKD 101 Lab Classroom」。
  • Which virtual machine image do you want to use: 選擇稍後部署範本 VM 虛擬主機時,所要採用的映像檔,在本文實作環境中選擇採用「CentOS-based 8.3」作業系統範本。
  • Which virtual machine size do you need: 選擇部署 VM 虛擬主機時的運作規模大小,從最小規模 2 Cores/3.5 GB RAM 的一般用途 VM 虛擬主機,至最大 12 Cores/112 GB RAM 具備 GPU 的 VM 虛擬主機都有,在本文實作環境中,選擇支援巢狀式虛擬化的大型規模 VM 虛擬主機「Large,8 Cores,32 GB RAM」,並且預估每小時的費用為「$ 0.84」。
眼尖的 IT 管理人員應該已經發現,部署在實驗室內的 VM 虛擬主機,每小時所花費的費用方面,比起一般正常的 Azure VM 虛擬主機要便宜許多。
圖 6、準備建立雲端電腦教室並部署上課用的範本 VM 虛擬主機

在部署第二階段 Virtual machine credentials 頁面中,請為稍後部署的大量 VM 虛擬主機,組態設定採用相同的「使用者帳號」(Username)「密碼」(Password),並確認下方「Use same password for all virtual machines」選項為啟用狀態(如圖 7 所示),倘若未啟用預設密碼機制的話,屆時每位學員第一次登入 VM 虛擬主機時,系統便會彈出需要重新設定密碼的視窗。
請注意,鍵入的預設登入密碼必須符合複雜性原則,也就是密碼必須包含「數字」、「英文大小寫」、「特殊符號」才行。
圖 7、組態設定 VM 虛擬主機的使用者帳號和登入密碼

在部署第三階段 Lab policies 頁面中,請在「Lab hours available to each user outside of scheduled events」欄位,組態設定學員在排定的上課時間之外,還有額外多少小時能夠使用 VM 虛擬主機。預設為 10 小時,本文實作環境調整為「1 小時」,確認無誤後按下 Finish 鈕便開始建立雲端電腦教室,在建立頁面中可以看到系統提示最多可能需要花費 20 分鐘,才能將雲端電腦教室建立完畢(如圖 8 所示)。
講師後續可以隨時調整學員能夠額外使用的時數。
圖 8、開始建立雲端電腦教室和範本 VM 虛擬主機

當範本 VM 虛擬主機部署完成後,預設情況下為「停止」(Stopped)運作的狀態。此時,請在 Template 頁面中啟動該台範本 VM 虛擬主機,當狀態轉換為「運作中」(Running)時,請先點選「Connect to template」鈕,確認是否能夠透過 RDP 連線至 Windows 虛擬主機,或是透過 SSH 連線至 Linux 虛擬主機,舉例來說,本文實作環境為 SSH 連線至 Linux 虛擬主機,當按下 Connect to template 鈕時,系統便會彈出視窗讓管理人員複製 SSH 連線相關指令和參數,讓管理人員方便連線至該台範本 VM 虛擬主機。
基於安全性考量,可以發現 SSH 連線至範本 Linux 虛擬主機時,並非採用預設的 Port 22 而是隨機的連接埠號,例如,本文實作環境為 Port 60175。

順利連線至範本 VM 虛擬主機後,接著是為範本 VM 虛擬主機安裝相關應用程式或是軟體套件,以及客製化的組態設定,以便稍後可以利用此範本 VM 虛擬主機,達到快速部署且運作環境一致的目標。在本文實作環境中,將範本 VM 虛擬主機 Linux 系統中預設啟用的 SELinux 安全機制關閉,在完成範本 VM 虛擬主機的客製化組態設定後,便可以按下「Stop template」鈕(如圖 9 所示),將範本 VM 虛擬主機進行關機的動作。
請注意,範本 VM 虛擬主機在運作時將會花費成本,所以管理人員應該確保客製化設定完成後,關閉範本 VM 虛擬主機,以避免產生不必要的費用支出。
圖 9、完成範本 VM 虛擬主機的客製化組態設定後,記得關機以避免產生不必要的費用支出

現在,請按下範本 VM 虛擬主機上的「Publish」鈕,於彈出的 Publish template 視窗中,在 Set the maximum number of machines in the lab 欄位,鍵入要大量部署給學員使用的 VM 虛擬主機數量,本文實作鍵入數字「3」表示部署 3 台 VM 虛擬主機。
後續學員人數倘若有增減的情況,講師也可以隨時調整部署的 VM 虛擬主機數量。

待 VM 虛擬主機部署作業完成後,請點選「Virtual machine pool」項目,便可以查看部署給學員的 VM 虛擬主機狀態和相關資訊。目前,這些部署的 VM 虛擬主機尚未指派給學員存取,並且運作狀態也處於關機的情況,講師可以在管理介面中按下「Start all」鈕(如圖 10 所示),預先幫所有學員啟動 VM 虛擬主機,或是屆時學員存取成功後自行啟動 VM 虛擬主機。

圖 10、成功部署給學員使用的 VM 虛擬主機

如同管理傳統電腦教室一樣,在學校未開放時間或是例假日時,通常會將電腦教室內的 PC 主機關機,以避免不必要的電力浪費。在公有雲上的雲端電腦教室也是同樣的管理概念,因為在公有雲的環境中,只要 VM 虛擬主機處於運作狀態下就會使用資源並進行計費,然而學員可能在練習後忘了關機,或其它因素導致 VM 虛擬主機處於運作狀態,造成不必要的雲端費用支出。

因此,講師可以透過 Azure 實驗室的「排程」(Schedule)機制,讓部署在雲端電腦教室中的 VM 虛擬主機,可以在講師指定的上課時間自動開機,以及下課時間自動關機的動作。此外,為了提供給學員下課後仍然能夠持續練習的時間,在建立雲端電腦教室前講者組態設定的使用者配額,就是提供學員在下課時間時,仍然能夠使用 VM 虛擬主機的時間額度。

請依序點選「Schedule > Add scheduled event」,在排程組態設定視窗中,選擇和提供雲端電腦教室開放給學員連線 VM 虛擬主機的時間資訊(如圖 11 所示):
  • Event type: 提供 Standard、Stop only、Start only 等三種方式,其中 Stardard 便是包含自動開機和關機的設定,Stop only 為提供自動關機設定,Start only 為提供自動開機設定。
  • Date: 選擇排程機制執行的開始時間,預設採用當天日期。
  • Start time: 選擇雲端電腦教室內 VM 虛擬主機自動開機時間,例如,早上 8 點。
  • Stop time: 選擇雲端電腦教室內 VM 虛擬主機自動關機時間,例如,中午 12 點 30 分。
  • Time zone: 選擇排程機制所要套用的時區,例如,Taipei。
  • Repeat: 選擇要重複套用排程機制的時間,例如,套用排程時間至每週一、三、五,並且直到 2021 年 12 月 31 日止。
圖 11、排程設定雲端電腦教室開放時間

講師要做的最後一件事,就是指派哪些學員可以存取這間雲端電腦教室的 VM 虛擬主機。Azure 實驗室支援兩種機制,分別是「Azure AD(Azure Active Directory)」和「電子郵件」的方式,讓學員能夠存取雲端電腦教室。在 Azure AD 方面,講師只要依序點選「Users > Sync from group」,接著在彈出的視窗中選擇要同步的 Azure AD 群組即可。
請注意,必須要在使用者清單是「空的」情況下,才能執行 Azure AD 群組同步的動作,倘若已經手動新增使用者之後,管理介面中便不會出現 Sync from group 項目。

另一種新增學員名單的方式,請按下「Users > Add users manually」,在彈出的視窗中可以採用「Add by email address」選項,由講師將學員的電子郵件位址鍵入,或是選擇「Upload CSV」選項,透過上傳 CSV 檔案的方式,一次性大量新增為數眾多的學員電子郵件位址。完成新增學員名單的動作後,按下「Invite all」鈕(如圖 12 所示),在彈出視窗中鍵入邀請學員加入這間雲端電腦教室的資訊後,按下 Send 鈕便送出邀請學員存取雲端電腦教室的電子郵件。
請注意,Azure 實驗室服務,預設採用「Microsoft 帳戶」進行登入,倘若使用非 Microsoft 帳戶嘗試登入時,必須在執行註冊程序時,將非 Microsoft 帳戶與 Microsoft 帳戶進行連結綁定的動作,否則學員將無法登入和存取雲端電腦教室。
圖 12、新增雲端電腦教室的存取學員名單並送出電子郵件邀請

順利寄出電子郵件邀請後,學員便會收到註冊雲端電腦教室的邀請郵件(如圖 13 所示)。此時,學員只要按下邀請郵件中的「Register for the lab」鈕,並通過 Microsoft 帳戶使用者身份驗證程序,便能存取雲端電腦教室。

圖 13、學員收到註冊雲端電腦教室的邀請郵件



存取及使用雲端電腦教室(學員)

當學員順利通過註冊程序後,便會看到講師為學員建立的雲端電腦教室。此時,倘若 VM 虛擬主機狀態為「關機」(Stopped)的話,那麼學員可以自行啟動 VM 虛擬主機,倘若是在講師指定上課時間登入的話,那麼 VM 虛擬主機應該為「運作中」(Running)狀態(如圖 14 所示)。

圖 14、學員順利登入雲端電腦教室並看到講師所配發的 VM 虛擬主機

同樣的,學員只要按下右下角的「Connect to virtual machine」圖示鈕,即可得到 SSH 至上課用 VM 虛擬主機的連線方式。成功登入後,可以看到在剛才講師製作範本 VM 虛擬主機時,將 CentOS 作業系統中預設啟用的 SELinux 安全性機制關閉,所以大量部署出來的學員用 VM 虛擬主機,如同範本 VM 虛擬主機一樣,都已經將 SELinux 安全性機制關閉(如圖 15 所示)。
可以看到學員登入 Linux 虛擬主機時,並非採用預設的 Port 22 而是隨機的連接埠號,例如,本文實作環境為 Port 60402。
圖 15、學員順利登入講師客製化準備的上課用 VM 虛擬主機



管理雲端電腦教室(講師)

事實上,當講師發出邀請電子郵件給學員,而學員也點選 Register for the lab 鈕完成註冊動作後,講師便可以在「users」項目中,查看學員名單中的 Status 欄位,由 Not registered 轉換為 Registered 即表示註冊成功。同時,也可以在這裡為個別學員調整課外使用雲端電腦教室的時間,只要點選「Adjust quota」並鍵入延長時數,即可為個別學員增加額外使用雲端電腦教室的時數。

在「Virtual machine pool」項目中,除了可以看到 VM 虛擬主機的虛擬 IP 位址和使用時間之外,也可以幫忙學員的 VM 虛擬主機,進行開機或關機甚至強制「重新啟動」(Reset)的動作(如圖 16 所示),同時也可以連線至學員的 VM 虛擬主機幫忙進行除錯的動作。

圖 16、管理學員的 VM 虛擬主機

最後,講師可以在「Dashboard」頁面中,快速看到雲端電腦教室的使用概況,包括範本 VM 虛擬主機、學員的 VM 虛擬主機數量、學員存取清單數量、排程時間……等,以及根據講師設定的排程時間和允許下課後存取時間,進行統計後整體雲端電腦教室的費用估算(如圖 17 所示)。

圖 17、講師查看雲端電腦教室的使用情況和費用估算





結語

透過本文的深入剖析及實戰演練,相信能夠幫助企業和組織或學校,快速建立全面雲端化的電腦教室環境,甚至相關研討會和活動,例如,「黑客松」(Hackathon)或「工作坊」(Workshop)……等,也都非常適合使用 Azure 實驗室服務,達到快速建立和部署教學使用環境的目的。
文章標籤: ,