為 Windows 工作負載選取正確的執行個體類型 - AWS 規範指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為 Windows 工作負載選取正確的執行個體類型

概觀

與內部部署環境相比,雲端中操作的工作負載有很大的差異,這是過度佈建的做法。購買現場部署使用的實體硬體時,您預期資本支出會持續一段預定的期間,通常為 3-5 年。為了因應硬體生命週期期間的預期成長,會使用比工作負載目前所需的更多資源來取得硬體。因此,實體硬體通常會過度佈建,遠超過實際工作負載的需求。

虛擬機器 (VM) 技術已成為利用剩餘硬體資源的有效方法。VMs 使用 vCPUs 和 過度佈建的管理員RAM,讓 Hypervisor 透過將未使用的資源配置給每個 VM,來管理忙碌和閒置伺服器之間的實體資源使用量。管理 時VMs,分配給每個 VM 的 vCPU RAM和資源會以資源協調者身分運作,而不是實際用量的指標。VM 資源過度配置可能會輕鬆超過可用運算資源的三倍。

Amazon Elastic Compute Cloud (Amazon EC2) 不會VMs過度佈建基礎硬體,因為這是不必要的。雲端運算是一種營運費用,而不是資本費用,您只需支付使用的費用。如果您的工作負載未來需要更多資源,請在實際需要時佈建它們,而不是先佔。

有數百種選項可選擇正確的 Amazon EC2執行個體類型。如果您計劃將 Windows 工作負載遷移至雲端, AWS 會提供 AWS OLA,協助您更了解目前的工作負載,並提供其在 上效能的範例 AWS。分析 AWS OLA旨在將適當的EC2執行個體類型和大小符合您的實際現場部署使用量。

如果您已在 Amazon 上執行工作負載EC2並尋求成本最佳化策略,本指南的本節可協助您識別 Amazon EC2執行個體之間的差異及其對典型 Windows 工作負載的適用性。

成本最佳化建議

若要最佳化EC2執行個體類型的成本,建議您執行下列動作:

  • 為您的工作負載選擇正確的執行個體系列

  • 了解處理器架構之間的價格變化

  • 了解跨EC2世代的效能差異價格

  • 遷移至較新的執行個體

  • 使用爆量執行個體

為您的工作負載選擇正確的執行個體系列

請務必為您的工作負載選擇正確的執行個體系列。

Amazon EC2執行個體分為以下各種群組:

  • 一般用途

  • 運算最佳化

  • 記憶體最佳化

  • 加速運算

  • 儲存最佳化

  • HPC 最佳化

大多數 Windows 工作負載都符合下列類別:

  • 一般用途

  • 運算最佳化

  • 記憶體最佳化

若要進一步簡化,請考慮每個類別中的基準EC2執行個體:

  • 運算最佳化 – C6i

  • 一般用途 – M6i

  • 記憶體最佳化 – R6i

上一代的EC2執行個體在處理器類型中表現出細微差異。例如,C5 運算最佳化執行個體的處理器比 M5 一般用途執行個體或 R5 記憶體最佳化執行個體更快。最新一代的EC2執行個體 (C6i、M6i, R6i, C6a, M6a和 R6a) 都會跨執行個體系列使用相同的處理器。由於處理器在最新一代的執行個體中是一致的,因此執行個體系列之間的價格差異現在更取決於 的數量RAM。RAM 執行個體擁有的越多,成本就越高。

下列範例說明在 us-east-1 區域中執行之 Intel 4 vCPU 執行個體的每小時定價。

執行個體 vCPUs RAM 每小時價格
c6i.xlarge 4 8 0.17 美元
m6i.xlarge 4 16 0.19 美元
r6i.xlarge 4 32 0.25 美元
注意

定價是以 us-east-1 區域中的隨需每小時定價為基礎。

爆量執行個體

雖然關閉未使用的運算資源以避免產生費用是雲端運算的最佳實務,但並非所有工作負載都可以在每次需要時關閉和開啟。有些工作負載會長時間保持閒置,但必須每天 24 小時都能存取。

