WebApps是一個非常便利的服務,只要租用就可以直接對外連線,但試想如果你的網站開始複雜了,想要有個資料庫讓網站可以存取更新會員資料難道...也是走Internet嗎?能不能藏在內部網路之中呢?這次我們就是來實作怎麼來走Private連線並串接資料庫...這次用MySQL作為範例.
一樣新增資源找到資料庫選擇MySQL(PaaS)
建立過程如果你是有已經備份檔可以透過此來建立,而裡面的資料都會保留你之前的狀態,我們沒有所以選空白
規格等級第四與第五代價格一樣....當然第五代喽!個人需求自訂
設定好登入MySQL帳密與版本5.7 / 5.6,我選最新
MySQL建立中
建立完成,右上角連線登入資訊可以另外保存成文字檔方便後續設定用
剛剛是後端DB已經Ready,現在來處理WebApp,我們來點選一下網路
點進去看到都是反白沒法設定,因為你沒有作點對站的VPN設置
再回到新增資源選擇虛擬網路閘道(VPN)
測試選擇基本就好...如果正式環境請以VPNGW1起跳(選擇動態路由比較單純,另外虛擬網路我用東亞,視個人環境決定)
新增Public IP另外地區就是東南亞,完成就建立
建立進行中......
從VPN總覽可以看到更新中就還在建立(約30-45分鐘)所以如果是已知的任務可以提早作
OK,VPN建立完成了
VPN內選擇到點對站
我們要確認一下目前此虛擬網路下各個子網路不能衝突到
好!!在設定VPN給予的範圍出錯.....因為本身虛擬網路的範圍涵蓋太廣/16,導致衝突
把虛擬網路位置空間從/16縮小為/20
這樣就可以設定點對站所指派的網路區段了
正常不用太久..因為更新到整個虛擬網路所以又要五到十分鐘的時間
再回到WebApps的網路是不是已經有個東亞的虛擬網路可以設定了
已經讓WebApps與虛擬網路綁定中間的點對站位置就是被指配的網路IP位置範圍
我們回到VPN檢視一下點對站下面的裝置是不是就多了一組被指派的IP(補充一下P2S除此之外還可以產生憑證綁在上面讓地端的電腦透過安裝此配發的憑證作信任來作私有網路連接)
接下來我們要把WebApp串上MySQL了..來看看連線字串到最下面就是給WebApps的
Database={your_database}; Data Source=garymysql.mysql.database.azure.com; User Id=gary@garymysql; Password={your_password}
問題來了!!我MySQL根本都還沒有DB哪來的名稱阿...沒錯就是用Azure方便的CLI...來個錯誤示範怎麼無法連
,DB沒有指定來源是不能隨便來訪問的..
把此Azure CLI的IP設置上去....這也是一台Linux在背景運作有外部IP的
我們再登入一次沒有問題了,並確認DB狀態無誤
建立空白資料庫完成
我們就可以把剛剛的連線字串加上MySQL DB / MySQL連線伺服器名稱 / MySQL登入帳密就可以了
測試ping一下內部VM是否能通
用WebApps上內建的進階工具Kudo來ping開機的這台東亞VM OK(原本圖中是.1因為中間WebApps有把網路中斷連線再接入...IP會依序下去....你就知道我拔了幾次了@@)
試試ping MySQL:3306也沒有問題....
好啦!今天串接示範就到這裡...後續想用的大大們再試試喽!