2021年11月28日 星期日

敏捷,其實很簡單

enter image description here

DevOpsDays 2021的會場,有個活動叫專家面對面好像(具體叫啥我忘了),主要是讓與會者能夠和現場講師有更多互動。當天分享結束後,主辦單位請我去那坐一下(我當然也從善如流的照做了),正當我回答完幾位學員的問題,準備離開的時候,有一位年紀比我稍長的先生坐了下來,有條不紊的介紹完自己的團隊與專案後,開口問了幾個問題。

其中,有一個很關鍵,大概是這樣的內容:『如果團隊手上非常多插單的情況,導致每個迭代都無法正常進行,這樣適合 run scrum嗎?』根據多年的經驗,這個問題肯定只是表象,背後一定有著其他沒說出來的狀況。

我想了想,反問他:『你們的迭代設定多長?』
『一周或兩周,每個團隊有點不同』他回答。

我疑惑的問:『所以用戶的需求等不及一周的時間? 非得立刻插單不可?』『因為都是一些非常嚴重bug,不立刻處理不行』他說

『那你們真正該面對的不是插單的問題,而是整個專案已經快失控了,這樣等於每天都在救火啊?』我看著他。
他有點不好意思的說:『的確是這樣的。』

『那我的建議會是…』我認真的回答他道:『你們應該停止任何新功能的開發,先把所有的bugs解決,然後找出系統架構上或開發上的核心問題,到底~是什麼原因導致系統bugs層出不窮? 先著手解決它,別讓團隊陷在持續救火的處境裡…』

如果團隊每天都必須救火,那不管你 run 什麼方法都是對專案沒有幫助的,敏捷或scrum的導入不會立刻改變團隊的體質,如果大家的習慣不改變,團隊面對的困境還是會持續僵在那裏。

『但是,如果不開發新功能,這樣專案就不會有進度了啊?』他似乎有些擔憂這個。

如果你不停止開發新功能,去面對團隊本該處理的核心問題,這樣你看到新功能的進度,也只是個假象,終有一天,層出不窮的bugs會在專案的後期吃掉你所有的進展,最終,你會無法交出任何一個功能給客戶。

『恩,我知道』他面有難色地回答。說完謝謝之後,就皺著眉頭離開了。

我知道他心裡的考量和難處。

回到根本,敏捷其實很簡單–就是務實的面對問題,努力交付出用戶真正可以用的軟體。但,在這世上,總是有很多事情,特別是技術面以外的事情,並非那麼的務實。有時候我們的思慮,可能還包含了人情、績效、政治…等等各種其他方面的考量。這時候,問題就被我們搞複雜了。

就如同我在DevOpsDays中說的,敏捷一直都很簡單,但讓一切複雜的,是人。如果我們把專案的成果建築在不穩固的基礎上,不管你的專案看似多麼地 on schedule, 一夕之間都有可能歸回無有。

相關課程:

敏捷開發專案管理與Azure DevOps實戰
https://www.studyhost.tw/NewCourses/ALM

2021年11月25日 星期四

Azure DevOps in Action - 實現PR觸發的CI自動化建置

在上Azure DevOps課程的時候,學員問了一個很好的問題。

如果我們採用 Feature Branch,那你會走一個底下這樣的團隊合作流程:
enter image description here

上圖中有一個很重要的部分是,在PR之後所觸發的自動化佈署。

也就是,在feature branch分支被commit/push準備合併到主線前,我們會透過PR進行code review和discussion,過程中當然應該要先針對分支進行build才對呀。如果 build fail 了,那或許根本沒啥好討論了,整個PR直接給個comment然後reject掉就得了。

所以,分支(特別是feature branch)在走PR合併回主線前,針對分支的auto build非常重要,但,這要如何實現?

在Azure DevOps中,是透過 branch policy來實現的:
enter image description here
你只需要設定特定分支(例如master)的branch policy,把開關打開,設定任何從只分支建立出的分支(像是feature branch),PR後都會觸發個定的build pipeline就行了。

enter image description here

