如何在Azure上部署一個Azure MySQL Database

前言

最近在公司裡,有在使用Azure雲端服務來架設各式各樣的服務,供測試與部署。

那隨著Azure金錢消耗量很大,負責管理Azure的人慢慢意識到Azure怎麼會這麼燒錢?

後來我慢慢的發現,最後得到下面這張結論圖:

原來是一開始大家就對於Azure的使用上弄錯了方向。其主要原因如下:

  • 不懂雲端運算平台的架構,導致大家都在IaaS層建立資源機器
  • 當然我前二個計畫也是在IaaS上開機器做服務出來,當然我開始了一些改變
    • 去年的時候,第一台機器所對應的計畫,就跟其他人一樣,都是開一台運算資源機器出來,上面架設需要的環境與安裝服務。
    • 第二台機器,一樣也是開資源機器起來,但是跟前一個不同的是,我把所有的服務做容器化,讓服務更好掌控與管理,不過還是一樣,還是需要在機器上建置Docker所需要的必要環境
    • 未來計畫,以Azure來說,會朝向使用PaaS,如「Azure Web App」等
      • 將每個需要的服務分開,並使用Azure MySQL/PgSQL/SQL 等DB的PaaS建立資料庫instance實例,以達到共用資料庫的目的

本文章,主要是要探討的內容如下:

  • 使用Azure上屬於PaaS種類包含
    • 「Azure Web App」與「Azure DB」
    • 以「Azure MySQL DB」服務建立MySQL資料庫

Azure Database介紹

在Azure雲端運算平台上,有現成的資料庫的服務可以使用與建立,那這些也算是PaaS期中的應用之一,其最主要的目的就是可以讓開發者省略設定與安裝資料庫的動作,透過Azure針對資料庫配置好的設定來建立資料庫,這樣的好處如下:

  • 開發者可以專心開發並不需要花費額外的心力在建置與設定資料庫上
  • 對於小型團隊,計畫有很大的幫助

Azure MySQL Database建立步驟

首先,我們可以先登入Azure portal,網址:https://portal.azure.com

登入之後,我們可以看到下面的截圖所示:

接著,點擊右邊的「新增資源」並會看到右邊有可以建置的資料庫種類清單,詳細如下面截圖

我們從上面的截圖可以找到我們要的「MySQL」資料庫,因此我們選擇「適用於 MySQL 的 Azure 資料庫」這個來建立本篇文章所要展示的資料庫

點擊下去之後,會有一些相關的設定需要填寫,如下截圖

因為我已經有建立一個名稱叫做「electric-data」的資料庫了,所以上面的截圖在資料庫名稱有紅色驚嘆號是很正常的。

其他的欄位如資料庫名稱,使用者帳號,密碼以及主機座落的位置以及MySQL版本等都可以自行填寫,這邊只是一個範例。

接著,都填寫完成之後,按下「建立」按鈕就可以開始把需要的資料庫建置起來了。

回到首頁,我們在搜尋欄位地方輸入「MySQL」就可以找到「適用於 MySQL 伺服器的 Azure 資料庫」這個名字,點選下去之後,就會看到所有MySQL資料庫的清單列表。

從上面截圖可以得知,我們有一個叫做「electric-data-store」的資料庫可以選擇,那點擊下去之後,就會有此MySQL資料庫相關設定頁面可以選擇。

下面截圖可以得知,裡面會有Azure MySQL資料庫相關的所有設定

從上面截圖,我們可以知道相關設定如下

  • 資料庫系統管理員帳號與密碼設定
  • 資料庫SSL連線啟動與設定
  • 連線設定「Connection security」

資料庫連線設定

點選左邊列表的「Connection security」,我們可以發現有防火牆規則與SSL連線設定可以設置,那這邊就是加入可以允許連線的IP位址範圍。

結論

本文章中,利用Azure portal管理介面去示範新增一個「Azure MySQL Database」並可以透過上面的資料庫設定頁面可以設定相關與MySQL資料庫有關的設定。

當然,Azure雲端運算平台上面還有其他得資料庫可以新增與使用,這就要留到後面有用到再說吧,不過我覺得其他新增資料庫的方式應該也是大同小異,與新建「MySQL」資料庫的方式不會差太多才對。