選擇最佳定價模式 - 成本最佳化支柱

選擇最佳定價模式

執行工作負載成本建模:考慮工作負載元件的需求,並了解潛在的定價模式。定義元件的可用性需求。判斷是否有多個獨立資源在工作負載中執行相同功能,以及隨時間工作負載需求的變化。比較使用預設隨需定價模式和其他適用的模式的資源成本。考量資源或工作負載元件的任何潛在變更。

執行定期帳戶層級分析:執行定期成本建模,可確保跨多個工作負載進行優化。例如,如果多個工作負載使用隨需,則在彙總層級變更的風險會更低,而且實作以承諾為基礎的折扣可獲得更低的整體成本。建議以兩週到一個月的頻率定期執行分析。此分析可讓您進行小幅的調整,因此定價模式的涵蓋範圍會隨著不斷變化的工作負載及其元件不斷演變。

使用 AWS Cost Explorer 建議工具,尋找承諾折扣的機會。

若要尋找 Spot 工作負載的機會,可使用整體用量的每小時檢視,並尋找定期出現用量或彈性變化的時段。

定價模式:AWS 提供多種定價模式,可讓您以最經濟實惠的方式為資源付費,以符合組織需求。下一節說明各種購買模式:

  • 隨需執行個體

  • Spot 執行個體

  • 承諾折扣 – Savings Plans

  • 承諾折扣 – 預留執行個體/容量

  • 地理選擇

  • 第三方協議和定價

隨需執行個體:這是預設值,是依用量計費定價的定價模式。當您使用資源 (例如 EC2 執行個體或隨需 DynamoDB 等服務) 時,是支付固定的費率,您無長期承諾。您可基於應用程式的需求,增加或減少資源或服務的容量。隨需有小時費率,但根據服務而定,可以按 1 秒的增量計費 (例如 Amazon RDS 或 Linux EC2 執行個體)。隨需制推薦使用於工作負載期短 (例如四個月的專案) 而會定期出現高峰的應用程式,或是不容許中斷,工作負載無法預料的應用程式。隨需也適用於需要不中斷執行時間,但執行時期不足以獲得承諾折扣的工作負載 (Savings Plans 或預留執行個體)。

Spot 執行個體:Spot 執行個體是備用 Amazon EC2 運算容量,可享受隨需價格 90% 的折扣,無需簽訂長期合約。使用 Spot 執行個體,您可以大幅降低執行應用程式的成本,或以相同的預算擴展應用程式的運算容量。與隨需執行個體不同,如果 Amazon EC2 需要取回容量或 Spot 執行個體價格超過設定的價格,則在提前 2 分鐘警告後,Spot 執行個體會中斷。Spot 執行個體被中斷的時間平均少於 5%。

當存在佇列或緩衝,或是有多個資源獨立運作以處理請求 (例如 Hadoop 資料處理) 時,Spot 執行個體是理想選擇。這些工作負載通常具有容錯能力、無狀態和彈性,例如批次處理、大數據和分析、容器化環境和高效能運算 (HPC)。測試與開發環境等非關鍵工作負載也適合選擇 Spot。

也可將 Spot 執行個體整合到多項 AWS 服務中,例如 Amazon EC2 Auto Scaling 群組、Amazon EMR、Amazon Elastic Container Service (Amazon ECS) 以及 AWS Batch。

需要回收 Spot 執行個體時,Amazon EC2 會提前兩分鐘透過 CloudWatch Events 傳送 Spot 執行個體中斷通知,該通知也會記錄在執行個體中繼資料中。您的應用程式可以利用這兩分鐘,儲存其狀態、耗盡執行中容器、上傳最終記錄檔,或從負載平衡器將其本身移除。在這兩分鐘結束時,您可以選擇讓 Spot 執行個體休眠、停止或終止。

在您的工作負載中採用 Spot 執行個體時,請考慮下列最佳實務:

  • 靈活地使用盡可能多的執行個體類型:靈活使用執行個體類型系列和大小,以提升滿足目標容量需求的可能性、取得可能的最低成本,並將中斷的影響降到最低。

  • 建立工作負載執行位置靈活性:可用容量會因可用區域而異。透過利用多個備用容量集區,藉此提高實現目標容量的可能性,並取得可能的最低成本。

  • 持續性設計:將您的工作負載設計為無狀態和具備容錯能力,如此一來,如果某些 EC2 容量中斷,也不會影響工作負載的可用性或效能。

  • 我們建議搭配使用 Spot 執行個體、隨需和 Savings Plans/預留執行個體,以實現最大工作負載成本優化及效能。

承諾折扣 – Savings Plans:AWS 提供多種方式,讓您透過保留或承諾使用特定數量的資源,以及獲得資源的折扣費率,來降低成本。Savings Plan 允許您簽訂一年或三年的每小時消費承諾,並獲得所有資源的折扣定價。Savings Plans 提供 Amazon EC2、AWS Fargate 和 AWS Lambda 等 AWS 運算服務的折扣。當您簽訂承諾時,您需每小時支付該承諾金額,然後以折扣費率從您的隨需用量中扣除。例如,您承諾一小時為 50 USD,而且每小時隨需用量為 150 USD。考量 Savings Plans 的定價,您的特定用量會有 50% 的折扣率。因此,50 USD 的承諾涵蓋 100 USD 的隨需用量。您將支付 50 USD (承諾) 和 50 USD 的剩餘隨需用量。

Compute Savings Plans 是最靈活的,並提供最高 66% 的折扣。它們會自動跨可用區域、執行個體大小、執行個體系列、作業系統、租用、區域和運算服務套用。

