最近在搞demo 專案,為了走https選擇了有限度免費的Heroku
然而demo專案要做大,就需要資料庫的支持
這邊選擇使用Google Cloud SQL 建置了一個My SQL資料庫
要讓掛在Heoku上的Web app可以連線到資料庫
要用的工具如下:
Heroku CLI、Google Cloud Platform的Cloud SQL、服務憑證(service account .json)
在以Heroku已佈署好一個Laravel Web app的前提下進行(未佈署好可參考連結)
1.在GCP建立好Cloud SQL 資料庫(Instances執行個體)
並利用自已的對外IP 加入信任後連線確定資料庫建立無誤
以上這部分在google 文件都有圖文說明
2.建立GCP 服務帳戶
從GCP的平台上選擇「API與服務」點取「憑證」/「建立憑證」選擇服務帳戶
權限的部分一定要選Cloud SQL編輯者/Cloud SQL 用戶端
接著下載憑證(.json)即可
3.在專案中加入檔案:proxy.sh、start.sh、第二步下載json憑證
proxy.sh >> 目的:從google下載cloud_sql_proxy執行檔
start.sh>> 目的:啟動cloud_sql_proxy把憑證與google 進行認證連接
這部分可以參考連結進行處理
4.修改heroku的profile檔
這個檔案是提供給heroku在執行這支web app時的Dyno formation 來源
可以在heroku的web app主頁可見
為了在執行這支web app時,請heroku一並啟動cloud sql proxy進行身份驗證,達到app連接資料庫的目的
5.最後就是調整composer.json檔案中的script
這裡主要就是要下載cloud_sql_proxy執行檔,
在參考連結裡是針對composer install 的時候進行下載cloud_sql_proxy執行檔
6.最後一步,確認紅框的檔案都沒有少後,就可以開始進行測試連線
測試的方式可直接在bash中執行start.sh就知道有沒有問題了
以上,做一個記錄,因為這個花了二天時間!!累累累