爆量執行個體 (T3) 提供一種方法,可維持整天在網路上的尖峰或低使用率工作負載,同時仍保持低的運算成本。爆量EC2執行個體具有執行個體可在短時間內使用的 vCPU 資源數量上限。這些執行個體採用以高載CPU額度為基礎的系統。這些額度會在一天的閒置期間累積。爆量執行個體提供不同的 vCPU-to-RAM比率,使它們可以替代某些情況下運算最佳化執行個體,以及其他情況下的其他一般用途執行個體。

下列範例說明在 us-east-1 區域中執行的 T3 執行個體 (即爆量執行個體) 的每小時定價。

執行個體 vCPUs RAM (GB) 每小時價格
t3.nano 2 0.5 0.0052 美元
t3.micro 2 1 0.0104 美元
t3.small 2 2 0.0208 美元
t3.medium 2 4 0.0416 美元
t3.large 2 8 0.0832 美元
t3.xlarge 4 16 0.1664 美元
t3.2xlarge 8 32 0.3328 美元
注意

定價是以 us-east-1 區域中的隨需每小時定價為基礎。

了解處理器架構之間的價格變化

Intel 處理器自成立以來就一直是EC2執行個體的標準。舊版的EC2執行個體,例如 C5, M5 和 R5,不會指示 Intel 做為處理器架構 (因為這是預設值)。較新一代的EC2執行個體,例如 C6i, M6i 和 R6i,包含表示使用 Intel 處理器的「i」。

處理器架構註釋的變更是由於引進了其他處理器選項。與 Intel 最相似的處理器是 AMD(以「a」表示)。AMDEPYC處理器使用相同的 x86 架構,並提供與 Intel 處理器相似但價格較低的效能。如下列定價範例所示,AMDEC2執行個體的運算成本相較於其 Intel 複本提供大約 10% 的折扣。

Intel 執行個體 每小時價格 AMD 執行個體 價格 % 差異
c6i.xlarge 0.17 美元 c6a.xlarge 0.153 美元 10%
m6i.xlarge 0.192 美元 m6a.xlarge 0.1728 美元 10%
r6i.xlarge 0.252 美元 r6a.xlarge 0.2268 美元 10%
注意

定價是以 us-east-1 區域中的隨需每小時定價為基礎。

第三個主要處理器架構選項是EC2執行個體上的 AWS Graviton 處理器 (以 "g" 表示)。Graviton 處理器由 設計 AWS,可在 Amazon 上提供最佳價格效能EC2。目前的 Graviton 處理器不僅比其 Intel 處理器便宜 20%,而且還提升了 20% 或更高的效能。新一代 Graviton 處理器預計將進一步擴展此效能差異,測試顯示效能額外增加 25%。

Windows Server 無法在以ARM架構為基礎的 Graviton 處理器上執行。事實上,Windows Server 只在 x86 處理器上執行。雖然您無法透過使用 Graviton 型 Windows Server 執行個體來提高 40% 的價格效能,但您仍然可以使用具有特定 Microsoft 工作負載的 Graviton 處理器。例如,較新版本的 。NET 可以在 Linux 上執行。這表示這些工作負載可以使用ARM處理器,並從更快、更經濟實惠的 Graviton EC2執行個體中受益。

下列範例說明 us-east-1區域中執行的 Graviton 執行個體的每小時定價。

Intel 執行個體 每小時價格 Graviton 執行個體 每小時價格 % 差異
c6i.xlarge 0.17 美元 c6g.xlarge 0.136 美元 20%
m6i.xlarge 0.192 美元 m6g.xlarge 0.154 美元 20%
r6i.xlarge 0.252 美元 r6g.xlarge 0.2016 美元 20%
注意

定價是以 us-east-1 區域中的隨需每小時定價為基礎。

下圖比較 M 系列執行個體的價格。

M 系列價格比較

了解跨EC2世代的價格效能差異

Amazon 最一致的特性之一EC2是,每個新一代都比上一代產品提供更好的價格效能。如下表所示,較新一代EC2執行個體的價格會隨後續版本而降低。