如此一來,圖中PR就會自動觸發該分支的build,這樣,我們的repo owner或是reviewer就可以在code review之前,看看build是否成功:
enter image description here
當然,在build pipeline中,我們也可以先做像是 SonarCloud / Checkmarx 之類的程式碼掃描,如此一來,整個團隊的開發協同運作流程,就更加迷人了。

相關課程:

敏捷開發專案管理與Azure DevOps實戰
https://www.studyhost.tw/NewCourses/ALM

2021年10月25日 星期一

+壓力-身段×堅強÷任性

#一起看廣告

昨天晚上,做了個夢。
我夢到在駕駛座上睡著了,然後被後座的其他乘客叫醒,乘客急急忙忙地跟我說:『ㄟㄟ,David,你睡著了啦!! 車還在開耶…』

我回答:『對耶,啊…有自動駕駛啦…』
然後我就繼續睡了…

早上起床突然想到,跟老婆說。
她說:『好啦,收到,我知道你有多想買自動駕駛的車了…』

古人說:『日有所思,夜有所夢。』可能真的是因為,這陣子看了好多汽車廣告。

最近看到 Ford 的廣告拍得很好,分別是林依晨的 New Focus (很值得看)

還有先前張鈞甯的 KUGA: (超好看)

後來又補一個:

上面這兩個廣告我都超推,不看你會後悔。但某天,我看著看著,卻讓我回憶起十多年前的這一支廣告。總覺得 Ford 的車怎麼樣我不知道(沒開過),但廣告總是拍得很有意境:

+壓力-身段×堅強÷任性
換算之後,你是否還記得真實的自己?

當初看上面這則廣告時,自己還是個帶著無限衝勁,剛站穩在職場上的少年。

但,這十幾年(也才十幾年),很多事情都改變了。環境變了,世界也變了。傲氣收斂成淡淡的執著,衝動則被多慮的思緒給撫平了。

年輕人總是想『做自己』(相信我,這並非時下青年的特色,每一個世代都是)。但,到了最近這個年紀,才發現,原來做自己之前,還得先找到自己。很顯然的,年輕時不顧後果地去凸顯自己的任性,並不是做自己。

當你找到並認識自己是誰,明白自己的能力和限制,還能無畏著外界的眼光,放下纏累自己的包袱,不跟他人比較、不被世俗的成功定義,還有勇氣和餘力踏上自己想走的路。持續走下去…這樣,才是做自己。

『做自己』要的不單單只是一股衝勁,而是認真的認識並面對自己的個性和缺點、堅持著持續超越和挑戰自己的毅力。

2021年8月8日 星期日

Azure WVD-讓你在瀏覽器中執行 Windows 10

如何在瀏覽器中執行 Windows?

要談這件事情前,我們得說說為何會有這個需要? 雖然對我而言,這個需求是顯而易見的。

虛擬桌面的美好想像

過去在企業環境中,使用vmware或hyper-v搭建一整套給用戶的虛擬工作環境,或是採用RDP以multi-session的形式提供用戶透過遠端連入的工作環境,都是企業內很常見的使用方式。

這樣做帶來幾個好處:

  1. 用戶端的實體設備等級不用太高,因為大量工作實際上都運行在遠端機房。
  2. 安全性容易控制,因為實際運行的程式大多也都在機房。
  3. MIS/IT人員不再需要為每一台用戶端設備傷腦筋。用戶端隨便用任何一台設備,登入遠端虛擬桌面後,都可以立即讓同仁開始工作。
  4. 同仁即便在遠端(家裡、網咖)、拿自己的NB也可以隨時連入工作(WFH居家辦公一次搞定)

隨手都能舉出好幾個理由,讓大部分MIT/IT人員對於遠端虛擬桌面有許多美好想像(包含我在內)。

自從有了Azure雲端之後,事實上我的桌機或NB的硬體更新頻率越來越低,因為大部分我工作都直接透過RDP用雲端上的VM來進行。這樣有許多好處。包含,有需要時隨手可以把VM升級成16或32G的記憶體,硬碟空間更是要多大有多大,只要網路速度可以,在遠端VM上工作比local實體機效率來的高上不少,算是一個頗奢侈豪華的享受。

