Cloud Foundry 是開放源碼的 PaaS 解決方案,支援多種程式語言、開發框架及資料庫等服務,而且更容易開發、測試及佈署。本系列文章將從零開始,和學習者一起開啟雲端應用程式開發的大門。
使用 VMC 提供的 tunnel 功能,存取雲端的 MySQL 資料庫服務。
使用 VMC 的「create-service」指令建立新服務。
::
vmc create-service
輸入數字 5 並按 Enter 鍵,選擇建立 MySQL 資料庫。
::
1: rabbitmq
2: mongodb
3: redis
4: postgresql
5: mysql
Which service would you like to provision?:
新的 MySQL 資料庫服務建立成功後,系統會回應 OK 的訊息如下。
::
Creating Service [mysql-50d38]: OK
雖然我們只要在應用程式將環境變數傾印出來,可以取得 MySQL 資料庫的資訊;但我們無法直接使用 MySQL Client 建立連線,因為這些服務僅提供 PaaS 的應用程式連結。但開發者無法存取資料庫,對資料的維護、備份作業來說,實在相當不容易進行,為此 Cloud Foundry 提供 tunnel 的方式,讓開發者的電腦與 PaaS 服務之間可以建立一條虛擬的通道。
以下的指令會建立 tunnel 連結到 mysql-50d38 服務。
::
vmc tunnel mysql-50d38
請注意,在第一次使用時,程式可能會提示缺少 Ruby 的 caldecott
套件,此時我們需要先用 RubyGems 安裝。
::
gem install caldecott
在 tunnel 建立後,程式會詢問你需要執行哪一種指令,以 MySQL 為例,預設提供兩組指令:mysqldump 及 mysql,分別適用於資料備份及維護管理。由於指令是在 local 端執行,所以前提是系統也必須先裝有 MySQL Client 程式,並且 mysqldump 及 mysql 程式路徑必須包含在 PATH 環境變數中,讀者可以先執行 mysql --version
檢查程式是否存在。
::
Starting tunnel to mysql-50d38 on port 10000.
1: none
2: mysqldump
3: mysql
輸入 3 即可透過 MySQL Client 建立資料庫存取連線,如此便可直接下 SQL 語法進行資料庫調校及維護。