AWS 預留實例怎麼買:買多少、買幾年、買錯了怎麼辦

折扣攻略只告訴你 RI 能省三到七成,卻不說買多少、買幾年、買錯怎麼補救。按決策順序講清這三件事,含三條補救路徑。

2026-10-10

折扣攻略只告訴你 RI 能省三到七成,卻不說買多少、買幾年、買錯怎麼補救。按決策順序講清這三件事,含三條補救路徑。

搜「AWS 折扣」,你會看到很多篇文章列出同一串數字:預留實例(RI)相對按需價能低三到七成,節省計劃差不多,Spot 最高可到九成。這些數字大體沒錯,但對一個正準備付錢的人來說,幾乎沒用。

因為真正的決策不是「要不要買」,而是三件更具體的事:買多少、買幾年、以及萬一判斷錯了怎麼辦。 本文按這個順序講,每一件都給判斷方法和可執行動作。

先說明適用範圍:本文講的是預留實例(Reserved Instances)。它和節省計劃(Savings Plans)是兩套東西,後者更靈活但沒有轉售退出通道——兩者的取捨寫在 節省計劃與預留實例怎麼選。再抬一層看:五家的承諾類折扣「鎖不鎖規格」差別很大(預留實例鎖、節省計劃不鎖),橫向對比見 五家雲廠商折扣機制對比。

你買的不是「折扣」,是一份現金流承諾

把預留實例理解成「打折券」是大多數誤判的起點。它實質上是:你向 AWS 承諾未來 1 年或 3 年、每小時會有這麼多用量,AWS 因此給你一個更低的單價。折扣是對這份承諾的對價,不是促銷。

這個區別決定了三件事:

  • 承諾期內用量不足,錢照付。 買了每小時 10 臺實例的承諾,實際只跑 6 臺,剩下 4 臺的費用照樣出現在賬單上。它不會因為你沒用而退錢。
  • 承諾期內用量超出,超出部分按原價。 承諾只覆蓋承諾的那部分,多出來的按按需價計費。
  • 折扣深淺由「確定性」定價。 年限越長、預付越多、範圍越窄(鎖定實例族與區域),你能換到的單價越低。你讓出的靈活性越多,價格越好。

一句話記住它:預留實例不是省錢的「優惠券」,是用靈活性換單價的合同。所以第一步永遠不是「買多少能省最多」,而是「我能確定地放棄多少靈活性」。

也正因為它是合同,才需要認真討論「買錯了怎麼辦」——這是折扣攻略集體沉默的部分,見後面第五節。

買多少:答案是「穩態基線」,不是當前用量

幾乎所有人都栽在這一步:按當前在跑的實例數量去買承諾。 當前用量裡包含了大量其實可以彈性化的部分——夜間跑的批處理、促銷期才擴容的節點、還沒清理乾淨的測試環境。把這些一起鎖進一年承諾,等於給波動付固定價。

正確的做法是算穩態基線:把過去足夠長一段時間(建議至少 3 個月,且覆蓋一個完整業務週期)的用量按小時排開,找出幾乎每個小時都在跑的那部分。只有這部分適合承諾。

用量型別特徵該不該承諾
穩態基線每小時都在跑,波動很小(如常駐 Web/API 節點)適合承諾 —— 這是預留實例的目標
週期性峰值每天/每週固定時段升高(如日終批處理)部分適合 —— 看它是否每天必然發生
偶發擴容只在促銷、發版、壓測時出現不要承諾 —— 留在按需或 Spot
尚未清理的閒置忘了關的測試實例、未掛載的磁碟先刪掉,不是承諾問題

一個實用的自檢:如果你把承諾量畫成一條水平線,壓在過去 3 個月的用量曲線上,理想狀態是這條線貼著曲線的下沿(少數時刻略微超出可以接受),而不是穿過曲線的中間。穿過中間意味著約一半時間在為空閒容量付錢。

還有一條容易漏的:先做免費的清理再談承諾。閒置實例、未掛載的 EBS、沒人讀的快照、中斷的分片上傳,這些清掉之後你的基線會明顯下降,需要承諾的量也跟著變小。這一步不需要任何承諾,隨時可做——先做完再買,順序反了會多鎖一年錯誤數字。