運算最佳化執行個體 每小時價格 一般用途執行個體 每小時價格 記憶體最佳化執行個體 每小時價格
C1.xlarge 0.52 美元 M1.xlarge 0.35 美元 r1.xlarge N/A
C3.xlarge 0.21 美元 M3.xlarge 0.266 美元 r3.xlarge 0.333 美元
C5.xlarge 0.17 美元 M5.xlarge 0.192 美元 r5.xlarge 0.252 美元
注意

定價是以 us-east-1 區域中的隨需每小時定價為基礎。

下表比較不同世代 C 系列執行個體的成本。

C 系列價格比較

不過,如下表所示,第 6 代執行個體的價格與第 5 代相同。

運算最佳化執行個體 每小時價格 一般用途執行個體 每小時價格 記憶體最佳化執行個體 每小時價格
C5.xlarge 0.17 美元 M5.xlarge 0.192 美元 r5.xlarge 0.252 美元
C6i.xlarge 0.17 美元 M6i.xlarge 0.192 美元 r6i.xlarge 0.252 美元
注意

定價是以 us-east-1 區域中的隨需每小時定價為基礎。

雖然成本相同,但由於處理器速度更快、網路輸送量增強,以及 Amazon Elastic Block Store (Amazon EBS) 輸送量和 增加,新一代仍提供卓越的價格效能IOPS。

最重要的價格效能改善之一是 X2i 執行個體的增強。此世代的執行個體提供比上一代多 55% 的價格效能。如下表所示,x2iedn 在每個效能方面都展現了改善 (全部價格與上一代相同)。

執行個體 每小時價格 vCPUs RAM 處理器速度 執行個體儲存體 聯網 Amazon EBS輸送量 EBS IOPS
x1e.2xlarge 1.66 美元 8 244 2.3 GHz 237GB SSD 10 Gbps 125 MB/s 7400
x1iedn.2xlarge 1.66 美元 8 256 3.5 GHz 240GB NVMe SSD 25 Gbps 2500 MB/s 65000
注意

定價是以 us-east-1 區域中的隨需每小時定價為基礎。

範例方案

請考慮追蹤交付車輛並希望改善其SQL伺服器效能的分析公司範例。MACO SME 檢閱公司的效能瓶頸後,公司會從 x1e.2xlarge 執行個體轉換為 x2iedn.xlarge 執行個體。新的執行個體大小較小,但對 x2 執行個體的增強功能可透過使用緩衝集區延伸來提高SQL伺服器效能和最佳化。這可讓公司從 SQL Server Enterprise Edition 降級為 SQL Server Standard Edition。它也可讓公司將其SQL伺服器授權從 8 減少 vCPUs 到 4vCPUs。

最佳化之前:

Server EC2 執行個體 SQL 伺服器版本 每月成本
產品DB1 x1e.2xlarge Enterprise 3,918.64 美元
產品DB2 x1e.2xlarge Enterprise 3,918.64 美元
總計     7,837.28 美元

最佳化後:

Server EC2 執行個體 SQL 伺服器版本 每月成本
產品DB1 x2iedn.xlarge 標準 1,215.00 美元
產品DB2 x2iedn.xlarge 標準 1,215.00 美元
總計     2,430.00 美元

所有合併後,從 x1e.2xlarge 執行個體變更為 x2iedn.xlarge 執行個體,可讓範例案例中的公司在生產資料庫伺服器上每月節省 5,407 美元。這可將工作負載的總成本降低 69%。

注意

定價是以 us-east-1 區域中的隨需每小時定價為基礎。

遷移至較新的執行個體

較舊世代的 Amazon 在 Xen Hypervisor EC2上執行,而較新世代則在 AWS Nitro 系統上執行。Nitro 系統幾乎會將主機硬體的所有運算和記憶體資源交付至您的執行個體。這可改善整體效能。從 Xen 遷移到 Nitro 型執行個體時,有特殊考量。例如,AWS Windows AMIs 是使用預設設定和 Microsoft 安裝媒體使用的自訂設定進行設定。自訂包含支援最新一代執行個體類型的驅動程式和組態 (在 Nitro 系統上建置的執行個體)。

