Connect CloudSQL with SSH tunnel

連線到CloudSQL的方式很多
原則上與使用MySQL無異
而在MySQL連線上,使用SSH Tunnel的方式算是安全又穩定的
而SSH Tunnel簡單的說就是透過SSH到某一檯Linux主機
再透過該主機連線到MySQL的方式

有了這樣的連線方式
我們可以在CloudSQL的Connection Control部分設定允許root角色由某個IP連線過去
而該IP可以設定成一檯Compute Engine的IP位置
這樣,像MySQL workbench之類的連線工具就可以使用SSH Tunnel連線到CloudSQL中
概念如下圖:



而Workbench的部分,設定大致如下:



原則上有兩個部分:
  • SSH server部分:設定中繼的SSH server位置與連線上去的金鑰或是帳號密碼
  • MySQL server部分:設定最終要連線的MySQL位置與帳號密碼等資訊

這樣的連線方式通常適用在您申請了GCE server作為AP開發使用時候
為了安全性考量,CloudSQL可以只開放給GCE server連線
這時候,使用SSH Tunnel從AP server轉連線到CloudSQL資料庫則相當方便喲∼