Instance Savings Plans 彈性稍低,但提供更高的折扣率 (最多 72%)。它們會自動跨可用區域、執行個體大小、作業系統和租用進行套用。

有三種付款選項:

  • 無預付款:沒有預付款;您再每月依當月總時數支付調低的每小時費率。

  • 部分預付款:提供比「無預付款」更高的費率折扣。部分用量預先支付;您再每月依當月總時數支付調低的每小時費率。

  • 全額預付款:全期的用量預先付清,其餘期間承諾涵蓋的用量不會產生其他成本。

您可以在工作負載中使用這三個購買選項的任意組合。

Savings Plans 會先套用到所購買帳戶的用量,從最高折扣百分比到最低,然後套用到所有其他帳戶的合併用量,從最高折扣百分比到最低。

建議您在沒有用量或資源 (例如管理帳戶) 的帳戶中購買所有 Savings Plans。這可確 Savings Plan 適用於所有用量的最高折扣費率,獲得最大折扣金額。

工作負載和用量通常會隨時間變化。建議隨時間持續購買少量 Savings Plans 承諾。這可確保您維持高水準的涵蓋範圍,以獲得最大折扣,而且您的計畫隨時都符合工作負載和組織需求。

請勿在您的帳戶中設定目標涵蓋範圍,因為折扣可能會有變化。涵蓋範圍不一定表示高潛在節省。您的帳戶的涵蓋範圍可能很低,但如果您的用量是由小型執行個體所組成,並使用授權作業系統,則潛在節省可能只有百分之幾。您應該追蹤並監控 Savings Plan 建議工具提供的潛在成本節省。在 Cost Explorer 中經常檢閱 Savings Plans 建議 (執行定期分析) 並繼續購買承諾,直到估算的節省低於組織所需的折扣。例如,追蹤和監控您的潛在折扣是否低於 20%,如果超過此值,則必須進行購買。

監控使用率和涵蓋範圍,但僅偵測變更。請勿瞄準特定使用率百分比或涵蓋範圍百分比,因為這不一定會隨節省而擴展。確保購買 Savings Plans 會導致涵蓋範圍增加,如果涵蓋範圍或使用率減少,則確保這些計畫已量化且已知。例如,您將工作負載資源遷移到較新的執行個體類型,這會降低現有計畫的使用率,但效能效益超過節省的減少。

承諾折扣 – 預留執行個體/承諾:與 Savings Plans 類似,預留執行個體 (RI) 為執行最低資源量的承諾提供最高 72% 的折扣。預留執行個體可用於 Amazon RDS、Amazon OpenSearch Service、Amazon ElastiCache、Amazon Redshift 和 DynamoDB。Amazon CloudFront 和 AWS Elemental MediaConvert 也會在您做出最低用量承諾時提供折扣。預留執行個體目前可用於 Amazon EC2,但 Savings Plans 提供相同的折扣等級、更高的靈活性,而且沒有管理開銷。

預留執行個體提供相同的定價選項,包括無須預付、部分預付款和全部預付款,以及相同的一年或三年期。

預留執行個體可在區域或特定可用區域購買。在可用區域購買時,它們會提供容量保留。

Amazon EC2 具備可轉換的 RI,但由於彈性更高,營運成本更低,因此所有 EC2 執行個體都應使用 Savings Plans。

應該使用相同的程序和指標來追蹤和購買預留執行個體。建議不要追蹤您帳戶的 RI 涵蓋範圍。此外,建議不監控或追蹤使用率百分比,而是在 Cost Explorer 中檢視使用率報告,並使用表格中的淨節省欄。如果節省淨額為明顯較大的負值,則必須採取動作來修復未使用的 RI。

EC2 Fleet:EC2 Fleet 是一項功能,它可讓您定義目標運算容量,接著指定執行個體類型以及叢集的隨需執行個體和 Spot 執行個體的平衡。EC2 Fleet 就會符合所定義的容量,自動啟動最低價格的資源組合。

地理選擇:當您建構解決方案時,一項最佳實務是盡量將運算資源置於接近使用者之處,以提供較低延遲和強大的資料主權。對於全球受眾,應使用多重位置以滿足這類需要。應選擇能使成本最低的地理位置。

AWS 雲端 基礎設施是以區域與可用區域為中心建置的。區域是世界上有多個可用區域的實體位置。可用區域由一或多個分散的資料中心所組成,每個都有備援電源、聯網和連線能力,且置放在不同的機構。

每個 AWS 區域在當地市場條件之下運作,各區域的資源定價不同。您可以選擇特定區域以操作解決方案的元件或全部,以便以最低價格於全球執行。您可以使用 AWS 每月成本簡易計算器,估算各個區域的工作負載成本。

第三方協議和定價:當您在雲端使用第三方解決方案或服務時,定價結構必須符合成本優化的成果。定價應根據其提供的結果和價值進行擴展。例如,軟體從節省的成本中提取一定比例,節省得 (成果) 越多,收費就越高。依帳單擴展的協議通常不符合成本優化,除非它們為特定帳單每個部分帶來成果。例如,對於提供 Amazon EC2 建議且收取整個帳單一定比例費用的解決方案,如果您使用其他服務,而該解決方案無法提供任何好處,則成本會上升。另一個範例是受管服務,依受管資源成本百分比計費。較大的執行個體大小不一定需要更多的管理工作,但收費更高。確保這些服務定價安排在其服務中包含成本優化計畫或功能,以提升效率。