先前鬧得沸沸揚揚的GCP無預警關閉事件,對於負責主機管理的人而言,可說是很大的衝擊。平時就必須想盡辦法維持主機在任何環境下都可以維持高可用性,結果可能預想、規劃好的計畫,Google卻突然地全部停權。不僅百般無奈,可能也會造成業務上的損失。而Google也在此事發生後重新檢討因應做法,因此本文將介紹如何避免此類事件發生。

為何Google會試圖將我的GCP無預警關閉?

GCP停權一般可以分為兩種方式:專案停權與帳單帳戶停權,兩者都可能導致您的服務無法繼續運作。

專案停權

Immediate action required mail

所有GCP的資源,不管是VM(GCE)、Google App Engine、Cloud Storage、Cloud DNS等,皆是隸屬在專案底下。而Google與其他公有雲廠商一樣,有自己的服務條款、與可接受使用政策(Acceptable Use Policy)

而服務條款4.1明確定義:若客戶發現任何應用程序、項目或客戶數據違反AUP,客戶應立即暫停應用程序、項目或刪除相關的客戶數據。客戶未能按照前一句中的說明暫停或刪除的話,Google可能會明確要求客戶這樣做。如果客戶未能在二十四小時內遵守Google的要求,則Google可能會停用該項目或應用程序,抑或停用該帳戶,直到此類違規行為得到糾正。

也就是說若今天違反條款,Google有權利將運作中的資源中止。若不接受條款也無法使用GCP。

帳單帳戶停權

billing account suspended

Google使用自動規則來檢查每個用戶的付款方式(信用卡、付款資訊等),若Google認為信用卡或付款資訊有問題、又或是有逾期未付的款項,都可能會造成帳單帳戶停權,而與該帳單帳戶連結的專案也會因計費功能被停用,而導致專案內的計費資源被暫停。

如何避免GCP停權?

一樣可以分為專案與帳單帳戶來看的話:

避免專案被停權的方法

如果要將服務放在GCP上面運行,請確保運行的服務沒有違反AUP,簡言之便是不侵犯他人的著作權、不進行非法活動、散播病毒、干擾其他人的服務。但若是GCE被惡意人士入侵,進行上述活動,也會使您的專案、服務遭到停權。故建議參考Google的最佳做法來加強GCE的安全性:

  • 安全地連接到您的實例。對於面向外部的應用程序,最好正確配置防火牆並保護端口。有關保護實例的提示,請參閱安全連接到VM實例。若是企業則可參閱網絡和安全性
  • 確保項目防火牆不對互聯網上的每個人開放。將所有防火牆規則保持為0.0.0 / 0意味著Internet上的任何源都可以建立與您的實例的連接。除非您特別希望公開實例,否則一般的最佳做法是僅允許訪問您的應用程序,並且僅允許您的應用程序需要訪問的端口。有關防火牆的最佳實踐信息,請參閱「使用網絡和防火牆的計算引擎」指南中的防火牆規則防火牆
  • 使用強密碼。密碼確保只有經過授權的人才能訪問您的實例。有關創建強密碼的信息,請參閱創建強密碼。此外,請記住保護用於訪問Cloud Platform Console的Gmail帳戶。有關保護Gmail帳戶的提示,請參閱Gmail安全檢查清單
  • 確保所有軟件都是最新的。確保您安裝的軟件是最新的,並且沒有可能危害您實例的已知漏洞。
  • 通過監控API密切監控項目使用情況,以識別異常項目使用情況。Google Cloud Platform提供Stackdriver日誌記錄。Stackdriver Logging使您可以從Google Cloud Platform上的應用程序和服務收集和存儲日誌。您可以使用日誌記錄創建基於日誌的度量標準,以監視和警告異常行為。有關更多信息,請參閱Stackdriver日誌記錄文檔。調查任何可疑用法,以確保您的實例未被惡意軟件劫持。

避免帳單帳戶被停權的方法

請填寫正確的付款資訊、並提供多張信用卡,以確保不會因單一張信用卡問題造成欠費。也可直接請經銷商進行費用代繳,由於經銷商與Google有契約關係,不會受到自動規則停權的影響。
※ 詳情可參考Google官方說明

希望此文可以降低GCP用戶的恐懼,尤其是已經有大型專案在GCP上運作的客戶,藉由上述方式去避免無預警停權的可能!

延伸閱讀

Google Cloud Platform 免費300美金須考慮的風險詳解