對我個人來說,這樣做也有另一個好處,方便我把工作和個人電腦分開,工作我一律用雲端VM,個人NB則大多做些教育訓練或私人的事情,工作時只需要從NB連上雲端VM即可,環境乾淨不容易混亂或衝突。

需要克服的缺點

然而,使用RDP從NB連上雲端windows 10的VM,對很多人來說已經很美好,但我覺得還是有些缺點。當我想要大範圍的導入時,會碰到一些障礙:

  1. RDP採用3389 port,常常在企業內有被擋掉的可能。
  2. RDP在MAC環境可以用,但在android和iOS上還是有不少限制。在Windows環境上用戶也需要一點基本概念,才能夠使用。
  3. 用戶端的RDP上會保留有連線位置等資訊,在網咖或是外部環境使用相對風險比較高。

Azure WVD解決方案

因此,當我聽到Azure上的WVD解決方案時,實在非常心動。比起單純的RDP和雲端VM(或是地端的hyper-v, vmware),它有底下好處:

  1. 用戶端只需要有瀏覽器(Chrome/Edge)就可以運作,可透過網頁直接操作遠端VM,也不需要搭建VPN。(圖一)
  2. 在雲端可以建立虛擬機(VM)的集區,讓多台windows 10服務多位用戶。可以讓多位用戶可以被平均分攤到每一台Windows 10環境上工作。(圖二)
  3. 伺服器端可以看到用戶目前位於哪一台虛擬機,電腦集區中的VM支援清空模式,當需要維護特定VM時非常方便。(圖三)
  4. 可以建立多種工作環境,讓不同類型需求的用戶,使用適合自己的工作環境。(圖四)
  5. 若有需要,可以隨時從Azure Portal發送訊息給VM用戶,讓某一台VM上的用戶收到通知。(圖三) (圖五)
  6. Azure VM本身就可以隨著需要而動態擴充,加大記憶體或硬碟,而無須重建VM環境。
  7. 支援剪貼簿複製、列印、檔案傳輸、音訊。不過你可別忘了,沒有RDP用戶端,運行在瀏覽器中的遠端虛擬桌面,是怎麼實現這些功能的? 它的作法很有趣…

還有很多好玩的地方,讀者可以先對照著上面的說明,看看底下這些附圖:

圖一:
enter image description here

圖二:
enter image description here

圖三:
enter image description here

圖四:
enter image description here

圖五:
enter image description here

光在瀏覽器中可以執行這一項,就是我覺得很驚艷的功能。但有沒有想過,如果沒有RDP Client,那它怎麼完成檔案的上傳和下載?

如何實現列印以及檔案上傳與下載?

WVD對於列印的實作很有意思,如果用戶在連入的時候,選擇支援列印功能,則會看到雲端虛擬機上多了一台印表機:
enter image description here

如果對這台印表機列印,會出現一個很有趣的事情。你會發現,列印的東西會被轉成PDF然後在你的瀏覽器中變成下載檔案:
enter image description here

這解決了在瀏覽器環境中運行虛擬桌面的文件列印問題。

同樣的,檔案的上傳與下載也是採用類似的機制,如果你想將VM中的某個檔案傳遞到Local本機電腦上,只需要把該檔案複製到VM裡面的下載檔案資料夾:
enter image description here
該檔案就能夠自動的被瀏覽器下載,你就可以在本機電腦上取得該檔案了。

而上傳更簡單,只需要點選VM右上角的上傳鈕,即可從用戶端上傳檔案到VM上,被上傳的檔案會出現在VM的 『遠端桌面虛擬磁碟機\上傳』 資料夾中…
enter image description here

好玩吧? 我可是玩得不亦樂乎。

如何架設WVD環境?

