本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Windows 工作負載大小適中
概觀
正確調整大小是最有效的節省成本工具之一。 AWS 提供各種方法,可收集正確的大小資訊,包括使用AWS 最佳化和授權評估 (AWS OLA)
本節說明如何使用 AWS Compute Optimizer 來識別 Amazon EC2適當調整大小的機會。Compute Optimizer 有助於防止下列 AWS 資源類型的過度佈建和佈建不足:
-
上的 Amazon Elastic Container Service (Amazon ECS)
服務 AWS Fargate -
AWS Lambda
以 Amazon CloudWatch 提供的使用率資料為基礎的函數
成本最佳化案例
測量適當調整大小的有效性可能具有挑戰性,因為適當的調整大小工作可以導向特定的應用程式、團隊或整個組織。例如,請考慮將數千個執行個體遷移到其中的組織 AWS,其中 90% 的機群包含 Windows 工作負載。組織可以採用 Compute Optimizer 來分析其機群,並探索其帳戶和 間大量的過度佈建 AWS 區域。然後,他們可以使用AWS Systems Manager 自動化,透過多個維護時段調整機群的大小。因此,組織會設法調整大小適中的執行個體類型,使其 70% 的機群達到節省 35% 的成本。
下列儀表板說明此範例組織策略性地實作 Compute Optimizer 的正確大小建議,因此在幾個月內實現的節省。其目標是盡可能有效率地操作其現有工作負載,以便繼續從接近其合約結束的主機代管資料中心進行停滯遷移。
![從適當大小節省成本](images/dashboard_rightsizing_savings.png)
成本最佳化建議
我們建議您採取下列後續步驟,使用 Compute Optimizer 來最佳化成本:
-
啟用運算最佳化工具
-
啟用 Windows 節點的記憶體指標集合
-
使用 Compute Optimizer 建議
-
標記執行個體以正確調整大小
-
啟用成本分配標籤以使用 AWS 帳單工具
-
使用 AWS Systems Manager 自動化實作正確的大小調整建議
-
考慮替代的調整大小方法
-
在 Cost Explorer 中檢閱成本前後
啟用運算最佳化工具
您可以在 組織或單一帳戶層級啟用 Compute Optimizer AWS Organizations。整個組織的組態會針對所有成員帳戶的整個機群中新的和現有的執行個體提供持續報告。這可讓正確的大小調整成為重複活動,而不是活動 point-in-time。
組織層級
對於大多數組織而言,使用 Compute Optimizer 最有效率的方式是在組織層級。這可提供多帳戶和多區域的組織可見性,並將資料集中到一個來源以供檢閱。若要在組織層級啟用此功能,請執行下列動作:
-
使用具有必要許可的角色登入您的 Organizations 管理帳戶,並選擇加入此組織中的所有帳戶。您的組織必須啟用所有功能。
-
啟用管理帳戶後,您可以登入帳戶、查看所有其他成員帳戶,並瀏覽他們的建議。
注意
最佳實務是設定 Compute Optimizer 的委派管理員帳戶。這可讓您執行最低權限的原則。如此一來,您就可以將對組織管理帳戶的存取降至最低,同時仍提供對整個組織的服務的存取。
單一帳戶層級
如果您以成本高的帳戶為目標,但無法存取 AWS Organizations,您仍然可以為該帳戶和區域啟用 Compute Optimizer。若要了解選擇加入程序,請參閱 Compute Optimizer 文件中的入門 AWS Compute Optimizer。
啟用 Windows 節點的記憶體指標集合
記憶體指標為 Compute Optimizer 提供必要的基本指標,以便在組織中提供資訊良好的適當規模調整建議。這是因為在提供建議之前,正在分析 CPU、記憶體、網路和儲存體。
若要將記憶體指標從 Windows EC2執行個體傳遞至 Compute Optimizer,您必須啟用 CloudWatch 代理程式,並設定每 60 秒收集一次記憶體指標。搭配 使用記憶體指標無需額外費用 CloudWatch。
啟用 CloudWatch 代理程式並設定記憶體指標
下載 ComputeOptimize.yml
-
AWS Systems Manager 參數存放區 – 這會存放收集記憶體指標所需的 CloudWatch 代理程式組態。
-
AWS Identity and Access Management 已連接 的 (IAM) 角色與受管政策 – 這是 Systems Manager 自動化文件。 AWSAWS Systems Manager
-
AWS Systems Manager 文件 – 這會安裝和設定代理程式 CloudWatch(取代任何現有的 CloudWatch 組態)。
-
AWS Systems Manager State Manager 關聯 – 這可讓 Systems Manager 文件在您帳戶中的所有執行個體上執行。
重要
執行此範本會覆寫執行個體上的任何現有 CloudWatch 組態。
接著,執行下列動作:
-
登入 AWS Management Console 並開啟 CloudFormation 主控台
。 -
在導覽窗格中,選擇 Stacks (堆疊)。
-
選擇建立堆疊,然後選擇使用現有資源 (匯入資源)。
-
選擇 Next (下一步)。
-
針對範本資源,選取上傳範本檔案。
-
選擇檔案,然後上傳
ComputeOptimize.yml
檔案。 -
選擇 Next (下一步)。
-
在指定堆疊詳細資訊頁面上,針對堆疊名稱輸入堆疊的名稱,然後選擇下一步。
-
在識別資源頁面上,輸入您要匯入之資源的識別符值。
-
選擇匯入資源。
-
部署堆疊之後,請選擇輸出索引標籤,以尋找您關聯的金鑰、值和描述。
監控關聯進度
-
部署 CloudFormation 堆疊完成後,請開啟 Systems Manager 主控台
。 -
在導覽窗格中的節點管理區段中,選擇狀態管理員。
-
在關聯頁面上,選擇您關聯的關聯 ID。
-
選擇 Execution history (執行歷程記錄) 標記。
-
在執行 ID 欄中,選擇您關聯的執行 ID。狀態應為成功。
在 中檢視指標 CloudWatch
我們建議您等待至少五分鐘,讓指標填入 CloudWatch。
-
開啟 CloudWatch 主控台
。 -
在導覽窗格中,展開指標區段,然後選擇所有指標。
-
確認指標顯示在CWAgent命名空間下方。
注意
若要將設定套用至任何新的執行個體,請重新執行關聯。
使用 Compute Optimizer 建議
請考慮一個範例,專注於在單一帳戶和單一區域中進行正確的大小調整。在此範例中,運算最佳化工具會在所有帳戶的組織層級啟用。請記住,正確調整規模是一種破壞性程序,在大多數情況下,應用程式擁有者會在排程維護時段內,在數週內以精確度執行。
如果您在組織的管理帳戶中導覽至 Compute Optimizer (如下列步驟所示),您可以選擇要調查的帳戶。在此範例中,在 us-east-1
區域中的單一 帳戶中有六個執行的執行個體。所有六個執行個體都過度佈建。目標是根據 Compute Optimizer 的建議調整執行個體的大小。
識別過度佈建的執行個體和匯出建議詳細資訊
-
登入 AWS Management Console 並開啟 Compute Optimizer 主控台
。 -
在導覽窗格中,選擇 Dashboard (儀表板)。
-
在儀表板頁面上的搜尋方塊中,輸入 Region=US East (N. Virginia)。然後,輸入問題清單 = 過度佈建。這些篩選條件可讓您查看
us-east-1
區域中所有過度佈建的執行個體。 -
若要檢閱過度佈建 EC2執行個體的詳細建議,請向下 捲動至EC2執行個體卡,然後選擇檢視建議。
-
選擇匯出並儲存檔案以供日後使用。
-
針對 S3 儲存貯體,輸入您要作為匯出檔案目的地的 Amazon S3 儲存貯體名稱。
注意
若要儲存建議以供未來檢閱,您必須有一個 S3 儲存貯體可供 Compute Optimizer 在每個區域中寫入 。如需詳細資訊,請參閱 Compute Optimizer 文件中的適用於 的 Amazon S3 儲存貯體政策 AWS Compute Optimizer。
-
在匯出篩選條件區段中,選取組織中的所有成員帳戶包含建議核取方塊。
-
針對資源類型,選擇EC2執行個體。
-
在要包含的資料欄區段中,選取全選核取方塊。
-
選擇 Export (匯出)。
根據建議選擇執行個體
執行個體建議是根據 Compute Optimizer 收集和分析的效能指標。請務必注意執行個體上執行的工作負載,以確保您選擇最佳的執行個體。此範例假設您可以從最新一代的 Amazon EC2 R6i
-
在 Compute Optimizer 主控台
中,從導覽列選擇EC2執行個體的建議。此頁面顯示目前執行個體類型的比較,以及取代它的建議選項。 -
若要取得您想要正確大小的執行個體 ID,請從 管理帳戶開啟 Amazon S3 主控台
AWS Organizations。 -
在導覽窗格中,選擇儲存貯體,然後選擇您用來存放匯出結果的儲存貯體。
-
在物件索引標籤上,從物件清單中選擇匯出檔案,然後選擇下載。
-
若要從 檔案擷取執行個體資訊,您可以使用 Microsoft Excel 中資料索引標籤上的文字到資料欄按鈕。
注意
執行個體IDs會以 Amazon Resource Name () 表示ARNs。請務必將分隔符號設定為 "/",並擷取執行個體 ID。或者,您可以撰寫指令碼或使用整合開發環境 (IDE) 來修剪 ARN。
-
在 Excel 中,篩選問題清單欄,以僅顯示 OVER_PROVISIONED 執行個體。這些是您要針對適當大小設定目標的執行個體。
-
將執行個體儲存在文字編輯器IDs中,以便日後輕鬆存取。
標記執行個體以正確調整大小
在 中標記工作負載是組織資源的強大工具 AWS。標籤可讓您更精細地了解成本,並促進退款。如需將標籤新增至 AWS 資源的策略和方法的詳細資訊,請參閱白皮書標記資源的 AWS 最佳實務。 AWS在此範例中,您可以使用 AWS 標籤編輯器,在您想要在維護時段調整大小的過度佈建執行個體之間進行標記調整。您也可以使用此標籤來檢視變更前後的成本。
-
登入 AWS Management Console 並開啟 帳戶的AWS Resource Groups 主控台
,其中包含用於調整大小的執行個體。 -
在導覽列的標記區段中,選擇標籤編輯器。
-
針對區域,選取您的目標區域。
-
針對資源類型,選擇 AWS::EC2::Instance。
-
選擇搜尋資源。
-
在資源搜尋結果頁面上,選取您要正確調整大小的所有執行個體,然後選擇管理所選資源的標籤。
-
選擇 Add tag (新增標籤)。
-
針對標籤金鑰,輸入 授權。針對標籤值,輸入已啟用。然後,選擇檢閱並套用標籤變更。
注意
您可以包含其他中繼資料,例如團隊或業務單位,以協助稍後在 Cost Explorer 中篩選。
建立使用者定義的標籤並將其套用至您的資源後,標籤最多可能需要 24 小時才會出現在您的成本分配標籤頁面上以啟用。在您選取標籤進行啟用後,標籤可能需要 24 小時才會變成作用中。
對於進階使用者,您可以在目標帳戶和區域中使用 AWS CloudShell
bash #!/bin/bash # Set variables TAG_KEY="rightsizing" TAG_VALUE="type-m5" # Get a list of instance IDs INSTANCE_IDS=$(aws ec2 describe-instances —query "Reservations[].Instances[].InstanceId" —output text) # Loop through each instance ID and add the tag for INSTANCE_ID in $INSTANCE_IDS; do aws ec2 create-tags —resources $INSTANCE_ID —tags Key=$TAG_KEY,Value=$TAG_VALUE done
啟用成本分配標籤以使用 AWS 帳單工具
我們建議您啟用使用者定義的成本分配標籤。這可讓計費 AWS 工具 (例如 Cost Explorer 和) 識別和篩選權利調整標籤 AWS Cost and Usage Report。如果您未啟用此功能,則標籤篩選選項和資料將無法使用。如需使用成本分配標籤的資訊,請參閱 文件中的 AWS Billing and Cost Management 啟用使用者定義的成本分配標籤。
-
登入 AWS Management Console 並開啟 AWS Billing 主控台
。 -
在導覽窗格的帳單區段中,選擇成本分配標籤。
-
在使用者定義的成本分配標籤索引標籤上,輸入授權。
-
選取將標籤索引鍵調整權利,然後選擇啟用。
24 小時後,標籤應該會出現在 Cost Explorer 中。
使用 Systems Manager Automation 實作正確的大小調整建議
調整大小是需要停止和啟動執行個體的案例。在此案例中,您可能需要在維護時段處理此中斷,並且需要不同的團隊來處理自己的調整規模。在您變更執行個體類型之前,請檢閱 Amazon EC2 文件中相容執行個體類型的考量事項。
本節中的範例步驟使用名為 AWS-ResizeInstance 的 Systems Manager Automation 文件,實作每個帳戶和區域的正確大小調整建議。這種方法對於大多數組織來說都是典型的,因為大多數組織需要不同的執行個體類型來實現不同的目的。您也可以使用相同的AWS-ResizeInstance
自動化文件,以單一和多帳戶部署為目標。
-
登入 AWS Management Console 並開啟 Systems Manager 主控台
。 -
在導覽窗格中的共用資源區段中,選擇文件。
-
在搜尋列中,輸入 AWS-ResizeInstance,然後從AWSResizeInstance 搜尋結果中選擇 。
-
選擇 Execute automation (執行自動化)。
-
在執行自動化 Runbook 頁面上,選擇簡易執行。
-
在輸入參數區段中,輸入 InstanceId和 InstanceType。保留其餘的預設值。
-
選擇執行, 然後 等待自動化完成變更執行個體類型的步驟。
考慮替代的調整大小方法
如果您使用啟動範本來部署執行個體,則可以使用適當大小的執行個體類型更新啟動範本,然後執行執行個體重新整理以使用適當大小的版本取代執行個體。
如果您打算跨多個帳戶和區域使用正確的大小調整程序,則必須建立自訂 Systems Manager 自動化文件。本文件可讓您在多個執行個體中以參數和目標執行個體的形式饋送,以移動至相同的目的地執行個體類型 (例如,所有執行個體轉換為 t3a.medium,無論來源執行個體類型為何)。
在 Cost Explorer 中檢閱成本前後
在您調整資源大小後,您可以使用 Cost Explorer,使用 Rightsizing 標籤來顯示成本前後。請記住,您可以使用資源標籤來追蹤成本。透過使用數層標籤,您可以精細了解成本。在本指南涵蓋的範例中,Rightizing 標籤用於將一般標籤套用至所有目標執行個體。然後,團隊標籤會用來進一步組織資源。下一個步驟是介紹應用程式標籤,以進一步顯示操作特定應用程式的成本影響。
下圖顯示組織的標籤結構。
![組織的標籤結構](images/org_tag_structure.png)
考慮正確調整營運團隊所擁有生產 Web 伺服器大小的企業範例。在 Cost Explorer 中,將 Rightsizing 標籤設定為啟用,並將 Team 標籤設定為操作。在此範例中,正確的規模調整工作會將操作成本從每小時 0.89 美分降低到每小時 0.28 美分。假設每月 744 小時,正確調整規模之前的年成本為 7,945.92 美元。在適當調整規模後,年成本降至 2,499.84 美元。這表示年工作負載成本降低了 68.5%。想像一下,這在大型組織中的影響。請記住,這是在範例環境中完成的,而且執行個體大部分是閒置的。在生產環境中,您可以節省 10% 到 35% 的費用。
現在,請考慮正確調整工程團隊擁有的生產堡壘主機大小的影響。在 Cost Explorer 中,將 Rightsizing 標籤設定為啟用,並將 Team 標籤設定為工程。在此範例中,正確的規模調整工作會將成本從每小時 0.75 美分減少到 0.44 美分。假設每月 744 小時,正確調整規模之前的年成本為 6,696.00 美元。在適當調整規模之後,年成本會降至 3,928.32 美元。
如果您使用多個標籤,則可以篩選資料以精細化成本詳細資訊。在此範例中,團隊標籤可減少噪音,讓您可以在團隊層級檢視影響。由於已啟用權利調整標籤,因此您也可以篩選具有該標籤且已啟用值 或不存在值的任何執行個體。這可以提供正確調整規模工作的全域檢視,特別是在 Cost Explorer 層級的管理帳戶 (付款人) 中檢視時。此檢視可讓您查看所有帳戶和執行個體。
請考慮單一帳戶層級的範例,其中 Rightsizing 標籤設定為啟用。 營運成本從每小時 1.64 美元降至每小時 0.72 美分。假設每月 744 小時,正確調整規模之前的年度成本為 14,641.92 美元。在適當調整規模後,年成本降至 6,428.16 美元。這表示此帳戶的運算成本降低了 56%。
在展開適當的規模調整旅程之前,請考慮以下事項:
-
AWS 提供多種降低成本的選項。這包括 AWS OLA
,其中 會在移至 之前 AWS 檢閱您的內部部署執行個體 AWS。 AWS OLA 也提供正確的大小調整建議和授權指導。 -
購買 Savings Plans
之前,請先完成所有正確的大小調整。這可協助您避免在 Savings Plans 承諾上過度購買。
建議
我們建議執行下列步驟:
-
檢閱您現有的環境,並考慮將 Amazon EBS gp2 磁碟區轉換為 gp3 磁碟區。
-
檢閱 Savings Plans
。
其他資源
-
AWS Compute Optimizer
(AWS 文件) -
標記 AWS 資源的最佳實務 (AWS 白皮書)
-
如何從您的 AWS Compute Optimizer () 收集和 AWS Trusted Advisor 跨 AWS Organizations
收集資料YouTube -
最佳化效能並降低授權成本:利用 AWS Compute Optimizer Amazon EC2 SQL Server 執行個體
( AWS 部落格上的 Microsoft 工作負載)