提供通過預留實例獲得計算折扣的服務,Amazon的目的非常清晰:通過確定使用者部分的雲基礎設施使用來更好地進行容量規劃,同時也讓使用者獲得直接利益。 到目前為止,業內人士對預留實例已經有了一定的認識,包括類型(Heavy、Medium、Light)及條款(1或3年),但是這裡的6個預留實例相關事宜你可能並不瞭解。
1. 雙重好處
預留實例給使用者帶來了雙重好處:首先,計算能力上的折扣;其次,容量的保留。 當下,很多Amazon使用者已經認識到價格折扣帶來的成本削減,但是第二個好處卻經常被大家忽視:從Amazon那獲得的保證,合約期間內,你可以在任何時間發佈這個類型(實例類型、可用區域、作業系統)的實例。 Amazon是唯一提供了這種保證的雲供應商,因此這個特性絕對是一大競爭優勢。
在許多方面,AWS也是這點的受害者:其擴展能力可以一如既往地支撐使用者需求的快速增長,很少讓使用者受到容量限制,因此使用者往往會忽略掉這點的難能可貴。
2. 預留實例的選擇
通過隨機評估可用預留和運行實例的使用方式,預留實例的選擇往往建立在某個小時的評估基礎上。 評估這個小時內實例的所有使用方式,並以此確定是否存在適合這種使用方式的預留實例——適用與否通過匹配實例類型(比如m2.2xlarge)、可用區域(比如us-east-1a)和作業系統(比如Linux)來決定。 因為存在多種不同類型的預留和服務可以匹配,預留實例的選擇一般傾向于最低使用方式。 同時值得注意的是,預留實例和購買帳戶有著密切的關係,這一點將在下文進行更加詳細的探討。
無可否認,這種預留實例的隨機途徑是個非常強大的特性,但是不容忽視的是,這個途徑同樣是一個困擾使用者的來源。 每隔一段時間,我都會給因各種目的購買預留實例卻無法獲益的使用者(比如市場部門)提供建議,只為尋找從預留實例中獲得成本效益的途徑。
3. 跨帳戶浮動
預留實例的一個功能就是它們可以跨帳戶浮動。 這個功能只在多個帳戶允許合併帳單時可用,浮動受限於帳單帳戶和它對應的連接帳戶。 這意味著,如果你在一個帳戶中購買預留實例,但是在某個小時內這個帳戶並沒有使用這個預留實例,那麼這個預留實例可以抵消合併帳單中其他帳戶的實例使用。 就像上文所述,預留實例與之購買帳戶有著密切的關係。 因此,這種浮動只在該帳戶沒有任何實例使用的情況下發生,並削減一定的成本。
需要注意的是,雖然這種預留實例會帶來成本效益,但是容量的預留並不具備這個特性。 所以,雖然你在A帳戶中擁有一個可用預留實例,Amazon也並不保證你可以在B帳戶中發佈一個同等實例,即使這些帳戶都被連接到一個綜合計費帳戶。
4. VPC預留實例
當使用者採購一個預留實例,使用者必須選擇購買的預留實例是 VPC或者Classic(non-VPC)類型。 在Amazon的說明文檔中,這個選擇的解釋並不明晰。 我經常聽到的一個問題就是:如果你選擇了VPC類型,這個類型是否可以應用到Classic實例? 說明文檔的含糊不清為使用者預期行為造成了很大的困惑(比如RightScale PlanForCloud的文章——Amazon VPC Reserved Instances vs EC2 Reserved Instances), 下面我們嘗試說明。
指定Classic或者VPC和獲取預留實例帶來的成本削減無任何聯繫。 如果你購買一個VPC預留實例,而在某個小時內沒有相當的實例運行,那麼這個VPC預留實例帶來的成本效益可以轉嫁給正在使用的同等 Classic(non- VPC)實例。 然而,容量預留優勢只提供給指定類型的實例(Classic (non- VPC)),因此,並不能保證一定可以做等效的轉嫁。
5. 可用區域問題
可用區域在帳戶建立時指定,如果你有多個帳戶,那麼存在很大的可能就是這些帳戶會使用不同的可用區域。 比如,你有3個帳戶A、B、C,us-east可用區域可能就會出現下面這些情況:
如果你只運行一個帳戶,或者只有一個獨立的帳戶,這個問題不會影響到你。 但是如果有多個帳戶連接到一個綜合計費帳戶,這個情況就可能對上文所述的帳戶浮動功能造成影響。 因此,在上面的那個例子中,如果你在A帳戶的指定可用區域是us-east-1a,而C帳戶的可用區域並不包括us-east-1a,那麼浮動將無法進行。
6. 被資料中心約束
資料中心會設置防火牆,因此隨著AWS的增長,物理資料中心可能會成為約束。 Amazon所說的可用區域只是邏輯上的識別符,在每個帳戶建立時它們被映射到多個物理資料中心。 如果某個資料中心不在支援額外的增長(又稱為造成約束),映射到這個識別符上的所有帳戶將不再可以擴充,這種約束存在的可能性與你建立Amazon帳戶的時間成正比。 因此,帳戶越新這種可能發生的概率越小,而帳戶越老這種約束髮生的可能就越大。
幸運的是,雖然你不可以在產生約束的物理資料中心發佈新實例,但是你仍然可以在這個資料中心購買預留實例。 當然,你不可以使用AWS Console或者API提供的標準自服務機制來完成這個操作,你必須通過帳戶代表或者故障提交來完成這個操作。 需要注意的是,在一個被約束的物理資料中心,取代按需實例,你只能使用預留實例來提升容量(因此,這個預留實例必須直接適用當下運行的按需實例)。
雖然有點極端,但是在這種情況下,最好的方法無疑就是將所有實例從被約束資料中心遷移到一個無約束資料中心。
CloudHealth的作用
在預留實例中,Amazon為使用者提供了一個非常強大的功能,它可以説明管理使用者基礎設施的使用方式和成本效益。 但是在購買、銷售和修決策制定上,預留實例存在一些微妙的複雜性。 CloudHealth的許多功能也許可以説明你解決這些問題:
InterActive Alerts(互動式警報)——基於使用者定義小時或者成本節約閾值,在預留實例未被完全利用的情況下進行主動通知。
Health Check(健康檢查)——作為預留實例使用方式的常規健康檢查,它將提供一個Reservation Utilization脈搏。 為預留實例未充分利用識別、成本節約建議、預留實例期滿提供一個直觀的視角。
InterActive Reports(互動式報告)——為了更好地分析預留和按需實例的使用方式,該功能提供了多種高可用的定制報告,定期交付給關鍵利益相關者。
Optimizers(優化器)——即使是企業規模的購買,它也可以讓預留實例的購買、銷售和修改變得容易。 在任何預算預留實例購買時,它會給你提供最具成本效益的選購方法,同時它可以給予定制價格進行分析,包括分層折扣和企業協定。
Multi-Account Support(多帳戶支援)——該功能可以讓以上所有功能為單帳戶、連接到綜合計費帳戶上的多個帳戶,甚至是多個綜合計費帳戶使用。
原文連結:HTTP://www.cloudhealthtech.com/blog/6-Things-You-May-Not-Know-About-RIs
如您需要瞭解AWS最新資訊或是技術文檔可訪問AWS中文技術社區;如您有更多的疑問請在AWS技術論壇提出,稍後會有專家進行答疑。
訂閱「AWS中文技術社區」微信公眾號,即時掌握AWS技術及產品消息!
AWS中文技術社區為廣大開發者提供了一個Amazon Web Service技術交流平臺,推送AWS最新資訊、技術視頻、技術文檔、精彩技術博文等相關精彩內容,更有AWS社區專家與您直接溝通交流! 快加入AWS中文技術社區,更快更好的瞭解AWS雲計算技術。
(譯者/薛童陽 責編/王玉平)