使用 GCP VM 的5大常見錯誤 – 有一種叫忘記關機!

使用 GCP VM 的5大常見錯誤 – 有一種叫忘記關機!
你使用 GCP 有犯過錯嗎?
你使用 GCP 有犯過錯嗎?

各位如果使用 Google Compute Engien(VM) 一段時間,會常常發生一些小狀況,雖然是小狀況,但可能會造成巨大的損失。以下分享一下自己使用 VM 的一些注意事項:

GCP VM 使用錯誤一:忘記關機

有時各位會開機器來做一些測試,然後測了之後就放著,若開比較大規格的機器又忘記刪除或關機,你就會在下個月初收到「驚喜」。

給各位欣賞一下,這是我當年用自己信用卡申請試用之後,機器開著忘記關(我竟然開 4 core 的 Windows + SQL Server),隔月收到的驚喜:

GCP 帳單本人
GCP 帳單本人

就這樣讓我個人噴了 1500 台幣左右的信用卡費用。順便提醒各位,300 美金試用到期,機器是會繼續運作的,不會自動刪除。你能做的,就是多下幾道帳單警示 Billing Alert,可參考《GCP帳單功能簡介,和設定預算》這篇文章。

但它也算事後才發現,要提早發現,可以把你的 GCP Console 設定為 Chrome 初始頁面,就是 Chrome 瀏覽器一打開,就自動開啟的頁面:

把 GCP 帳單頁面設為 Chrome 初始頁面
把 GCP 帳單頁面設為 Chrome 初始頁面

這樣你每天上班一開機,就會馬上顯示 現在帳單多少錢,然後趕快去檢查有沒有多開什麼東西,趕快去關機。

如果你說,沒有啊我的 Mac 電腦都只是合上,沒有在關機或關瀏覽器的,那……我真的沒辦法了。

還有一招啦,很蠢但很好用的招,就是設 Stackdriver Alert ,只要機器流量超過 200 Bytes,就直接發 Alert :

設定只要流量超過 200 Bytes 就發 Alert
設定只要流量超過 200 Bytes 就發 Alert

基本上只要有人開機器,馬上就收到 Alert mail,但對於專案裡本來就很多機器在跑的人來說,就沒有意義了。不過對於測試環境,平常不會放著機器在那邊跑的,這就是個好招,因為你一看到 Alert 就馬上知道有機器沒關。天啊我太佛心了,為了讓大家不忘記關機,已經貢獻畢生絕學了。

GCP VM 使用錯誤二:取消 SSH key 登入且密碼設太簡單

GCP 的 VM 通常都是直接點擊 console 上的 SSH 按鈕,就能直接登入。但很多情況下必須要用地端的主機登入,預設的做法是先在地端建立 SSH key,然後把public key 放在 VM 的 Metadata 裡。

但是很多人懶都得做,或是不熟 SSH key 的設定,所以都喜歡上網尋找取消 SSH key 登入的方式,改成 ssh user@ 主機IP 來登入。這樣就算了,偏偏有人還把密碼設得太簡單,造成你的主機一天到晚有駭客在 try 你的帳號密碼,像這樣的密碼可能幾天就被破解,然後立刻變成殭屍電腦。

圖片來源:freepik

也有人用的是 Windows Server ,本來就不強制用 SSH key,結果真的一堆人密碼設超簡單,也沒有設定防火牆,直接讓你的主機在 internet 上裸奔。如果想了解雲端資安沒做好的危險,和進一步的改善方法,可參考我們的 GCP 資安解決方案

主機被駭客控制通常有幾種狀況,一種是單純用你的機器來做跳板,算是最輕微的,如果是拿來攻擊其他電腦,送出大批流量,如果沒被 Google 發現,基本上就是幾十萬的帳單,如果是被 Google 發現駭客,則是整個專案都被停掉,完全不給你登進去處理,兩種情況都不好啊!

建議不要直接取消掉 SSH key 登入,並且用防火牆只允許從公司的 IP 登入主機,再來就是不要設太簡單的密碼,至少做到簡單的安全性。 其實設定 SSH key不會太難,而且設完就再也不用帳密登入,非常方便,千萬不要懶啊!!

延伸閱讀:

比 VPN 連線、跳板機更方便!利用 Cloud IAP 快速建立遠端安全連線
比 SSH 連線 GCE 更好管理!輕鬆以 OS Login 掌握用戶資訊
[GCP 資安攻略] GCP 資訊安全各項功能簡介
[GCP DDoS 大作戰] 如何設定 Google Cloud Armor 阻擋來自某些國家的 IP

