[Day6]Virtual Machines (2021 鐵人賽 – Cloud)


今天要來介紹的是雲端的虛擬機器 (VM),屬於雲端 IaaS 最具有代表的一項產品。相信有許多讀者應該都有在自己電腦上使用虛擬機的經驗吧?例如 Virtual Box 或 VMWare 等程式,虛擬機在實用上有非常多的優點。

虛擬機的優點

虛擬機最大的優點就是可以與實體機器隔離,做任何的事情都不會影響到原始的機器。除此之外,在假設 Host 電腦的效能與容量足夠的前提下,我們也可以隨時地變更虛擬機的硬碟大小、CPU大小、硬碟容量等。我們也可以直接針對整台虛擬機的映像(image)檔案進行快照(snapshot),作為即時的備份使用。

如果我們有很多台的虛擬機,也可以建立虛擬的網路將他們互相連起來;有關雲端的虛擬網路 (VPC),我們會留到明天再跟各位進行介紹。

上述這些虛擬機的優點,無論是地端與雲端的設備都可以運用的到,而雲端的機器由於是交由服務商進行管理,所以對於正常使用者來說,我們可以視為 host 的機器將近是無限大,想要開多少都沒有問題!

vCPU 與 Throughput

一個 vCPU 等同於一個硬體的超值行續 (Hyper-Theread),以目前的 GCP 規定,一台的 VM 最多可以開 96 個 vCPU 。

一個 vCPU 的 網路吞吐量 (throughput) 為 2Gbps。到目前為止,若使用一台大於等於 16顆 vCPU 的裝置,其網路的 throughput 最高為 32Gbps。如果開啟特殊的虛擬機,例如使用到高級 GPU 的 V4 或是 V100 ,則可以到 100 Gbps。

Storage

虛擬硬碟方面,在 GCP 上面也有幾種選擇,分別是 Standard 、 SSD 與 Local SSD。不同的硬碟選擇,想當然的,就是他們的性能與價格有所差距,大家可以依照自己的需求選擇最適合的硬碟解決方案,而這三種硬碟分別的差距如下:

  • Standard
    • 可以理解成普通的電腦機械式硬碟
    • 透過網路連接上 VM
    • 它們的容量可以視需求彈性的增加(只能增加不能減少)
    • 最大值在每台 VM 上可以有 257 個 TB
    • 最便宜
  • SSD
    • 相對於 Standard ,可以有更高的 IOPS
    • 透過網路連接上 VM
    • 也可以在線的增加容量(只能增加不能減少)
    • 最大值在每台 VM 上可以有 257 個 TB
    • 價格其次
  • Local SSD
    • 比起 SSD 有更高的吞吐量,且低延遲
    • 直接硬體的連接在 VM 上
    • 關閉、刪除 VM 後,資料就會被刪除
    • 通常拿來作為 swap 使用
    • 單顆 Local SSD 最大容量為 375GB
    • 一台 VM 最多可以連結 8 顆 Local SSD

VM Access

通常我們訪問雲端的 VM 都是藉由網路的方式,在大多數情況下, Linux 的作業系統我們會使用預設為 22 Port 的 SSH,而 Windows 作業系統則會使用預設為 3389 Port 的遠端桌面連線 (RDP)。

在 GCP 中,SSH 的連線可以藉由 GCP Console、Cloud Shell 或 Cloud SDK,也可以經由自己習慣的 SSH Client,如 Putty、Moba 等程式。而 RDP 則需要透過 Windows 內建的遠端桌面連線,或是其他 RDP 客戶端。

預設的機器類型

雖然我們可以完全的克制化自己的 VM,Google 也有準備了許多預設的,常見需求的機器可以供大家選擇,使用 Google 預設的機器規格,通常會比自己設定便宜許多。預設的分別為:

  • Standard
    • 標準,提供給最正常的需求使用
    • 通常他的 CPU 與 Memory 會是均衡的
    • 其 RAM 與 CPU 比值為 3.75 GB : 1 vCPU
    • 例如 n1-standard-2 :
      • 2 顆 vCPU 搭載 7.5 GB 的 Ram
    • 最高可到 96 vCPU , 360 GB RAM
  • High-Memory
    • 提供給需要使用 CPU 較少,而 GPU 較多的使用者
    • 其 RAM 與 CPU 比值為 6.5 GB : 1 vCPU
    • 例如 n1-highmem-2
      • 2 顆 vCPU 搭載 13 GB 的 RAM
    • 最高可到 96 vCPU , 624 GB RAM
  • High-CPU
    • 提供給需要使用 Memory 較少,而 CPU 較多的使用者
    • 其 RAM 與 CPU 比值為 0.9 GB : 1 vCPU
    • 例如 n1-highcpu-2
      • 2 顆 vCPU 搭載 1.8 GB 的 RAM
    • 最高可到 96 vCPU , 86.4 GB
  • Memory-optimized
    • 提供給一些 In-Memory 的資料庫,例如 SAP、 HANA,以及 SQL 資料分析使用
    • 其 RAM 與 CPU 比值為 >14 GB : 1 vCPU
    • 例如 m1-ultramem-40
      • 40 vCPU 搭載 961 GB RAM
    • 最高可到 160 vCPU , 3844 GB 的 RAM
  • Compute-optimized
    • 主要提供單核 CPU 較高的效能 (最高 3.8Ghz)
    • 例如 c2-standard-4
      • 4 顆 vCPU 搭載 16 GB 的 RAM
    • 最高可到 60 vCPU 搭載 240 GB RAM
  • Shared-core
    • 會跟他人共用 vCPU,適合效能超小的小程式
    • f1-micro : 0.2 vCPU , 0.6 GB RAM
      • 提供突發狀況,短期的使用額外的 CPU
    • g1-small : 0.5 vCPU , 1.7 GB RAM

Preemptible Machine

除了常見的機器之外, GCP 也有提供搶佔式的機器,相較於普通機器而言,它的價格便宜非常非常多,最低可以便宜到 80%。但搶占式機器有可能在任何時候被強制關機,通常搶占式機器會用來做一些 Batch Process 的工作。它最多只能存活 24小時,而在被關機前 30 秒會警告,提供給使用者執行關機腳本。

Image

GCP 有提供許多不同的 VM Image 供大家使用,包含了各大免費的 Linux 作業系統,以及 Windows 系統。 Windows 系統會依照使用時間收取相關的受權使用費。
使用者也可以上傳自己的 Custom Image,而此時,對於這個自己的 Image 的安全性,就是使用者須要自己負責的部分了!

總結

今天介紹了 GCP 的 VM 相關的一些規格與差別,其實 VM 還有許多內容可以談的,不過礙於時間跟篇幅有限,今天差不多就介紹到這邊。預計明天會與大家介紹 VPC 相關的內容。


發表迴響