具體的清理動作與賬單結構拆解見 AWS 賬單最佳化 6 個做法。

買幾年:1 年與 3 年的取捨不在折扣率

直覺是「3 年折扣更深,所以買 3 年」。這個推理只在你確定 3 年內形態不變時成立。判斷點其實有三個,折扣率只是其中一個。

  1. 實例代際會不會換? x86 換 Graviton(ARM)通常能再省一截,且效能未必下降。如果你 3 年內有這個可能,1 年更合適——因為傳統 RI 繫結實例族,換成 Graviton 後原承諾不覆蓋新實例。
  2. 區域會不會變? 承諾繫結區域。業務要遷區域(比如為了靠近使用者或滿足資料要求),原承諾不跟著走。
  3. 業務本身能看多遠? 早期專案、客戶結構還沒穩定的業務,1 年。已經跑了兩年、架構穩定的存量系統,可以考慮 3 年。

一個折中做法:不要一次性買滿 3 年。先用 1 年覆蓋穩態基線,觀察真實的折扣覆蓋率(AWS 控制檯會給出承諾利用率與覆蓋率),第二年再看要不要把其中一部分轉成更長期限。用第一年的真實資料換第二年的確定性,比一開始就賭 3 年穩妥。

別忽略「折扣覆蓋率」這個指標:買了承諾之後,控制檯會告訴你承諾實際覆蓋了多少用量。如果覆蓋率長期偏低,說明買多了;如果長期接近 100% 且仍有大量按需用量,說明可以再補一點。這個數字每個月看一次,比買的時候糾結半天有用得多。

如果目標是「換架構也不浪費」,那更合適的工具其實是計算類節省計劃(不鎖實例族與區域),代價是折扣通常略低於同等條件的預留實例。兩者的對比在 節省計劃與預留實例怎麼選。

三種付款方式:全預付 / 部分預付 / 不預付

預留實例通常提供三檔付款方式:全預付(All Upfront)> 部分預付(Partial Upfront)> 不預付(No Upfront),折扣依次變淺,但前期現金壓力也依次降低。

  • 全預付:一次性付清整個期限,單價最低。適合現金流充裕、且確定這筆資源長期要用。
  • 部分預付:付一部分,剩餘按月付。折扣介於兩者之間,是最常見的選擇。
  • 不預付:不提前付,按月結。折扣最淺,但幾乎不增加財務風險——這也是很多企業採購流程唯一能批準的方式。

選哪檔的判斷依據不是「哪個折扣最高」,而是你的資金成本與流程約束:

  • 如果一次性付款需要走預算審批、耗時數月,那麼為多幾個百分點等一個季度,通常不划算。
  • 如果這筆錢的用途明確、未來兩年不會挪作他用,全預付的額外折扣是白拿的。
  • 如果公司處在可能調整架構或縮減規模的階段,不預付的折扣差價比它的退出靈活性便宜得多。

⚠️ 全預付有個容易忽略的後果:錢一旦付出去,「用量不足」就完全變成了沉沒成本。部分預付和不預付至少還能在用量下降時減少後續的月付部分。不確定時,選付款方式上的靈活性,而不是年限上的靈活性——前者代價更小。

買錯了怎麼辦:三條補救路徑

這是折扣攻略集體不寫的部分,但恰恰是最多人需要的。承諾買錯了(買多了、規格鎖錯了、區域要遷了),通常有三條路,代價依次變大。

路徑適用情況代價
轉售(Reserved Instance Marketplace)標準 RI 買多了、確實用不完按市場價賣出剩餘期限,通常有折價;需要賬號在支援的區域且已完成一定期限
修改(Modify)要換實例規格/區域/可用區(同一代際內)部分屬性可改,改動後折扣重新計算;不是所有屬性都能改
吸收(認賠)改動超出允許範圍、或轉售無人接手繼續為不用的容量付費,直到期限結束

第一條:轉售。 AWS 有官方的 RI 轉售市場,你可以把用不完的標準 RI 掛上去賣。但有兩條硬限制:一是通常要求該 RI 已經持有並生效一段時間;二是節省計劃(Savings Plans)不能轉售——這也是「買 RI 還是買 SP」裡最實際的一條區別:RI 有退出通道,SP 沒有。

