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

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

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

概觀

與內部部署環境相比,在雲端中操作的工作負載之間有很大的區別在於過度佈建的做法。購買供內部部署使用的實體硬體時,您的資本支出預期會持續預先決定的持續時間,通常為 3-5 年。為了因應硬體壽命期間的預期成長,硬體採購的資源超過您的工作負載目前所需的數量。因此,實體硬體通常會過度佈建,遠遠超出實際工作負載的需求。

虛擬機(VM)技術成為利用多餘硬件資源的有效手段。管理員過度佈建的虛擬機器具有 vCPUs 和 RAM,讓 Hypervisor 能夠透過將未使用的資源分配給每個虛擬機器,來管理忙碌與閒置伺服器之間的實體資源使用情況。管理虛擬機器時,分配給每個虛擬機器的 vCPU 和 RAM 資源更像資源管理員一樣運作,而不是實際使用的指標。虛擬機器資源過度配置很容易超過可用運算資源的三倍。

Amazon Elastic Compute Cloud (Amazon EC2) 會避免在基礎硬體上過度佈建虛擬機器,因為這是不必要的。雲端運算是一種營運費用,而不是資本支出,您只需按使用量付費。如果您的工作負載 future 需要更多資源,請在實際需要時進行佈建,而不是先發製人。

有數百種選項可供選擇正確的 Amazon EC2 執行個體類型。如果您打算將 Windows 工作負載移轉到雲端,請提 AWS 供 O AWS LA 來協助您更好地瞭解目前的工作負載,並提供其效能範例 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 越多,就越昂貴。

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

執行個體 vCPU 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 與 RAM 比率,因此在某些情況下可替代運算最佳化執行個體,以及其他一般用途執行個體的替代方案。

下列範例說明區域中執行之 T3 執行個體 (亦即高載執行個體) 的小時定價。us-east-1

執行個體 vCPU 公羊(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) 包含「i」來表示使用英特爾處理器。

處理器架構註釋的變更是因為引入了額外的處理器選項。與英特爾最相似的處理器是 AMD(以「a」表示)。AMD EPYC 處理器使用相同的 x86 架構,並提供與英特爾處理器類似的性能,但價格更低。如下列定價範例所示,AMD EC2 執行個體在運算成本方面提供約 10% 的 discount。

英特尔实例 每小時價格 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」表示)。由重力發處理器設計 AWS,可在 Amazon EC2 上提供最優惠的價格效能。目前的 Graviton 處理器不僅比 Intel 同類產品便宜 20%,而且還能提供 20% 或更高的效能提升。新一代的 Graviton 處理器預計將進一步延伸這種效能差異,測試顯示效能額外提升 25%。

Windows 伺服器無法在以 ARM 架構為基礎的重力電腦處理器上執行。事實上,視窗伺服器只能在 x86 處理器上運作。雖然您無法在 Windows Server 上使用以重力為基礎的執行個體來提升 40% 的價格效能,但您仍然可以在特定 Microsoft 工作負載上使用重力處理器。例如,較新版本的 .NET 可以在 Linux 上執行。這意味著這些工作負載可以使用 ARM 處理器,並從更快速、更經濟實惠的 Graviton EC2 執行個體中獲益。

下列範例說明在該地區執行之 Graviton 執行個體的小時定價。us-east-1

英特尔实例 每小時價格 引力子實例 每小時價格 % 差異
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 執行個體的價格隨後的每個版本而降低。

運算優化執行個 每小時價格 一般用途實例 每小時價格 記憶體優化實例 每小時價格
大尺寸 0.52 米大 0.35 美元 R1. 大 N/A
C. 大 0.21 美元 M3. 大 0.266 r3.xlarge $0.333
C. 大 0.17 美元 M. 大 0.192 r5.xlarge 0.252
注意

定價是根據該us-east-1地區的按需小時定價。

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

C 系列價格比較

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

運算優化執行個 每小時價格 一般用途實例 每小時價格 記憶體優化實例 每小時價格
C. 大 0.17 美元 M. 大 0.192 r5.xlarge 0.252
C6I.X 大 0.17 美元 大号 0.192 r6i.xlarge 0.252
注意

