Google計算引擎

Google計算引擎（Google Compute Engine，GCE）是一項Google雲端平臺的基礎設施即服務（IaaS）組成部分，它基於驅動Google搜索引擎、Gmail、YouTube和其他服務的全球基礎設施。Google計算引擎可使用戶按需啟動虛擬機器（VM）。虛擬機可通過標準鏡像或用戶創建的自定義鏡像啟動。GCE用戶必須先在啟動虛擬機前通過基於OAuth 2.0的認證。Google計算引擎可通過開發者控制檯、RESTful API或命令行界面（CLI）訪問。

**歷史**
Google於2012年6月28日的Google I/O大會上宣佈了仍處於預覽模式的計算引擎。2013年4月，計算引擎首先向擁有黃金支持（Gold Support Package）的用戶提供。2013年2月25日，Google宣佈RightScale為首個代理商。在2013年的Google I/O大會上,官方宣佈了許多特性，如按時計費、共享核心實例類型、更大的持久存儲硬盤、基於網絡能力的增強SDN和ISO/IEC 27001證明等。GCE於2013年5月15日正式向所有用戶開放。第三層的負載均衡於2013年8月7日起可用。最終在2013年12月2日，Google宣佈GCE已普遍可用。同時官方也擴展了操作系統支持、啟用虛擬機動態遷移、提供16核實例、更快速的持久存儲硬盤並降低了標準實例的價格。
在2014年3月的Google雲端平臺直播上，技術基礎設施的高級副總裁烏爾斯·霍澤爾宣佈了持續的用量減免、對Microsoft Windows Server 2008 R2、雲端DNS和雲端部署管理的支持。2014年5月28日，Google宣佈了對LXC容器優化和一系列虛擬機實例中對Docker容器的動態調度。

**Google計算引擎單元**
Google計算引擎單元（GCEU，讀作GQ）是一個計算資源抽象。據Google所言，2.75個GCEU表示一個Sandy Bridge平臺邏輯核心（一個硬件超執行緒）的最小計算能力。

**持久存儲硬盤**
每個Google計算引擎實例均使用名為持續存儲硬盤的硬盤資源啟動。持續存儲硬盤為實例提供存儲空間幷包含自實例啟動時的根文件系統。持續存儲硬盤可作為原始塊設備使用。默認情況下，Google計算引擎使用SCSI接入持續存儲硬盤。持續存儲硬盤以一致、可靠的價格提供直接、一致且可靠的存儲空間，同時移除了對本地臨時磁盤的需求。持續存儲硬盤需要在啟動實例前創建。一旦其接入實例，硬盤即可被原生文件系統格式化。單一持續存儲硬盤可以只讀模式接入多個實例。每塊持續存儲硬盤最多可擴大到10TB。Google計算引擎使用AES-128-CB加密持續存儲硬盤，這種加密方式在數據離開虛擬機監控尚未到達硬盤前即被應用。Google總是啟用硬盤加密且這一過程對Google計算引擎用戶透明。持續存儲硬盤的完整性通過HMAC方案保證。
2014年6月18日，Google宣佈了對SSD持續存儲硬盤的支持。SSD最多可傳遞每GB 30次IOPS，相比標準的持續存儲硬盤的寫入IOPS提高了20倍，而讀取IOPS更是快了100倍。

**鏡像**
鏡像是包含操作系統和根文件系統的持續存儲硬盤，對於啟動實例來說至關重要。在創建實例或創建根持續存儲硬盤時必須選中鏡像。默認情況下，Google計算引擎在根據在根持續存儲硬盤上定義的進行安裝根文件系統。Google計算引擎提供CentOS與Debian作為標準Linux鏡像。而 Red Hat Enterprise Linux（RHEL）和Microsoft Windows Server 2008 R2鏡像需要額外費用才能使用。Google計算引擎同時支持基於Chromium OS的輕量級Linux操作系統CoreOS。

**機器類型**
Google計算引擎使用KVM作為管理程序，同時支持Linux於Windows的客戶鏡像用於啟動基於64位x86架構的虛擬機。虛擬機從有著根文件系統的持續存儲硬盤中啟動。虛擬機支持的虛擬CPU數、內存大小基於所選擇的機器類型。

**計費及折扣**
一旦實例運行了超過25%的計費週期時長，價格將開始下降：- 一旦實例在一個月中使用了50%，用戶將收到9折的按需收費折扣- 一旦實例在一個月中使用了75%，用戶將收到8折的按需收費折扣- 一旦實例在一個月中使用了100%，用戶將收到7折的按需收費折扣

**機器類型對比**
Google提供以下機型：- 標準：每個虛擬CPU享有3.75GB內存- 高內存：每個虛擬CPU享有6.5GB內存- 高處理器：每個虛擬CPU享有0.9GB內存- 共享核心：客戶之間共享CPU和內存- 兆內存：擁有大量內存，且內存/vCPU比高於高內存機器類型
下方列出的計費標準基於運行標準Debian或CentOS操作系統的Linux虛擬機。運行專有操作系統的虛擬機將會更貴。

**資源**
計算引擎連接多個稱之為資源的實體作為部署過程之一。每個資源擁有不同的功能。當虛擬機實例啟動時將創建一個使用其他資源的實例資源，如磁盤資源、網絡資源與鏡像資源。例如，一個磁盤資源將作為虛擬機的數據存儲，就像物理硬盤一樣；而網絡資源調節進出實例的流量。

