目前我們已經理解如何建立一個全端的專案,包括由 Vue 框架所建立的前端系統及 Flask 框架所建立的後端 API 系統,透過之前的實作我們可以在本地端(localhost)開啟我們所完成的系統,包含我們所使用的 MySQL 資料庫也是在本地端的 Docker 建立的容器。
如果是練習及研究用的話以上這些確實就足夠了,但當系統需要上線給其他用戶使用時就無法只用這樣的方式進入系統了,我們需要將開發的系統放上雲端讓其他網域的使用者可以看見我們的系統。
傳統會自己裝一台實體機器並在上面安裝所有網頁伺服器所需要的軟體,包括 http server apache/nginx、DNS server 等軟體,甚至安全性都要自己管理,時間成本較高,還記得筆者大學時期光是架一台能連線並維護的伺服器就可能需要一個週末才搞定,更別說維護之後所花的時間了,但除了時間成本以外,其餘的硬體成本就比較可以自己管控。
另一種方式就是使用雲端運算平台,主流平臺像是雅馬遜的 AWS 或是谷哥的 GCP 都是很好的選擇,利用他們的平台可以做到幾乎全部網頁伺服器所需的所有功能,除了能在上面租用 EC2 以外,也有提供 serverless 的服務,讓你不需要真的有一台伺服器就可以讓你的系統服務啟動,是非常適合維運系統,但缺點就是天下沒有免費的午餐,上述的功能除了平台限制範圍內的不用付費以外都是需要付費的,一不小心可能幾百美金就沒了,但目前的帳單系統都非常人性倒是不用太擔心這方面的問題。
此篇會簡單介紹如何使用 AWS 進行前後端的部署,一些實作會到下一篇再說明。在繼續之前我們需要先上 AWS 官網去建立一個帳號,新的帳號在一年內都可以享有 AWS 所提供限制範圍內的免付費服務,可以善加利用。
帳號註冊完成後我們需要安裝 aws-cli 幫助我們透過 command line 進行本地端與雲端的連線,並透過指令直接完成
~/.aws/credentials
[user]
aws_access_key_id = [key]
aws_secret_access_key = [key]