本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
大小適中的 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 的正確大小調整建議時,在幾個月內達成的節省。其目標是盡可能有效率地操作其現有工作負載,以便繼續從接近其合約結束的託管資料中心進行停滯遷移。
成本最佳化建議
建議您採取下列步驟,使用 Compute Optimizer 來最佳化成本:
-
啟用運算最佳化工具
-
啟用 Windows 節點的記憶體指標集合
-
使用 Compute Optimizer 建議
-
標記執行個體以正確調整大小
-
啟用成本分配標籤,以使用 AWS 帳單工具
-
使用 AWS Systems Manager Automation 實作正確的大小調整建議
-
考慮替代的調整大小方法
-
在 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 Automation 文件。 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 主控台
。 -
在導覽窗格中的節點管理區段中,選擇 State 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 中資料索引標籤上的文字對資料欄按鈕。
注意
執行個體會以 Amazon Resource Names () IDs表示ARNs。請務必將分隔符號設定為 "/",然後擷取執行個體 ID。或者,您可以撰寫指令碼或使用整合式開發環境 (IDE) 來修剪 ARN。
-
在 Excel 中,篩選調查結果欄,以僅顯示 OVER_PROVISIONED 執行個體。這些是您要針對正確大小設定目標的執行個體。
-
將執行個體儲存在文字編輯器IDs中,以便日後輕鬆存取。
標記執行個體以正確調整大小
標記工作負載是用於在 中組織資源的強大工具 AWS。標籤可讓您詳細了解成本,並協助退款。如需將標籤新增至 AWS 資源的策略和方法的詳細資訊,請參閱 AWS 白皮書標記 AWS 資源的最佳實務 。在此範例中,您可以使用 AWS 標籤編輯器,在您想要設定目標以在維護時段調整大小的超額佈建執行個體之間進行標記調整。您也可以使用此標籤來檢視變更前後的成本。
-
登入 AWS Management Console ,並開啟包含用於調整大小之執行個體的帳戶AWS Resource Groups 主控台
。 -
在導覽列的標記區段中,選擇標籤編輯器 。
-
針對區域 ,選取您的目標區域。
-
針對資源類型 ,選擇 AWS::EC2::Instance。
-
選擇搜尋資源。
-
在資源搜尋結果頁面上,選取您要調整大小的所有執行個體,然後選擇管理所選資源的標籤。
-
選擇 Add tag (新增標籤)。
-
針對標籤金鑰 ,輸入 Rightsizing 。對於標籤值 ,輸入啟用的 。然後,選擇檢閱並套用標籤變更 。
注意
您可以在 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 和 ) 識別和篩選 Rightsizing 標籤 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 標籤在成本之前和之後顯示 。請記住,您可以使用資源標籤來追蹤成本。透過使用多層標籤,您可以精細地了解成本。在本指南中介紹的範例中,Rateizing 標籤用於將一般標籤套用至所有目標執行個體。然後,會使用團隊標籤來進一步組織資源。下一步是介紹應用程式標籤,以進一步顯示操作特定應用程式的成本影響。
下圖顯示組織的標籤結構。
考慮正確調整營運團隊所擁有生產 Web 伺服器大小的企業範例。在 Cost Explorer 中, Rightsizing 標籤設定為啟用 ,而 Team 標籤設定為操作 。在此範例中,正確的規模調整工作會將操作成本從每小時 0.89 美分降低到每小時 0.28 美分。假設每月 744 小時,正確調整規模之前的年度成本為 7,945.92 美元。在正確調整規模後,年成本降至 2,499.84 美元。這表示年度工作負載成本降低了 68.5%。想像一下,這在大型組織中的影響。請記住,這是在範例環境中完成的,而且執行個體大部分是閒置的。在生產環境中,您可以看到節省 10–35%。
現在,請考慮正確調整工程團隊擁有的生產基礎主機大小的影響。在 Cost Explorer 中, Rightsizing 標籤設定為已啟用 ,而 Team 標籤設定為 engineering 。在此範例中,正確的規模調整工作會將成本從每小時 0.75 美分降低到每小時 0.44 美分。假設每月 744 小時,正確調整規模之前的年度成本為 6,696.00 美元。在正確調整規模後,年度成本降至 3,928.32 美元。
如果您使用多個標籤,則可以篩選資料以精細化成本詳細資訊。在此範例中,團隊標籤可減少噪音,讓您可以在團隊層級檢視影響。由於已啟用 Rightsizing 標籤,因此您也可以篩選具有已啟用值或不存在值的任何標籤執行個體。這可以提供正確大小調整工作的全域檢視,特別是在 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 OptimizerAWS Trusted Advisor 跨 AWS Organizations
收集資料YouTube -
最佳化效能並降低授權成本:利用 AWS Compute Optimizer Amazon EC2 SQL Server 執行個體
( AWS 部落格上的 Microsoft 工作負載)