**鏡像**
一個鏡像資源包含操作系統與對啟動實例至關重要的根文件系統。Google維護並提供現成的鏡像，用戶也可以使用自定義鏡像來創建實例。需求不同，用戶也可以將鏡像應用至持續存儲硬盤並使用持續存儲硬盤作為根文件系統。

**機型**
實例的機器類型決定了核心數、內存及由實例所支持的I/O操作。

**磁盤**
持續存儲硬盤獨立於虛擬機且比實例的壽命更長。任何存儲在持續存儲硬盤上的信息均在寫入物理介質前被加密，且密鑰被Google嚴格把控。
每個實例僅可接入特定數量的持續存儲硬盤空間（大多數實例上最多可有64TB存儲空間）與特定數量的獨立持續存儲硬盤（大多數實例上最多可接入16個獨立的持續存儲硬盤）。

**快照**
持續存儲硬盤快照使得用戶可從已有的持續存儲硬盤上覆制數據並拷貝到新的硬盤上。這對備份持續存儲硬盤的數據以防遭遇意外損壞與區域維護是及其有用的。

**實例**
一個Google計算引擎實例是一個運行Linux或微軟Windows操作系統的虛擬機。用戶可選擇更改實例的硬件、操作系統、磁盤及其他配置。

**網絡**
網絡定義所有連接至實例的地址範圍與網關地址。它定義了可相互通信、可與其他網絡通信和可與外界通信的實例數量。每個實例屬於單一網絡且任何介於不同網絡的實例必須通過公共IP地址通信。
您的雲端平臺控制檯可包含多個網絡，且每個網絡可擁有多個使用此網絡的實例。您可定義實例網絡的網關IP及網絡範圍。默認情況下，Google提供每個項目有著預設配置及防火牆規則的默認網絡。您可通過添加或移除規則自定義默認網絡，或您可在項目中創建新網絡。通常情況下，雖然用戶默認情況下可最多擁有五個網絡，但大多數用戶實際上只需要一個網絡。
一個網絡僅由一個項目擁有，且每個實例僅可屬於一個網絡。所有的計算引擎網絡均使用IPv4協議。計算引擎當前不支持IPv6協議。然而，Google是主要的IPv6支持者且認為IPv6是重要的未來走向。

**地址**
當創建實例時，默認情況下將自動分配實例一個臨時外部IP。此地址在使用實例時被自動接入，一旦關閉實例則將被自動斷開。GCE同時也提供為虛擬機保留靜態IP地址的機制。臨時外部IP可轉入靜態IP地址。

**防火牆**
一個防火牆資源包含允許進入實例的一個或多個規則。每個防火牆資源僅可與一個網絡關聯。用戶無法將防火牆與多個網絡相關聯。除非防火牆允許網絡流量進入實例，否則將不允許與任何實例通信，甚至是對於處在相同網絡的實例而言。 

**路由**
Google計算引擎提供管理特定IP區間的路由表。與局域網的物理路由器類似，所有的出站通信將與路由表對比並在出站包符合路由表中規則時被正確轉發。

**區域和地區**
區域指Google基礎設施的地理位置。用戶可根據需求選擇部署資源在其中一個可用地區。截止2018年8月13日，Google計算引擎可用於美洲、歐洲與亞太區域。
地區指區域內的獨立位置。在相同區域的不同地區之間有著高帶寬、低延遲的網絡連接。為了部署有著高可用性的容錯程序，Google推薦在不同區域的多個地區部署應用。這可防止用戶在一個地區內遭遇組件故障。截止2018年8月13日，Google計算引擎可用於俄勒岡州、愛荷華州、南卡羅來納州、北弗吉尼亞、蒙特利爾、聖保羅、倫敦、比利時、法蘭克福、荷蘭、孟買、新加坡、彰化、東京、悉尼地區。

**資源範圍**
所有GCE的資源均在全球、區域或地區範圍內可用。全球資源可被所有區域與地區訪問。例如，鏡像就是一項用戶可用於啟動任何區域內虛擬機的全球資源。但地址是僅可用於啟動於相同區域中一個地區虛擬機的區域資源。在特定地區中啟動的實例需要指定地區以作為對該實例發送的所有請求的一部分。
下表總結了GCE資源範圍：

**特性**

**計費與定價模型**
Google至少向虛擬機收取10分鐘的費用。在第10分鐘結束時，實例將以1分鐘為增量單位計費，並四捨五入到最近的分鐘。基於價格的持續用量將基於月用量給予用戶折扣。用戶無需在獲取定期、按期計價折扣前支付承諾費。

**虛擬機性能**
計算引擎虛擬機可在30秒內開機，相比競爭對手的開機速度快了4至10倍。

**磁盤性能**
計算引擎的持續存儲硬盤可提供持續的高IOPS。由於IOPS計費包含在存儲計費內，所以用戶無需為IOPS單獨付費。

**全球範圍鏡像及快照**
鏡像及磁盤快照屬於全球範圍，意味著它們可用於Google雲端平臺的所有區域與地區。這防止了需要在區域間導入導出快照的行為。

**透明維護**
在Google數據中心的預計維護期間，計算引擎可在無需用戶操作的情況下將自動轉移虛擬機從一臺主機至另外一臺。這為程序提供了更好的正常運行時間。

**參考文獻**

**外部鏈接**
 title=Google I/O 2012 - 介紹Google計算引擎- Google Compute Engine 教學 - Google Kubernetes Engine 教學 - Google Cloud Platform 教學