第二條:修改。 部分預留實例支援修改屬性(在允許範圍內調整實例大小、可用區範圍等)。如果你的問題是「買大了」,先查能不能改成小規格,比轉售更省事。

最省錢的辦法其實發生在買之前:把大承諾拆成幾份小額承諾分批買。比如確定基線是 10 臺,先買 6 臺,觀察一個月再補 2 臺。分批買的代價幾乎為零(同條件單價相同),但保留了逐步修正的機會。 一次性買滿,等於放棄所有修正機會去換一個不存在的「批次折扣」。

第三條:認賠。 當改動超出允許範圍、且轉售沒能成交時,剩下的就是為閒置承諾付費到期限結束。此時能做的補救是盡量把工作負載遷到這份承諾覆蓋的資源上——比如把原本跑在按需實例的任務遷過來,至少讓承諾被真實用上。

到期那天會發生什麼

一個高頻事故:預留實例到期後,賬單突然變貴,而沒人提前知道。 因為到期不會自動續,也不會有明顯提醒——它只是靜靜地從「折扣價」變回「按需價」。

  • 到期不等於停止服務。 資源照常執行,只是單價回到按需。所以事故的表現不是「服務掛了」,而是「這個月賬單漲了一截」。
  • 提前建立到期清單。 把所有承諾的到期日記在一個地方,按到期前 60 天 / 30 天設提醒。承諾量大時,這份清單比任何最佳化技巧都重要。
  • 到期前重算基線,不要直接續。 到期正好是一次免費的修正機會——重新算穩態基線,按新數字買。很多團隊習慣性「照原樣續」,於是把三年前的錯誤又續了一輪。

還有一層不少人不清楚的:上面講的都是官方折扣,作用在 AWS 給你的賬單單價上。除此之外,透過代理商開通與結算,降低的是你實際支付的金額——兩者在不同層面,可以同時享受,不是二選一。這層邏輯寫在 AWS 折扣與代理定價。

常見問題

預留實例和節省計劃,到底買哪個?

看你要放棄哪種靈活性。預留實例鎖定「實例族 + 區域」,折扣通常更深,且可以轉售(有退出通道);節省計劃鎖定的是金額而非具體實例,使用更靈活,但不能轉售、不能取消。如果未來可能換實例族或遷區域,選節省計劃;如果形態確定、又希望留一條退出通道,選預留實例。詳細對比見 節省計劃與預留實例怎麼選。

該按峰值買還是按平均買?

都不要。按穩態基線買——即幾乎每小時都在跑的那部分。平均值裡仍然包含了大量只在部分時段出現的用量;峰值則更極端。把用量按小時畫出來,貼著下沿畫一條線,那條線才是承諾量。

買多了能退嗎?

預留實例不能退款,但可以拿到官方轉售市場出售剩餘期限(有折價,且通常有持有期限要求)。節省計劃既不能退款也不能轉售,一旦買定就持有到期。所以「買多了」的代價在節省計劃上更硬——這也是保守起步的另一個理由。

3 年期的折扣高那麼多,為什麼不直接買 3 年?

因為 3 年期鎖死的不只是價格,還有實例族與區域。如果你 3 年內可能遷移到 Graviton(ARM)、換區域、或者業務規模有大幅變化,那麼 3 年期省下的折扣很可能抵不過一次架構調整帶來的浪費。判斷標準是「你能看多遠」,不是「折扣差多少」。

一次性買滿是不是有額外折扣?

沒有。同條件的預留實例單價與購買數量、購買批次無關,分 5 次買和一次買 5 份,單價一樣。所以分批買沒有任何價格代價,卻能保留逐步修正的機會。這是本文裡價效比最高的一條建議。

買了預留實例,還能再疊加代理渠道的折扣嗎?

可以,兩者作用在不同層面:預留實例降低的是AWS 賬單上的單價,代理折扣降低的是你實際結算支付的金額。它們不衝突,可以同時生效。機制說明見 AWS 折扣與代理定價;如果你在比較「官方直付」和「代理渠道」哪個划算,見 AWS 官方直付與代理渠道怎麼選。

按自己的用量算一遍?

告訴我們區域和配置,工程師給出配置建議與報價;支援 USDT TRC-20 付款。

立即儲值