定價是根據該us-east-1地區的按需小時定價。

儘管成本相同,但由於更快的處理器、增強的聯網輸送量以及增加的 Amazon Elastic Block Store (Amazon EBS) 輸送量和 IOPS,因此新一代產品可提供卓越的價格效能。

其中一項最重要的價格效能改善,就是增強 X2i 執行個體。與前一代相比,這一代執行個體的價格效能提供高達 55% 的價格效能。如下表所示,x2iedn 展示了每個性能方面的改進(所有價格都與上一代相同)。

執行個體 每小時價格 vCPU RAM 處理器速度 執行個體儲存體 聯網 Amazon EBS 輸送量 EBS IOPS
x1e.2xlarge $1.66 8 244 2.3 千兆赫 固態硬碟 10 Gbps 125 MB /秒 7400
x1. 2 倍大 $1.66 8 256 3.5 千兆赫 NVMe 固態硬碟 25 Gbps 2500 MB /秒 65000
注意

定價是根據該us-east-1地區的按需小時定價。

範例方案

考慮一個分析公司的範例,該公司會追蹤傳遞工具,並希望改善其 SQL Server 效能。在一個 MACO 中小企業審查此公司的效能瓶頸之後,該公司將從 x1e.2xlarge 執行個體轉換為 x2iedn.xlarge 執行個體。新的執行個體大小較小,但 x2 執行個體的增強功能可透過使用緩衝集區延伸功能來提高 SQL Server 效能和最佳化。這可讓公司從 SQL 伺服器企業版降級為 SQL 伺服器標準版。這也可讓公司將其 SQL 伺服器授權從 8 個 vCPUs 減少到 4 個 vCPUs。

優化之前:

Server EC2 執行個體 SQL Server 版本 每月成本
ProddB1 x1e.2xlarge Enterprise 3,918.64 美元
ProddB2 x1e.2xlarge Enterprise 3,918.64 美元
總計     7,837.28 美元

優化後:

Server EC2 執行個體 SQL Server 版本 每月成本
ProddB1 x2iedn.xlarge 標準 1,215.00 美元
ProddB2 x2iedn.xlarge 標準 1,215.00 美元
總計     2,430.00 美元

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

注意

定價是根據該us-east-1地區的按需小時定價。

移轉至較新執行個體

舊一代的 Amazon EC2 在 Xen 虛擬化管理程序上運行,而新一代則在AWS 硝基系統上運行。Nitro 系統將主機硬體的幾乎所有運算和記憶體資源提供給您的執行個體。這會改善整體效能。從 Xen 移轉到 Nitro-based 執行個體時,需要考量特殊的考量。例如,AWS Windows AMI 會使用 Microsoft 安裝媒體所使用的預設設定和自訂進行設定。自訂項目包括支援最新一代執行個體類型 (Nitro System 上建置的執行個體) 的驅動程式和設定。

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

使用可高載執行個體

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

  • 具備桌面體驗的 Windows 伺服器的最低規格需要 2 GB 的記憶體。避免使用 t3.micro 或 t3.nano 執行個體搭配視窗伺服器,因為它們缺少記憶體的最小數量。

  • 如果您的工作負載高峰,但閒置時間不足以建立突發積分,使用一般 EC2 執行個體會比使用高載執行個體更有效率。我們建議您監控您的 CPU 積分以驗證這一點。

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

後續步驟

我們建議您採取下列後續步驟來優化 Amazon EC2 Windows 執行個體的成本:

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

  • 搭配 AMD 處理器使用 EC2 執行個體,可降低百分之十的運算成本。

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

下表顯示 Windows 工作負載的典型起點範例。還提供其他選項,例如用於增強 SQL Server 工作負載的執行個體儲存磁碟區或具有更大 vCPU 對 RAM 比率的 EC2 執行個體。我們建議您徹底測試工作負載,並使用監控工具,例如 AWS Compute Optimizer 協助進行必要的調整。

工作負載 典型 選用
Active Directory T3, M6 R6i
檔案伺服器 T3, M6 C6i
Web 伺服器 T3, C6 I M6i, 六一
SQL Server R6i X2 是, X2 也是

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

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

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

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

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

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

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

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

其他資源