如果您是從自訂 Windows AMIs或從 Amazon AMIs提供的 Windows 啟動執行個體,而該 Windows 是在 2018 年 8 月之前建立,建議您完成從遷移到 Amazon 文件中最新一代執行個體類型的步驟。 EC2

使用爆量執行個體

雖然爆量執行個體是節省運算成本的好方法,但建議您在下列情況下避免這些執行個體:

  • 具有桌面體驗的 Windows Server 最低規格需要 2 GB 的 RAM。避免將 t3.micro 或 t3.nano 執行個體與 Windows Server 搭配使用,因為它們缺少最低數量的 RAM。

  • 如果您的工作負載爆量,但閒置的時間不夠長,無法建置爆量額度,則使用一般EC2執行個體比使用爆量執行個體更有效率。我們建議您監控您的CPU額度,以驗證這一點。

  • 在大多數情況下,建議您避免將高載執行個體與SQL伺服器搭配使用。SQL Server 的授權是根據 vCPUs 指派給執行個體的 數目。如果SQL伺服器在一天中的大部分時間處於閒置狀態,則您將支付未充分利用SQL的授權。在這些情況下,我們建議您將多個SQL伺服器執行個體合併到較大的伺服器上。

後續步驟

建議您採取下列步驟,以最佳化 Amazon EC2 Windows 執行個體的成本:

  • 使用最新一代的EC2執行個體以獲得最佳價格效能。

  • 使用EC2執行個體搭配AMD處理器,以降低 10% 的運算成本。

  • 選擇符合您工作負載的EC2執行個體類型,將資源使用率最大化。

下表顯示 Windows 工作負載的一般起點範例。還有其他選項可用,例如執行個體儲存磁碟區,以增強SQL伺服器工作負載或具有較大 vCPU-to-RAM比率的EC2執行個體。我們建議您徹底測試工作負載,並使用監控工具 AWS Compute Optimizer ,例如 協助進行必要的調整。

工作負載 典型 選用
Active Directory T3, M6i R6i
檔案伺服器 T3, M6i C6i
Web 伺服器 T3, C6i M6i, R6i
SQL 伺服器 R6i x2iedn、X2iezn

如果您必須變更EC2執行個體類型,程序通常只需要簡單的伺服器重新啟動。如需詳細資訊,請參閱 Amazon 文件中的變更執行個體類型。 EC2

在您變更執行個體類型之前,建議您考慮下列事項:

  • 您必須先停止 Amazon 支援的執行個體,EBS才能變更其執行個體類型。請務必在執行個體停止時規劃停機時間。停止執行個體並變更其執行個體類型可能會花費數分鐘,重新啟動您的執行個體所需要花費的時間則會根據您應用程式的啟動指令碼而有所不同。如需詳細資訊,請參閱 Amazon EC2 文件中的停止和啟動執行個體

  • 當您停止和啟動執行個體時, 會將執行個體 AWS 移至新的硬體。如果您的執行個體有公有IPv4地址, 會 AWS 發行該地址,並為執行個體提供新的公有IPv4地址。如果您需要未變更的公有IPv4地址,請使用彈性 IP 地址

  • 如果在執行個體上啟用休眠,則無法變更執行個體類型。

  • 您無法變更 Spot 執行個體的執行個體類型。

  • 如果您的執行個體在 Auto Scaling 群組中,Amazon EC2 Auto Scaling 會將停止的執行個體標記為運作狀態不佳,並且可能會將其終止並啟動替換執行個體。若要避免這種情況,您可以在變更執行個體類型時,暫停群組的擴展程序。如需詳細資訊,請參閱《Amazon Auto Scaling 文件》中的暫停和繼續 Auto Scaling 群組的程序。 EC2 Auto Scaling

  • 當您使用執行個體存放區磁碟區變更執行個體的NVMe執行個體類型時,更新的執行個體可能會有額外的執行個體存放區磁碟區,因為即使未在 Amazon Machine Image (AMI) 或執行個體區塊裝置映射中指定,所有NVMe執行個體存放區磁碟區仍然可用。否則,更新後的執行個體通常會有與您在啟動原始執行個體時指定之執行個體儲存體磁碟區相同數目的執行個體儲存體磁碟區。

其他資源