至於如何架設WVD的環境,我得說,從我這個寫程式的人的角度來說,確實沒有很容易。有許多背景知識你需要知道,諸如Windows AD和AAD(Azure AD)以及AADDS(Azure AD Domain Services)之間的關係。以及讓VM加入網域這一塊,著實花了我不少時間。

我建議交給有經驗的雲端技術工程師來進行,如果您想嘗試看看,可以參考底下這篇偉任的介紹,這篇文幫了我不少忙:
https://www.netadmin.com.tw/netadmin/zh-tw/technology/230DC44996D24A5EB2A66679B9966293

另外,文章完成後,網友弘宇提供我底下這份文件,對於整個安裝過程也有非常詳細的介紹,甚至還有HOL唷,大家可以參考看看:
https://github.com/BrianHsing/Azure-Virtual-Desktop?fbclid=IwAR1lyP7c7GhcR9RSjCdMSYLx37-_WEUaRw8vjQl1X_KS5LTho5fY8-o345o

結語

最後,我覺得WVD算是微軟最近幾年在虛擬桌面這一塊整合性和完整度最高的一次展現,其實用戶端除了瀏覽器之外,還可以用iOS, Android,當然在MAC上也有支援。

對於MIS/IT來說,絕對是WFH的非常好的一個解決方案。
祝您玩得愉快, enjoy it.

2021年7月5日 星期一

周末讀書會:時間真的等於金錢???

enter image description here
我正在讀一本奇書,裡面有個觀念頗有意思。但在分享之前,我先問你一個問題…

你覺得…過去一年,哪一段時間你的生產力最高?
那段時間會不會正好是你最忙的時候?

其實並不一定,對不對? 也就是說,你可能很忙,但完全沒產出甚麼有價值的成果(俗話說是「瞎忙」),也可能實際工時很少,但成果豐碩(特別是創作者)。

書中有一個章節告訴我們,如果想提高生產力,你必須減少工作時數(注意,不是增加)。作者覺得,傳統的時間管理很有問題,因為工作時數不等於生產力。這部分你可能跟我一樣,我始終覺得,企業用工時來計算薪資(或是專案成本)是件很奇怪的事情。老闆想要(買)的到底是"成果"? 還是想要 “看到我在辦公室出現”?

這是大家都知道的道理,但如今這個持續了那麼久,讓我們覺得不可思議的薪資和成本設計,是過去一百年來延續出的結果(這邊我要提到另一本過去介紹過的書『組織再進化』,有空可以自己去看看)。你知道,過去(工業革命時代),“時間就是金錢”,那時候生產線林立,勞工的上班時間就100%等於產出時間,下了班離開了工廠、沒了生產設備就什麼事都不能做(也就是沒有產出)。

因此,在那個時代,工時=薪資(或成本)是很有道理的。但,這已經是將近一百年前的事情了,想想好玩,如今我們的勞基法的基本精神卻還是基於那個年代?

而今天,對我們(特別是開發、創作人員來說),工時跟生產力之間根本沒有必然的關係。你一定有這種經驗,有時候你靈思泉湧、創作如同神來之筆,半小時內可以完成平時三四倍的工作量。而另一些時間,你可能沒睡飽或因為私事思緒混亂,這時就算在辦公室待上一整天也做不完任何一件事情。

所以這本書的作者認為,“時間” 根本並不重要,專注力與精力才是重點。(好啦,他其實沒這麼說,他覺得時間也很重要,但不是唯一重要)

同時,他還做了一個有趣的實驗,實驗結果顯示,當工時加倍,其實最終的有效工作產出只比工時減半時增加了 “一點點”。但有趣的部份是,當事人總會 “以為” 自己的產出很高(因為感覺自己很忙),但統計之後則是發現 “根本沒有”。

我覺得這也解釋了,為何辦公室中許多主管很喜歡一直開會,因為開會會讓自己主觀上覺得一直很忙、一直有產出,但其實…你知道的,根本沒有。

所以,總的來說。

  1. 工時越長,並不代表工作成果(或產出)會越好
  2. 傳統時間管理很有問題,因為重要的(你想要的)根本不是時間
  3. 重點在於怎麼使用自己專注力最佳、精力最高的那段時間來工作

