Cloud SQL安全連線密技part1 – 限定IP與強制SSL連線

Cloud SQL剛推出時,最讓人詬病的就是,它只能用外部IP讓人存取。

這句話感覺好像沒什麼,畢章在雲端嘛,還是要用外部IP啊!

安全性部分有改善,可以限定存取的IP位址或範圍:

Google Cloud SQL可限定只允許某些IP連線

但重點是,連在GCP上的服務,要存取Cloud SQL都要透過外部!!

也就是說,我在GCP上開一台VM,要去Cloud SQL,我不能從GCP的內網去連Cloud SQL,要走外部IP,這樣就有外部的流量費用,而且連線沒有效率。

後來Cloud SQL進步了,可以允許內網過去了,如下圖:

Google Cloud SQL可允許VM從內網連線

Private IP指的是在GCP上的VM (Compute Engine)在VPC網路上的IP,也就是GCP的內網IP。

Default不是指什麼預設值之類的,它是每一個GCP專案建立時,系統先給你一個內網(VPC網路),這個網路的名字叫做”Default”。

PS.一個GCP專案可以開5個VPC網路,它可以切割不同的subnet橫跨全球各Data Center (Region)

只要開放Private IP,VM就能從內網去連。

但如果從GCP以外的地方連,除了限定IP之外,怎麼做才更安全呢?

這時就就要帶key了!

在Cloud SQL編輯頁面,設定只允許使用SSL連線:

設定完要建立Certificate,並下載到本機端。

另外Client端的Certificate也要建立:

建完後,它還讓你可以一口氣下載3個key,還附上連線指令給你,多貼心啊!!

所以你本機會有這三個檔案:

就可以用這個指令去連Cloud SQL

mysql -uroot -p -h 1.2.3.4 --ssl-ca=server-ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem

這是連線成功的畫面:

這就是安全連線Cloud SQL的方法,限定IP又強迫SSL連線。

發佈留言