

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

# 為 Windows 工作負載選取正確的執行個體類型
<a name="right-size-selection"></a>

## 概觀
<a name="right-size-selection-overview"></a>

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

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

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

選擇正確的 [Amazon EC2 執行個體類型](https://aws.amazon.com/ec2/instance-types/)有數百種選項。如果您計劃將 Windows 工作負載遷移至雲端， AWS 會提供 [AWS OLA](https://aws.amazon.com/optimization-and-licensing-assessment/)，以協助您進一步了解目前的工作負載，並提供其在 上效能的範例 AWS。OLA AWS 分析旨在將適當的 EC2 執行個體類型和大小符合您的實際現場部署使用量。

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

## 成本最佳化建議
<a name="right-size-selection-recommendations"></a>

若要最佳化 EC2 執行個體類型的成本，建議您執行下列動作：
+ 為您的工作負載選擇正確的執行個體系列
+ 了解處理器架構之間的價格變化
+ 了解跨 EC2 世代的效能差異價格
+ 遷移至較新的執行個體
+ 使用爆量執行個體

### 為您的工作負載選擇正確的執行個體系列
<a name="right-size-selection-family"></a>

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

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`區域中的隨需每小時定價為基礎。

#### 爆量執行個體
<a name="right-size-selection-burstable"></a>

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

爆量執行個體 (T3) 提供一種方法，讓您整天維持線上尖峰或低使用率工作負載，同時保持低的運算成本。爆量 EC2 執行個體具有執行個體可在短時間內使用的 vCPU 資源數量上限。這些執行個體採用以[高載 CPU 點數](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-credits-baseline-concepts.html#earning-CPU-credits)為基礎的系統。這些點數會在一天的閒置期間累積。爆量執行個體提供不同的 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`區域中的隨需每小時定價為基礎。

### 了解處理器架構之間的價格變化
<a name="right-size-selection-variations-arch"></a>

[Intel](https://aws.amazon.com/intel/) 處理器自成立以來一直是 EC2 執行個體的標準。較早世代的 EC2 執行個體，例如 C5, M5 和 R5，不會指示 Intel 做為處理器架構 （因為它是預設值）。較新一代的 EC2 執行個體，例如 C6i, M6i 和 R6i，包含表示 Intel 處理器使用的「i」。

處理器架構註釋的變更是因為引進了其他處理器選項。與 Intel 最相似的處理器是 [AMD](https://aws.amazon.com/ec2/amd/) （以「a」表示）。AMD EPYC 處理器使用相同的 x86 架構，並提供類似於 Intel 處理器的效能，但價格較低。如下列定價範例所示，AMD EC2 執行個體相較於其 Intel 執行個體，可提供約 10% 的運算成本折扣。


****  

| Intel 執行個體 | 每小時價格 | AMD 執行個體 | Price | % 差異 | 
| --- | --- | --- | --- | --- | 
| 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 處理器](https://aws.amazon.com/ec2/graviton/) （以 "g" 表示）。Graviton 處理器由 設計 AWS，可在 Amazon EC2 上提供最佳價格效能。目前 Graviton 處理器不僅比其 Intel 處理器便宜 20%，也提供 20% 或更高的效能提升。新一代 Graviton 處理器預計將進一步擴展此效能差異，而測試顯示效能額外增加 25%。

Windows Server 無法在以 ARM 架構為基礎的 Graviton 處理器上執行。事實上，Windows Server 只會在 x86 處理器上執行。雖然針對 Windows Server 使用 Graviton 型執行個體無法提升 40% 的價格效能，但您仍然可以使用具有特定 Microsoft 工作負載的 Graviton 處理器。例如，[較新版本的 .NET 可以在 Linux 上執行](net-refactor-linux.md)。這表示這些工作負載可以使用 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 系列價格比較](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/m6_price.png)


### 了解跨 EC2 世代的價格效能差異
<a name="right-size-selection-variations-ec2"></a>

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 系列價格比較](http://docs.aws.amazon.com/zh_tw/prescriptive-guidance/latest/optimize-costs-microsoft-workloads/images/ec2_compute_opt_price.png)


不過，第 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 執行個體](https://aws.amazon.com/ec2/instance-types/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`區域中的隨需每小時定價為基礎。

### 範例方案
<a name="right-size-selection-examples"></a>

請考慮追蹤交付車輛並希望改善 SQL Server 效能的分析公司範例。MACO SME 審查公司的效能瓶頸後，公司會從 x1e.2xlarge 執行個體轉換為 x2iedn.xlarge 執行個體。新的執行個體大小較小，但 x2 執行個體的增強功能可透過使用緩衝集區延伸來提高 SQL Server 效能和最佳化。這可讓公司從 SQL Server Enterprise Edition 降級為 SQL Server Standard Edition。它還允許公司將其 SQL Server 授權從 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`區域中的隨需每小時定價為基礎。

### 遷移至較新的執行個體
<a name="right-size-selection-newer-instances"></a>

較舊世代的 Amazon EC2 在 Xen Hypervisor 上執行，而較新世代則在 [AWS Nitro 系統](https://aws.amazon.com/ec2/nitro/)上執行。Nitro 系統可將主機硬體的幾乎所有運算和記憶體資源交付給您的執行個體。這可改善整體效能。從 [Xen 遷移到 Nitro 型執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/migrate-to-xen.html)時有特殊考量。例如，[AWS Windows AMIs](https://docs.aws.amazon.com/ec2/latest/windows-ami-reference/windows-amis.html)是使用預設設定和 Microsoft 安裝媒體使用的自訂來設定。自訂包含支援最新一代執行個體類型的驅動程式和組態 ([在 Nitro 系統上建置的執行個體](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/instance-types.html#ec2-nitro-instances))。

如果您要從自訂 Windows AMIs 或從 Amazon 提供的 Windows AMIs 啟動執行個體，而這些執行個體是在 2018 年 8 月之前建立，建議您完成從[遷移到 Amazon EC2 文件中最新一代執行個體類型的](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/migrating-latest-types.html)步驟。 Amazon EC2 

### 使用爆量執行個體
<a name="right-size-selection-use-burstable"></a>

雖然爆量執行個體是節省運算成本的好方法，但建議您在下列情況下避免這些執行個體：
+ 具有桌面體驗的 [Windows Server 最低規格](https://learn.microsoft.com/en-us/windows-server/get-started/hardware-requirements#ram)需要 2 GB 的 RAM。避免將 t3.micro 或 t3.nano 執行個體與 Windows Server 搭配使用，因為它們缺少最低數量的 RAM。
+ 如果您的工作負載尖峰，但沒有足夠的閒置時間來建置爆量額度，則使用一般 EC2 執行個體比使用爆量執行個體更有效率。我們建議您[監控 CPU 點數](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/burstable-performance-instances-monitoring-cpu-credits.html)，以驗證這一點。
+ 在大多數情況下，建議您避免將爆量執行個體與 SQL Server 搭配使用。SQL Server 的授權是根據指派給執行個體vCPUs 數量。如果 SQL Server 在一天的大部分時間處於閒置狀態，您將支付未充分利用的 SQL 授權。在這些情況下，我們建議您將多個 SQL Server 執行個體合併到較大的伺服器上。

## 後續步驟
<a name="right-size-selection-next-steps"></a>

我們建議您採取下列後續步驟，以最佳化 Amazon EC2 Windows 執行個體的成本：
+ 使用最新一代的 EC2 執行個體以獲得最佳價格效能。
+ 搭配 AMD 處理器使用 EC2 執行個體，以降低 10% 的運算成本。
+ 選擇符合您工作負載的 EC2 執行個體類型，將資源使用率最大化。

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


****  

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

如果您必須變更 EC2 執行個體類型，程序通常只需要簡單的伺服器重新啟動。如需詳細資訊，請參閱 [Amazon EC2 文件中的變更執行個體類型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-resize.html)。 Amazon EC2 

在您變更執行個體類型之前，建議您考慮下列事項：
+ 您必須先停止 Amazon EBS 支援的執行個體，才能變更其執行個體類型。請務必在執行個體停止時規劃停機時間。停止執行個體並變更其執行個體類型可能會花費數分鐘，重新啟動您的執行個體所需要花費的時間則會根據您應用程式的啟動指令碼而有所不同。如需詳細資訊，請參閱 Amazon EC2 文件中的[停止和啟動執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html)。
+ 當您停止和啟動執行個體時， 會將執行個體 AWS 移至新的硬體。如果您的執行個體具有公有 IPv4 地址， 會 AWS 釋出該地址，並為執行個體提供新的公有 IPv4 地址。如果您需要未變更的公有 IPv4 地址，請使用[彈性 IP 地址](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html)。
+ 如果在執行個體上啟用[休眠](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Hibernate.html)，則無法變更執行個體類型。
+ 您無法變更 [Spot 執行個體](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/spot-requests.html#stopping-a-spot-instance)的執行個體類型。
+ 如果您的執行個體位於 Auto Scaling 群組中，Amazon EC2 Auto Scaling 會將停止的執行個體標記為運作狀態不佳，並且可能會將其終止並啟動替換執行個體。若要避免這種情況，您可以在變更執行個體類型時，暫停群組的擴展程序。如需詳細資訊，請參閱 [Amazon EC2 Auto Scaling 文件中的暫停和繼續 Auto Scaling 群組的程序](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-suspend-resume-processes.html)。 Amazon EC2 Auto Scaling 
+ 當您使用 NVMe 執行個體存放磁碟區變更執行個體的執行個體類型時，更新的執行個體可能會有額外的執行個體存放磁碟區，因為即使未在 Amazon Machine Image (AMI) 或執行個體區塊型設備映射中指定，所有 NVMe 執行個體存放磁碟區都可以使用。否則，更新後的執行個體通常會有與您在啟動原始執行個體時指定之執行個體儲存體磁碟區相同數目的執行個體儲存體磁碟區。

## 其他資源
<a name="right-size-selection-resources"></a>
+ [Amazon EC2 執行個體類型](https://aws.amazon.com/ec2/instance-types/) (AWS 文件）
+ [AWS 最佳化和授權評估](https://aws.amazon.com/optimization-and-licensing-assessment/) (AWS 文件）