至於怎麼做,你可以看書,書裡面有講,我就不多說了。


WFH時代,我根本不在乎同仁工時有多少,因為,我想要的是成果,不是想花錢買員工出現在我面前的時數。

最有生產力的一年 (電子書)

2021年6月12日 星期六

讓Microsoft 365(Teams)的身分驗證支援2FA(Two-Factor Authentication)

enter image description here
前面說過,最近因為WFH的關係,協助了一些公司將許多地端的OA相關應用移動到像是Microsoft 365、teams、與Azure等雲端環境上,以確保萬一封城或是台灣大規模分區停電下,企業主要服務依舊可以透過雲端來存取和運行。也因為如此,上次和大家分享了如何在家裡透過VPN連上Azure,以安全的方式來存取雲端資源。

但除了讓用戶走VPN去存取雲端資源,以避免讓雲端上的資料或服務公開在網際網路上(讓駭客當箭靶),另外一個非常基本卻重要的機制,是使用M365/Teams/Azure等雲端服務的企業不該忽略的,也就是2FA(Two-Factor Authentication)。

很多企業用戶可能根本不知道,瀏覽器上常見的登入行為,本身就有機會造成資安疑慮的最大風險,只要用戶在不熟悉的電腦上登入(例如網咖、公用電腦、別人的筆電…)或是用了不熟悉的網路(像是車站、咖啡廳、或是網路上隨意搜尋到的免費WIFI分享網路),都很可能在無意之間讓你的帳密外洩。

由於Azure和Microsoft 365(包含MS Teams)都是攤在網際網路上的服務,倘若用戶一不小心帳密外洩,那造成的風險恐怕也是不低的。

如何讓帳密更安全嚴謹的使用呢? 答案就是2FA(Two-Factor Authentication),關於2FA的細節你很容易在網路上找到,這邊就不多提了,總之微軟除了讓用戶以帳密登入以外,還提供你多重的身分驗證機制,例如手機簡訊就是其中之一。

簡單的說,你可以將M365或是Azure帳密設定為 – 在陌生的電腦上登入時,即便正確輸入帳密,還得再透過手機簡訊進行2次驗證(也可以用App進行驗證)。如此一來,可以大幅增加駭客的攻擊難度,避免你在密碼不小心外洩(或被猜對)時,遭受到駭客的入侵。

讓admin開放此功能

設定的方式很簡單,首先,你必須讓M365(Teams)管理員幫你從後台開起這個功能,它位於M365的admin center–>設定–>組織設定–>多重要素驗證:
enter image description here

admin可以透過底下UI找到要開啟此功能的用戶,並且點選『啟用』即可:
enter image description here

你會看到底下畫面:
enter image description here

用戶設定2FA驗證(以手機簡訊為例)

啟用之後,下次該用戶成功登入後,就會發信自己被引導到底下畫面:
enter image description here

進入下一步之後,系統會讓你選擇第二重驗證方式:
enter image description here

你可以選擇行動電話驗證,輸入號碼並選擇使用簡訊驗證之後,按下『下一步』即可:
enter image description here
這時候,微軟會傳簡訊到你輸入的手機號碼上,請把簡訊中的數字輸入上圖畫面,並點選『驗證』鈕。

這時其實已經大致設定完畢,最後會出現底下畫面:
enter image description here
這是為了讓目前尚不支援2FA的環境可以有替代方案,直接點選上圖完成即口。

登入時

設定好之後,用戶的登入其實完全一樣,在都登入時的第一個畫面,都必須輸入帳號密碼:
enter image description here
但不同的是,當成功登入之後,若該電腦(設備)是第一次登入,則會跳出底下畫面:
enter image description here
這時快查看你的手機,你會發現手機上收到MS傳來的簡訊,其中包含六位數字代碼,請正確的輸入該六位數字代碼後,你才會獲得登入。

