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虛擬機。運行專有作業系統的虛擬機將會更貴。

預定義機器類型｜機器名｜虛擬核心｜記憶體｜每小時價格 (託管於美國地區)｜每小時價格 (託管於歐洲地區)

標準｜n1-standard-1｜1｜3.75GB｜$0.070｜$0.077

標準｜n1-standard-2｜2｜7.5GB｜$0.140｜$0.154

標準｜n1-standard-4｜4｜15GB｜$0.280｜$0.308

標準｜n1-standard-8｜8｜30GB｜$0.560｜$0.616

標準｜n1-standard-16｜16｜60GB｜$1.120｜$1.232

高記憶體｜n1-highmem-2｜2｜13GB｜$0.164｜$0.180

高記憶體｜n1-highmem-4｜4｜26GB｜$0.328｜$0.360

高記憶體｜n1-highmem-8｜8｜52GB｜$0.656｜$0.720

高記憶體｜n1-highmem-16｜16｜104GB｜$1.312｜$1.440

高處理器｜n1-highcpu-2｜2｜1.80GB｜$0.088｜$0.096

高處理器｜n1-highcpu-4｜4｜3.60GB｜$0.176｜$0.192

高處理器｜n1-highcpu-8｜8｜7.20GB｜$0.352｜$0.384

高處理器｜n1-highcpu-16｜16｜14.40GB｜$0.704｜$0.768

共享核心｜f1-micro｜1｜0.60GB｜$0.013｜$0.014

共享核心｜g1-small｜1｜1.70GB｜$0.035｜$0.0385

兆記憶體｜n1-ultramem-40｜40｜938GB｜$6.3039 (愛荷華州)｜$6.9389 (比利時)

兆記憶體｜n1-ultramem-80｜80｜1922GB｜$12.6078 (愛荷華州)｜$13.8779 (比利時)

兆記憶體｜n1-megamem-96｜96｜1433.6GB｜$10.6740 (愛荷華州)｜$11.7430 (比利時)

兆記憶體｜n1-ultramem-160｜160｜3844GB｜$25.2156 (愛荷華州)｜$27.7557 (比利時)

## 資源

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

### 鏡像

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

### 機型

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

### 磁碟

持續存儲硬碟獨立於虛擬機且比實例的壽命更長。任何存儲在持續存儲硬碟上的資訊均在寫入物理介質前被加密，且密鑰被Google嚴格把控。

類型｜價格 (GB/月)

標準空間｜$0.04

SSD空間｜$0.17

快照存儲｜$0.026

IO操作｜無額外收費

每個實例僅可接入特定數量的持續存儲硬碟空間（大多數實例上最多可有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數據中心的預計維護期間，計算引擎可在無需使用者操作的情況下將自動轉移虛擬機從一台主機至另外一台。這為程序提供了更好的正常運行時間。

## 基本資料

- 作者：Google, Inc.
- 開發者：Google
- 發行日期：2012年6月28日
- 作業系統：Linux、FreeBSD、NetBSD、Microsoft Windows
- 語言：英語
- 狀態：活躍
- 類型：虛擬專用伺服器
- 許可協議：專有軟體