什麼是GCP?
Google Cloud Platform常見問題、功能介紹重點整理
2022/06/15
在查詢Google提供的線上服務,常會聽到GWS和GCP兩個名詞。GWS是Google Workspace的縮寫,提供GMail、行事曆、Meet等協同作業的服務;GCP則是Google Cloud Platform的縮寫,也是本文要介紹的主角。
在Wikipedia上,有關GCP的介紹是「一系列由Google提供的雲端運算服務,在執行Google搜尋和YouTube的伺服器上提供基礎設施服務、平台服務及無伺服器計算環境。除了提供管理工具外,Google雲端平台還提供了一系列模組化雲服務,包括:雲端運算、資料儲存、資料分析及機器學習等」。
在21世紀初,以搜尋引擎聞名全球的Google開始推出其他服務,像是GMail、Blogger等。2008年四月,Google推出了第一個雲端運算的服務:App Engine,讓用戶可以在Google管理的平台上執行網頁應用程式。從此之後,越來越多的服務加入,形成我們現在看到的Google Cloud Platform。
直到2022/6為止,GCP有33個區域(region)、100個可用區(zone),在超過200個國家中提供服務,並且是世界三大雲中、唯一在台灣擁有資料中心的雲服務商。
Google Cloud Platform功能介紹
Google Cloud Platform提供的服務可以分為以下幾類:
運算
利用Google提供的伺服器及運算設備,建立並運行用戶的虛擬機、應用程式等。
- Compute Engine:以「架構即服務(IaaS)」方式,讓客戶在環境中建立虛擬機。
- App Engine:不需要管理伺服器資源,就可以在平台上開發並執行網頁應用程式的「平台即服務(PaaS)」功能。
- Google Kubernetes Engine:由Google管理的Kubernetes平台,簡稱GKE。可以在此建立節點,部署並管理容器化應用程式。
- Cloud Functions:類似App Engine,但適用於執行單一用途程式的平台。這個服務又被稱為「函式即服務(FaaS)」。
- Cloud Run:不用建立、管理Kubernetes節點,就可以執行容器化應用程式的無伺服器(serverless)平台。
網路
網路是所有GCP服務的基礎,所有的服務都要執行在Google提供的網路環境上。GCP也提供相關的網路元件及服務,讓用戶設定。
- Virtual Private Cloud:簡稱VPC,是每個用戶彼此獨立、執行在Google全球架構的網路環境。
- Network Service Tier:資料傳輸到用戶端時,可選擇要透過Google內部網路、或是透過Internet傳輸的網路服務等級。
- Cloud Firewall:軟體式的防火牆服務,用來設定那些網路連線可否建立、傳輸資料的規則。
- Cloud DNS:Google代管的DNS服務。可建立GCP內部使用、或公開對外的網域名稱。
- Cloud Load Balancing:透過單一IP、即可提供全球化服務分流的網路負載平衡服務。
- Cloud VPN:透過IPSec技術,將內網、或其他雲連接到GCP的站對站VPN服務。
- Interconnect:透過服務廠商、或直接建立與Google Cloud的私人網路專線。
- Cloud Armor:防止DDoS和網路攻擊的網路保護工具。
儲存空間與資料庫
- Persistent Disk:附加在Compute Engine上的虛擬磁碟機,可選擇HDD、SSD或快取用的local SSD。
- Filestore:類似NAS的檔案儲存代管服務。
- Cloud Storage:費用低、可用度高的物件化儲存空間。
- Cloud SQL:由Google代管的MySQL、PostgreSQL或SQL Server資料庫。
- Cloud Spanner:可擴展、適用於資料量在TB等級以上的關聯式資料庫。
- Firestore:文件式(document-based)的NoSQL資料庫。
- Cloud BigTable:低延遲、可延展的NoSQL資料庫。可以儲存key-value類型、及wide-column (資料很長)類型的資料。
資料遷移(migration)
Google提供了多種工具,可以從本地端或其他雲服務商,將資料遷移至GCP中。
- Migrate for Compute Engine:之前叫Velostrata,將內部或其他雲上的虛擬機遷移到Compute Engine的工具。
- Storage Transfer Service:從本地端或其他雲服務轉移物件與檔案到Cloud Storage的工具。
- Transfer Appliance:Google提供的硬體設備,用來將數十TB等級以上的資料複製到GCP中。
- BigQuery Data Transfer Service:將資料遷移到BigQuery,便於未來分析資料的工具。
監控與維運
GCP的維運套件過去稱為Stackdrive,現在重新命名為Google Operations Suite,用來監控GCP上所有資源的使用狀況及事件紀錄,並可設定告警機制。這個套件包含以下工具:
- Monitor:提供資源使用狀況的儀表板,也可設定系統健康檢查機制和監控指標的閥值(threshold),在發生異常時發送告警。
- Logging:收集整合所有資源的事件和稽日誌,並提供介面查詢。也可將日誌設定為監控指標,與Monitor整合。
- Trace:收集請求(request)的延遲時間,可用來分析系統處理這些請求的回應速度,找出瓶頸。
- Profiler:收集應用程式的CPU、記憶體等資源使用狀況,以找出程式哪部分耗用最多資源。
- Error Reporting:收集並整合應用程式的錯誤資訊。
CI/CD
持續整合、部署和DevOps是近年來火紅的話題。GCP也提供了相關的儲存庫、建置及部署工具,以建立自動化CI/CD管道。
- Cloud Build:在GCP上的CI/CD服務,用來自動化建置並部署應用程式。
- Cloud Deploy:持續部署應用程式到GKE的工具。
- Source Repositories:類似GitHub,存放程式原始碼的儲存庫。
- Container Registry:存放容器映像檔的儲存庫。
大數據資料分析
GCP提供了一系列的工具,從資料即時收集、資料清洗、儲存至資料池、資料分析、到視覺化呈現,將資料轉換為有用的洞見(insight)。
- Pub/Sub:擷取及傳送事件的訊息傳遞服務,用於事件驅動(event-driven)架構中,觸發事件、傳送資料的平台。
- Dataflow:可批次或即時處理串流資料,進行資料清洗或ETL的工具。
- Dataproc:Apache Spark和Apache Hadoop的代管服務,也可用來進行ETL。
- BigQuery:可將BigQuery查詢結果以圖形化方式呈現的工具。
AI及機器學習
AI和機器學習領域一直是Google Cloud的強項。用戶可以使用預設的模型,也可自行建立、訓練模型。
- Vision AI:可以從圖片中找出物品、情緒、文字等項目的預設模型。
- Cloud Translation:偵測語言、並進行翻譯的工具。
- Video AI:從影片中辨識物品、地點、動作等項目的模型。
- Dialogflow:可以用來作為聊天機器人或語音機器人的虛擬客服。
- Speech-to-Text API:辨識語音、並將其轉為文字的工具。
- Text-to-Speech API:與上個工具相反,將文字轉為語音的工具。
- AutoML:可以不用寫程式,就能訓練圖片、影像、文字、翻譯等的自訂機器學習模型。
- Vertex AI:可以用來開發並維護機器學習模型的平台。
資訊安全與身分識別
從Google提供服務以來,就承受來自世界各地的網路攻擊,因此具有完善的防護機制。
- Cloud IAM:以統一的方式,集中化控管使用者對資源擁有哪些管理或操作權限。
- Cloud Identity:提供帳號管理、身分識別、端點管理,並提供多重驗證(MFA)與單一登入(SSO)機制的服務。
- Cloud KMS:集中式的加密金鑰管理系統。可以建立並管理多種類型(軟體、硬體)的金鑰,也支援外部金鑰管理。
- Secret Manager:用來儲存金鑰、密碼、憑證等資訊的服務。
- VPC Service Control:設定安全防護範圍,確保只有受信任的來源或使用者才能存取資料。
- Security Command Center:可集中查看GCP中的專案及資源數量,以及是否存在不安全的設定、或不符合法規規範的情況。
- Data Loss Prevention:偵測儲存空間中的個資(例如身分證字號、電話、電子郵件地址),並進行遮罩或編碼,避免個資外洩的服務。
- Binary Authorization:部署容器映像檔的安全性控管機制,只有被驗證過的容器映像檔才能部署。
- BeyondCorp Enterprise:Google的零信任解決方案。
- Shielded VM:安全強化的虛擬機。透過 vTPM、UEFI 等機制,抵禦 Rootkit 或 Bootkit 攻擊。
其他服務
以下是Google提供的企業級解決方案。
- Apigee:API管理工具,提供多種安全防護,並可分析API使用狀況。
- Anthos:透過服務網格(service mesh)和設定管理,透過統一介面管GKE、其他雲和本地端的Kubernetes服務,並調度資源。
Google Cloud Platform常見問題
Q: 要怎麼開始使用 GCP 的服務呢?
A: 首先要有一個GMail的帳號,不論是個人GMail、還是Cloud Identity或GWS的帳號皆可。
用這個帳號登入Google Cloud主控台,建立一個專案,就可以開始使用GCP服務了。
Q: Google Cloud可以用在什麼地方?
A: Google Cloud的應用範圍非常廣泛,以下是應用的情境範例
- 有短期的資料運算、功能測試等需求,要建立暫時性的環境,完成後即關閉。
- 因應突發的爆量需求,例如1111購物季、搶票等,避免服務當機。
- 企業內部資料的異地備份儲存處。
- 異地備援機房,或將GCP作為主要服務、本地資料中心做為備援服務。
- 大量IoT設備的資料收集、處理與分析。
因應淨零排碳、ESG、永續發展需求的資料中心替代選項。
Q: 資源的費用怎麼計算?
A: 費用計算方式會依資源的特性進行計算,例如使用的時間、網路流量、設定的規則數等。
Google Cloud提供了計算機功能,在租用前可先試算費用價格。若不熟悉要如何計算,可以跟我們聯絡。
Q: 我的資料放在雲端安全嗎?
A: Google Cloud Platform通過了ISO 27001、ISO 27017與ISO 27018等相關資安認證,在資料安全上有一定的保證。
除此之外,資料在傳輸過程中都經過加密,儲存時也會加密、並拆開後存在不同的磁碟上。若為了滿足法規遵循、或有需求,也可以使用自己的金鑰加密。