透過這樣的方式,你可以更安全的使用雲端的服務,即便萬一不小心密碼被猜中,你還有第二道防線"手機簡訊",可以保護你的身分不致外洩。雖然很容易,但企業內卻有許多用戶沒有做這樣的設定。趁著WFH,快鼓勵企業用戶為自己的資安加上第二道鎖吧。

2021年6月8日 星期二

WFH必備-在家中透過VPN使用Azure雲端上的服務

在一般的承平時期,企業內部網路要連接到位於雲端的服務,可能會採用 site to site VPN的形式,也就是把企業內網與Azure雲端的虛擬網路透過VPN互聯,達到安全連線的效果:
enter image description here

需求

但最近這幾周,很多企業開始居家上班(WFH),導致用戶需要從家裡存取雲端上的服務,不管是伺服器、網站、資料庫、或是檔案系統…這時候,該怎麼辦呢?

你可能會說,這很容易啊,位於azure上公有雲的服務,都有對外(對internet)的IP,只要開放讓同仁從家裡連線不就得了? 當然不行,因為如此一來,等於把企業的應用攤在網際網路上讓駭客當箭靶練習入侵,因此,我們還是必須走一個安全的方式才行。

做法有兩種,一個是在企業的防火牆上,開放用戶透過VPN從家裡連線的管道,讓用戶先從家裡連到公司,再從公司透過VPN存取雲端的服務。但這樣等於是透過企業機房作為橋接,大部分公司我猜也是這麼做,但有個小缺點,如果台灣斷電(別跟我說不可能),那所有的服務就只能停擺了,即便根本沒受影響的雲端服務也是。

因此,另一種作法呢,則是直接讓用戶從家裡以VPN連線到 Azure 雲端服務,直接存取企業在Azure雲端上的資源,如果你根本把整個企業機房(或上面的主要服務)都移上雲端上(做異地備援或主要服務),更適合這麼作:
enter image description here
這篇文章要介紹的,就是上面這個模式。

如何讓員工,直接透過VPN,從家裡(其實從公司也行)透過網際網路安全的連線到企業位於公有雲上的資源。

環境說明

好,為了說明這個情境,我們建立了一個簡單的模擬。請再仔細看一下上面這張圖,其中有幾個需要注意的部分:

  1. 假設企業在雲端有兩台VM(提供了企業的主要應用,先別管是DB還是AP是WEB…反正就是個情境),IP位置分別是10.0.0.4, 10.0.0.5,這兩台VM使用同一個虛擬網路,其子網路是10.0.0.0/24,這個虛擬網路就是待會我們要讓員工從家裡連上的虛擬網路。
  2. 為了讓員工從家裡安全的連上虛擬網路,我們有設置了一個Virtual Network Gateway,員工要從家裡連上虛擬網路,必須通過這個Virtual Network Gateway。
  3. 從家裡連上Virtual Network Gateway的工具,是Azure VPN Client,而我們用的驗證方式,是採用Azure AD 驗證,這意味著你必須要有一個AAD(放心,只要你用了Azure表示你一定有)。

好,有了上面的概念之後,就開始實作了。
由於我們的情境下,雲端環境上有兩台VM,我們規劃的位置是10.0.0.x,因此,我們會先建立一個虛擬網路(10.0.0.0/16),並且指定子網路為(10.0.0.0/24):
enter image description here

然後再在建立VM的時候,幫VM指定使用這個虛擬網路:
enter image description here
如此一來,建立出來的VM就會在該虛擬網路的子網路IP區段中。

如果你建立多台VM,你會發現這幾台VM可以用內部IP互通:
enter image description here

同時在v-net中也可以看到:
enter image description here

建立gateway

基本環境沒問題之後,請參考下圖,接下來我們要建立virtual network gateway的部分:
enter image description here

Virtual Network Gateway的建立採預設參數即可,但需要留意,建立的時候『虛擬網路』的部分必須選擇上面包含我們VM的這個虛擬網路(這理所當然),建立好之後,請點選Virtual Network Gateway的『點對站(P2S)設定』:

enter image description here