GCP VM 使用錯誤三:買錯承諾使用折扣(CUD)

這是長期使用一年或三年 CPU 和 Memory 的折扣,最高可以到 43 折,詳情可以參考:Committed Usage Discount 承諾使用折扣。如果你是第一次購買 CUD,可以跟著我們的教學《GCP 費用計算盲點破解,快速健檢你的 GCP 免費方案與承諾折扣》一起實作喔。

這個真的的是非常容易發生,大部分人下單時只看 vCPU 數量和 Memory 大小,但是沒注意到 Region 要選對,很多人都下在預設的 us-central1,還有機器類型也會選錯,不然就是手滑按錯。

使用  Committed Usage Discount  千萬不要下錯單喔!
使用 Committed Usage Discount 千萬不要下錯單喔!

因為這種訂單一旦送出,就是一年或三年的費用,不管你有沒有使用它,每個月都會有帳單金額要支付,萬一真的不小心下錯,就必須在當下「立刻」去找經銷商來協助處理,而且每次處理都需要等 2~3 個禮拜才能取消你下錯的訂單。如果事情已經發生好幾天了,那就完全無法反悔了。

購買錯承諾使用折扣 Committed Usage Discount,最容易下錯Region和機器類型
購買錯承諾使用折扣 Committed Usage Discount,最容易下錯Region和機器類型

延伸閱讀:

GCP 如何計費?就像水電費一樣
GCP 費用計算盲點破解,快速健檢你的 GCP 免費方案與承諾折扣
聽說GCP費用最低?各種折扣方案完整說明
GCP帳單功能簡介和設定預算

GCP VM 使用錯誤四:忘記釋放固定 IP 或刪掉 Disk

大多數的系統,都會因為要和外部介接的需求,要使用同一個 IP,所以都會去GCP Console 保留固定 IP,而在機器不用之後,就會直接把主機刪掉。但常常忘記 IP 還在那邊,因為 IP 算是稀有資源,如果一直保留著它不用,佔著茅坑不拉屎,還是會持續的計費喔!

Disk 也是,通常刪除主機時,系統會提示 Disk 要不要順便刪除,有時為了保險就先留著,結果一留就忘記刪了,因為 Disk 的頁面平常很少會去看,忘記也是難免。如果是小容量的 HDD 那也還好,如果是大顆 SSD 就會充滿驚喜!

一樣如果有把帳單頁面設為初始頁面,就有機會常常去檢查有沒有什麼東西忘了刪。

GCP VM 使用錯誤五:在 Linux VM 設定 iptables 並把自己擋在外面

GCP 本身就有提供防火牆功能,而且是 Infra 層級的,也就是說不會耗用你 VM 的 CPU 和 Memory,但是如果你覺得還是要自己設,請一定要記住,要允許自己登入的來源 IP,不要隨便 DENY ALL,因為它是在雲端上的 VM ,萬一不能登入,是沒有辦法殺到 Google 資料中心的機器前說我要救援伺服器了。

你可以設定至少允許同一個 subnet 的機器登入,這樣就可以在同一個 subnet 開一台機器,然後 SSH 進去把 iptables 調回來,但如果直接 DENY ALL,那就等同跟這台主機說再見了。只能把 Disk 掛載到另一台機器再進去調整設定了,如果真的發生這個狀況,可參考《GCP 常見問題與教學―掛載硬碟錯誤導致 VM 開機失敗》自救。

以上五種錯誤,你犯過哪一種呢?給各位 GCP 愛用者參考喔!這可是本人歷盡滄桑的佛心建議啊!!

延伸閱讀:

【GCP教學】第一次開 Google VM 就上手 – Compute Engine 操作簡介
【GCP教學】第一次開Google VM要注意什麼?Compute Engine開機詳細介紹
【GCP教學】如何輕鬆備份 GCP 上 VM 的資料?快照 Snapshot 自動備份設定教學
GCP 常見問題與教學―掛載硬碟錯誤導致 VM 開機失敗

Aaron Lee

超過7年的 Google Cloud 經驗,服務過上百家 Google Workspace 與 GCP 客戶,擔任多次研討會主講人與教育訓練講師,提供架構諮詢與技術支援,幫助各大企業上雲。

This Post Has 3 Comments

  1. Avatar
    William

    好的,感謝您
    最近在評估要設立永久性的站點
    謝謝您的文章跟分享

  2. Avatar
    William

    您好,請問GCP開啟VM的話,會有像map api一樣,每月會有$200美的免費額度嗎?

發佈留言