其中有幾個關鍵,首先,你知道的,當外部的用戶透過家裡(或網咖、或公司)連入我們在Azure雲端上的虛擬網路時,必須走VPN,因此也理當有個安全的身分驗證方式,因此我們在上面選擇了Azure AD作為身分驗證方式(上圖B),所以你會發現下方C、D、E的部分,就是為了設定AAD的相關資訊,其中被霧化的是AAD的租用戶ID,這個資訊你可以從你的AAD管理頁面中找到:
enter image description here

你會發現下圖中的D,有一個GUID,這是Azure AD 企業應用程式的ID,一般Public Azure我們用41b23e61-6c1e-4545-b367-cd054e0ed4b4。這部分的細節可以參考微軟官網: 建立 P2S VPN 連線的 Azure AD 租使用者: Azure AD 驗證 - Azure VPN Gateway | Microsoft Docs

enter image description here

設定好並且儲存了之後,請別忘記點選上圖F中的連結,他會跳出一個視窗要你登入(請用具有AAD管理員身分的帳號登入),他會引導你同意應用程式授權,這個動作是讓該應用程式具有使用你AAD部分資訊的權利。(等於是我們在AAD上安裝了個應用程式,如下圖…)
enter image description here
有沒有,上圖就是AAD中安裝了的那個應用程式(Azure VPN)。其實也就是為你提供VPN 驗證服務的伺服器端啦。

設定用戶端

好,有了這些之後,我們要來設定Client,也就是能讓同仁從家裡(其實公司也行)以AAD帳密Azure雲端虛擬網路的用戶端機制。

請點選上方的下載VPN用戶端,這個動作會花幾分鐘,請耐心等候:
enter image description here

你會下載到一個檔案,解壓縮後,會看到AzureVPN資料夾下,有一個xml文件:
enter image description here

他是一個組態檔,讓你可以從windows 10以VPN方式連入雲端,主要是提供給Azure VPN 用戶端這個程式用的:
enter image description here

如果你沒有上面這個程式,請從 windows 市集下載(位於: 取得 Azure VPN 用戶端 - Microsoft Store zh-TW )。下載完之後,把組態檔匯入即可。

但別急,你要正確地使用該應用程式,還必須做一個設定。

請參考底下微軟官網上的文件,設定P2S的憑證:
產生和匯出 P2S 的憑證: PowerShell - Azure VPN Gateway | Microsoft Docs

你可以直接透過powershell執行底下這兩段code:

$cert = New-SelfSignedCertificate -Type Custom -KeySpec Signature `
-Subject "CN=P2SRootCert" -KeyExportPolicy Exportable `
-HashAlgorithm sha256 -KeyLength 2048 `
-CertStoreLocation "Cert:\CurrentUser\My" -KeyUsageProperty Sign -KeyUsage CertSign

New-SelfSignedCertificate -Type Custom -DnsName P2SChildCert -KeySpec Signature ` -Subject "CN=P2SChildCert" -KeyExportPolicy Exportable ` -HashAlgorithm sha256 -KeyLength  2048 ` -CertStoreLocation "Cert:\CurrentUser\My" ` -Signer $cert -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.2")

他將會幫你在用戶端建立憑證。

完成後,開啟 Azure VPN Client,將剛才的.xml設定檔匯入:
enter image description here

你會發現相關的設定資訊其實跟剛才我們在gateway上建立的差不多:
enter image description here

完成後,你就有個可以直接連上Azure雲端虛擬網路的VPN可以用了:
enter image description here

透過上面這個設定,我們可以輕鬆的以VPN連入雲端,以內部IP的方式,啟動VM的遠端桌面連線:
enter image description here

當然不只是VM,上面只是透過VM來示範,而DB、AP Server或其他服務也是一樣的。當這樣的機制設定好之後,我們等同可以從家裏或公司,以VPN方式,安全的連入位於公有雲的雲端上的服務和應用、伺服器,而不需要把這些服務或伺服器攤在網際網路上當箭靶。是一個更適合企業在WFH階段使用雲端服務更好的方式。

熱門文章