摘要:?彈性伸縮是阿里云上非常受歡迎的一個云服務編排產品,它能夠根據用戶的策略定義和業務需求變化,動態調整彈性計算資源,在有效支撐業務負載變化的同時保持最合理經濟的基礎設施費用開支。基于廣大用戶的反饋和建議,彈性伸縮產品全面升級,幫助用戶輕松應對業務負載變化,張弛有度,收放自如!
彈性伸縮是阿里云上非常受歡迎的一個云服務編排產品,它能夠根據用戶的策略定義和業務需求變化,動態調整彈性計算資源,在有效支撐業務負載變化的同時保持最合理經濟的基礎設施費用開支。彈性伸縮可以根據用戶設置的伸縮策略和模式,在業務需求增長時自動增加ECS實例以保證計算能力,在業務需求下降時自動減少ECS實例以節約成本,還可以自動替換不健康的ECS實例使業務始終保持正常的負載,無需人工干預即可應對各種復雜場景,真正實現對業務負載的彈性處理能力,為業務保駕護航。
在廣大用戶使用過程中,我們也接到了很多寶貴的反饋意見,為了能讓大家更靈活、高效地使用彈性伸縮服務支撐業務變化,并獲得更高的性價比,彈性伸縮產品近期在各項功能上全面升級,這里將向大家匯總介紹各方面的更新,希望能讓您更輕松自如地應對負載波動,保障業務快速穩定發展。
易用性:配置更豐富,管理更靈活
伸縮組支持新增或修改SLB和RDS實例
在實際的使用中,經常遇到用戶需要新增或者修改已經跟伸縮組綁定的SLB和RDS的場景,由于此前伸縮組一旦創建便不能更改SLB和RDS的配置,因此用戶必須創建新的伸縮組來滿足變更需求。隨著功能升級,彈性伸縮目前已經支持SLB和RDS的Attach/Detach,無需重建伸縮組即可輕松應對架構變更或升級。
負載均衡SLB篇
彈性伸縮服務(AutoScaling)與負載均衡(SLB)結合,使您可以將 SLB實例附加到伸縮組,并通過 SLB 實例可以將流量分配到伸縮組中的各個實例。長久以來,SLB 實例只能在創建伸縮組的時候進行指定,不支持修改。這意味著您在創建伸縮組的同時,就不得不仔細的考量好自己的業務需求量及所需要的 SLB 實例數量。現在,AutoScaling推出最新功能:AttachLoadBalancer和DetachLoadBalancers,這種尷尬的現狀將一去不復返。
將 Slb 附加到伸縮組
您可以選擇將 Slb 實例附加到伸縮組上,在將負載附加到伸縮組的時候根據您指定的forceAttach參數值,將有以下兩種行為:
forceAttach為true,將 Slb 附加到伸縮組上的同時,將把當前伸縮組內的所有實例添加到 Slb 實例后端。
forceAttach為false,將 Slb 附加到伸縮組上的同時,不會添加當前組內已有實例到 Slb實例后端。
對于一個已經附加在伸縮組上的 Slb實例,如果您想將伸縮組中當前全部實例加入到某一 Slb 實例的后端,您可以選擇再次將該 Slb 附加到伸縮組,并選擇 forceAttach 為 true。
您需要注意,將Slb實例添加到伸縮組時,由于Slb實例類型的限制,Slb實例需要滿足以下條件:
Slb實例必須是用戶擁有的未刪除實例。
Slb實例與伸縮組必須在相同地域(region)下。
Slb實例必須為active狀態。
Slb實例必須至少配置一個監聽并開啟健康檢查。
如果Slb實例與伸縮組都為專有網絡(vpc網絡)類型,需要處于相同的vpc下。
當伸縮組為vpc網絡類型,Slb實例為經典網絡類型時,Slb實例后端服務器中如果包含vpc實例,必須與當前伸縮組處于相同vpc下。
伸縮組中附加的Slb實例個數必須少于伸縮組的配額。
將 Slb 分離出伸縮組
在將 Slb 從伸縮組移除的時,根據您指定的 forceDetach參數,將有以下兩種行為:
forceDetach 為true,將 Slb 從伸縮組移除的同時,將把 Slb 后端實例中與伸縮組關聯的實例移除。
forceDetach 為false,將 Slb 從伸縮組移除的同時,不會從 Slb 后端實例中移除與伸縮組關聯實例。
在分離伸縮組的Slb實例時,您應該確認Slb實例不再向伸縮組內實例分發請求,以免造成您的服務請求丟失。并且,不同于 attachLoadBalancer操作,您不能多次嘗試移除伸縮組中的同一個 Slb 實例。
詳情參閱
關系型數據庫RDS篇
RDS是阿里云提供的一種穩定可靠的在線數據庫服務,支持MySQL、SQL Server、PostgreSQL 和 PPAS引擎,并且提供了容災、備份、恢復、監控、遷移等方面的全套解決方案,徹底解決數據庫運維的煩惱。RDS 與 彈性伸縮相結合時,通過將伸縮組內的實例自動加入到 RDS 實例的白名單,實現組內實例能夠安全訪問 RDS實例。
將 RDS 實例附加到伸縮組
將 RDS 實例附加到伸縮組時,根據您指定的 forceAttch 參數值,附加過程有以下兩種行為:
forceAttach 為true,將 RDS 實例附加到伸縮組時,會把伸縮組中當前擁有的所有實例私網IP都加入到 RDS 實例的IP白名單中。
forceAttach 為false,將 RDS 實例附加到伸縮組時,不會嘗試將伸縮組中已有實例私網IP加入到 RDS 實例的IP白名單中。
對于上述 RDS 附加過程,如果您將一個已經存在伸縮組中的 RDS 實例再次附加到伸縮組,此時,組內 RDS 實例數量不會改變,僅會嘗試把當前伸縮組內的實例私網IP全部加入其IP白名單中。
您需要注意,將 RDS 實例附加到伸縮組,RDS 實例需要滿足一下限制:
RDS 實例必須是用戶擁有的未刪除實例。
RDS 實例必須為 UNLOCK。
RDS 實例運行狀態必須為 RUNNING。
RDS default分組的IP白名單總數在完成添加后不能超過1000個。
將 RDS 實例分離出伸縮組
將 RDS 實例從伸縮組中分離時,根據您指定的forceDetach參數,將有以下兩種行為:
forceDetach 為true,將 RDS 實例從伸縮組移除的同時,將把 RDS 白名單中與伸縮組關聯的實例IP移除。
forceDetach 為false,將 RDS 實例從伸縮組移除的同時,不會把 RDS 白名單中與伸縮組關聯的實例IP移除。
您可以根據您的實際需要確定 forceDetach 的設置,需要注意的是,您無法對同一個 RDS 實例重復執行移除操作。
詳情參閱
伸縮配置支持修改功能、以及鏡像預設密碼等功能
與伸縮組類似,為了解決伸縮配置重復創建的問題,我們提供了伸縮配置的修改能力,并進一步支持了更多的ECS特性,如鏡像預設密碼。
彈性伸縮配置支持修改以下參數:
imageId
instanceTypes
internetMaxBandwidthOut
ramRoleName
keyPairName
systemDiskCategory
scalingConfigurationName
tags
userData
instanceName
loadBalancerWeight
systemDiskSize
internetChargeType
passwordInherit(鏡像預設密碼)
hostName(主機名稱)
伸縮配置支持UserData & KeyPair & RamRole & Tags
為了提供更加彈性、靈活的伸縮服務,ESS 彈性伸縮配置中新增了 UserData、KeyPair、RamRole、Tags 四個特性。使用 UserData,您可以快速安全的完成自動化的配置過程,在 ECS 實例數量隨著業務需求彈性變化的同時,您還能夠安全、快速地完成應用級別的擴容和縮容。您還可以通過配置 KeyPair、Tags 等參數,實現更加高效、智能的 ECS 實例管理服務。
實例自定義數據(UserData)
實例自定義數據(UserData),是阿里云 ECS 為您提供的一種自定義實例啟動行為及傳入數據的功能,該功能兼容 Windows 實例及 Linux 實例,主要有兩種用途:
作為實例自定義腳本,在啟動實例時執行。
作為普通數據,將一定的信息傳入實例中,您可以在實例中引用這些數據。
您在使用 ESS 來滿足您 ECS 實例數隨著業務需求彈性伸縮的要求時,如果您還要自動化地實現應用級別的擴容和縮容,常用地方法可能是通過自定義鏡像的方式來實現,也可能是通過使用Terraform等開源的IT基礎架構管理工具來實現。ESS 伸縮配置中添加了 UserData 參數以后,您只需要準備好您的 UserData 自定義腳本數據,然后以 Base64 編碼的方式傳入伸縮配置中即可。當 ESS 彈性擴容 ECS 實例數的時候,UserData 實例自定義腳本會在實例啟動的時候自動地執行,從而幫您實現應用級別的擴容和縮容。相比借助于自定義鏡像或其它開源工具來實現應用自動擴展的方法,使用 ESS 原生的 UserData 特性顯得更加快捷、安全。
在創建伸縮配置,并使用了 UserData 參數時,需要注意以下幾點:
專有網絡(VPC)的伸縮配置才能使用 UserData 參數。
UserData 要以 Base64 編碼的方式傳入。
UserData 將以不加密的方式傳入,所以請不要以明文方式傳入機密的信息(比如密碼、私鑰數據等),如果必須傳入,建議加密后,然后以 Base64 的方式編碼后再傳入,在實例內部以同樣的方式反解密。
關于 UserData 更多的使用方法,您可以參考?阿里云實例自定義數據?文檔。
SSH 秘鑰對(KeyPairName)
在使用 SSH 登錄遠程 Linux 服務器時,您可以選擇使用密碼的方式來登錄,也可以選擇使用 SSH Key 的方式來登錄。當您要管理的服務器集群較多時,頻繁地輸入密碼不僅浪費時間,而且容易發生密碼輸入錯誤,無法登陸服務器的情況。此時,如果您通過 SSH Key 的方式來登陸服務器,您只需要配置好您的公鑰和私鑰,即可登錄到服務器。一次配置,長期有效。
阿里云創建的 SSH Key 只支持 RSA 2048 位的密鑰對。在生成秘鑰的時候,阿里云會保存密鑰的公鑰部分,并返回給您秘鑰的私鑰部分。
ESS 彈性伸縮配置中的 KeyPairName 參數,為您提供了 SSH Key的方式來登錄服務器的能力。在創建伸縮配置時,選擇您想要使用的秘鑰對名稱作為 KeyPairName 參數配置到伸縮配置中。當 ECS 實例被彈性伸縮服務創建出來時,實例會存儲此秘鑰對的公鑰部分,您只需要在本機配置一下秘鑰對的私鑰部分,便可以使用 SSH Key 的方式快速地登錄到您的服務器上去。
在創建伸縮配置,并使用了 KeyPairName 參數時,需要注意以下幾點:
Windows ECS 實例,忽略該參數。即使傳入了 KeyPairName,也不會生效。
當傳入了 KeyPairName 參數后,Linux ECS 實例的密碼登錄方式會被初始化成禁止。
RAM角色名稱(RamRoleName)
RAM (Resource Access Management) 是阿里云為客戶提供的用戶身份管理與訪問控制服務。使用 RAM,您可以創建、管理用戶賬號(比如員工、系統或應用程序),并可以控制這些用戶賬號對您名下資源具有的操作權限。當您的企業存在多用戶協同操作資源時,使用 RAM 可以讓您避免與其他用戶共享云賬號密鑰,按需為用戶分配最小權限,從而降低您的企業信息安全風險。
RAM 支持創建不同的角色,不同的角色具有對不同的云產品的不同的操作權限。ESS 彈性伸縮配置新增了 RamRoleName 參數,您可以通過設置該參數,讓您的 ECS 實例 來扮演不同的角色,這些實例便擁有了這些角色不同的云產品的操作權限。在給伸縮配置指定 RamRoleName 參數時,您需要確保當前的 RamRole 策略中允許您的 ECS 實例來扮演該角色,否則伸縮配置無法有效地彈出 ECS 實例。
標簽(Tags)
阿里云 ECS 提供標簽(Tags)服務,您可以通過給 ECS 實例綁定不同的標簽的方式,實現對 ECS 實例的分類管理。
您可以通過查詢不同的標簽的方式,獲取符合條件的 ECS 實例列表,同樣,您也可以通過查詢 ECS 實例的方式,查詢出匹配到的標簽。ESS 彈性伸縮配置新增了 Tags 參數,您可以通過設置不同的標簽對,來對您 ESS 伸縮服務彈出來的機器進行分類管理。每個伸縮配置暫時最多只能支持五對標簽,當指定的標簽數超過五對,伸縮配置將創建失敗。
詳情參閱
提高創建成功率和業務可用性
支持多可用區擴容,并實現全球首家支持多種實例規格
彈性伸縮的核心在于用戶需要橫向擴容的時候要能彈出來,但是云計算的庫存是一個動態變化的過程,庫存不足的情況是情況是伴隨云計算一直存在的問題,為了最大程度上提高用戶的創建成功率,我們基于自身的產品現狀,在支持了多可用區之后,又區別于其他云廠商提供了多實例規格的功能。
支持多可用區擴容
原彈性伸縮服務限定,一個專有網絡伸縮組只能配置一個虛擬交換機。由于一個虛擬交換機只歸屬于一個可用區,這樣存在的問題就是,當您配置好 ESS 伸縮組的虛擬交換機以后,如果虛擬交換機所在的可用區由于庫存不足等原因無法創建出 ECS 實例,那么您伸縮組中的伸縮配置、伸縮規則、以及伸縮組對應的報警任務等都將生效。為了優化上述問題,提高伸縮組的可用性,ESS 伸縮組新增多可用區參數(VSwitchIds.N),您在創建伸縮組的時候可以使用該參數為您的伸縮組配置多個虛擬交換機,當一個虛擬交換機所在可用區無法創建實例的時候,ESS 彈性伸縮服務會為您自動切換到其它可用區。在使用該參數的時候,您需要注意以下幾點:
如果使用了 VSwitchIds.N 多可用區參數,VSwitchId 參數將被忽略。
VSwitchIds.N 參數中,N 的取值范圍為 [1, 5],即一個伸縮組最多可以配置 5 個虛擬交換機。
VSwitchIds.N 參數中指定的虛擬交換機需在同一個 VPC 下。
VSwitchIds.N 參數中 N 代表虛擬交換機的優先級,編號為 1 的虛擬交換機為創建實例的第一選擇,虛擬交換機優先級隨著編號的增大依次降低。
當優先級較高的虛擬交換機所在可用區無法創建實例時,會自動選擇下一優先級的虛擬交換機來創建實例。當您在使用多可用區參數來創建伸縮組時,盡可能地設置同一地域下不同可用區的虛擬交換機來創建您的伸縮組,這樣可以有效地減少單可用區無法創建出實例問題的發生,提高了伸縮組的可用性。
詳情參閱
支持多達10種實例規格
原彈性伸縮服務限定,一個伸縮組內只能有一個生效的伸縮配置,一個伸縮配置只能配置一種實例規格。由于上述的限制,導致伸縮組內有效的實例規格只有一個,如果當前的實例規格由于庫存不足等變得不可用,那么伸縮組將無法創建出 ECS 實例。您需要重新選擇當前伸縮組內其它伸縮配置或創建新的伸縮配置來恢復伸縮組,使伸縮組能夠正常工作。為了優化上述問題,提高伸縮組內伸縮配置的可用性,ESS 彈性伸縮服務為伸縮配置新增了多實例規格參數(InstanceTypes.N)。您在創建伸縮配置的時候可以使用該參數為您的伸縮配置設置多個實例規格,當某個實例規格由于庫存等原因變得不可用時,ESS 彈性伸縮服務會為您自動切換到其它有效的實例規格來創建實例。當您創建的伸縮配置使用了多實例規格參數時,您需要注意以下幾點:
如果使用了 InstanceTypes.N 多實例規格參數,InstanceType 參數將被忽略。
InstanceTypes.N 參數中,N 的取值范圍為 [1, 10],即一個伸縮配置內最多可以設置 10 種實例規格。
當您的伸縮組是經典網絡伸縮組時,伸縮組所屬 Region 必須支持您所配置的所有實例規格的經典網絡實例的售賣,如果當前 Region 不支持您所配置的實例規格,伸縮組將無法為您創建出 ECS 實例。您可以通過?查詢可用區列表?接口查詢當前 Region 支持的實例規格,以及每種規格支持的網絡類型。
當您的伸縮組是專有網絡(VPC)伸縮組時,伸縮組配置的虛擬交換機對應的可用區內必須支持您所配置的所有實例規格的專有網絡實例的售賣,每個伸縮組可以配置多個虛擬交換機,您可以通過?使用 ESS SDK 快速創建多可用區伸縮組?了解更多。
InstanceTypes.N 參數中 N 代表當前伸縮配置中實例規格的優先級,編號為 1 的實例規格優先級最高,實例規格優先級隨著編號的增大依次降低。
如果當前伸縮配置中優先級較高的實例規格由于庫存等原因無法創建出 ECS 實例時,ESS 會自動選擇下一優先級的實例規格來為您創建實例。
當您在使用多實例規格參數來創建伸縮配置時,實例規格不可重復,否則伸縮配置將無法創建。
推出多可用區均衡分布模式
為了滿足在多可用區下的高可用和容災需求,保證服務的穩定性和連續性,彈性伸縮開放了多可用區實例自動均衡分布功能,來降低不可抗力因素對服務的正常運行可能造成的影響。
彈性伸縮通過把實例創建在跨越區域的多個可用區,使您可以利用地理冗余的安全性和可靠性。
多可用區自動均衡分布支持范圍:
只支持vpc類型且設置了大于1個虛擬交換機(VSwitchId)的伸縮組
只能在伸縮組創建的時候進行設置
如何設置伸縮組多可用區自動均衡分布:
伸縮組新增多可用區彈性策略參數 MultiAZPolicy:
PRIORITY (默認值)
BALANCE
當設置為BALANCE的時候,伸縮組進行彈性活動的時候會自動均衡分布各個可用區的實例。
默認取值為PRIORITY,會根據定義的虛擬交換機優先級進行(VSwitchIds.N)擴縮容;當優先級較高的虛擬交換機所在可用區無法創建 ECS 實例時,自動使用下一優先級的虛擬交換機創建 ECS 實例。
再均衡
當發生以下情況的時候,伸縮組可能會在不同可用區之間變得不平衡:
可用區庫存不足
伸縮組配置的虛擬交換機(VSwitchId)發生變化。
您移出伸縮組并釋放了實例。
此時,您可以執行?RebalanceInstances?對伸縮組執行再均衡活動來進行補償。
詳情參閱
更全面的實例管理能力
支持實例備用狀態、實例保護模式、分離實例操作
在實際的使用中,為了讓用戶更加靈活的管理自己的實例,解決一些特點場景下的需求,我們提供了3個新的管理功能
Standby 備用狀態 (滿足用戶對伸縮組中的實例進行升級、變配等操作)
Protection 保護模式 (實例不會因為任何原因被移除)
Detach 分離實例 (實例可以獨立于伸縮組繼續保留使用)
支持Standby的操作
針對伸縮組內管理的ECS實例,用戶無法控制其生命周期。而伸縮組對實例的非健康狀態的釋放操作,也阻礙了用戶對伸縮出來的ECS實例進行停機相關的操作,使得用戶無法充分利用ECS服務提供的彈性能力。
通過Standby備用狀態的操作,可以滿足如下適用場景:
需要對彈性伸縮彈出的ECS實例進行更改規格,重啟等變更操作的場景,用戶通過將目標ECS實例置為standby,目標ECS實例的生命周期會交由用戶管理,用戶可進行ECS服務所支持的全部彈性操作,操作完成后,在通過移出standby狀態,交還ECS實例的生命周期。
用戶通過伸縮組配置負載均衡的方式來管理業務機器,當伸縮組中的某臺實例出現業務問題,用戶可以通過standby操作對這臺實例的原有流量分流,進行一系列離線排查驗證(登陸機器,排查,重啟等)操作后,在確認該機器已經ready后,在移出standby狀態,重新處理業務流量
支持實例生命周期管理
上線生命周期掛鉤(LifecycleHook)功能,方便用戶更加靈活地管理伸縮組內實例。使用生命周期掛鉤可以在伸縮組發生伸縮活動時將伸縮活動掛起,執行自定義操作。
使用 LifecycleHook,可以在伸縮組發生伸縮活動時將正在擴張或即將釋放的 ECS 實例掛起,執行用戶自定義操作,可以更加靈活地管理 ECS 實例在伸縮組內的生命周期。幾個簡單的 LifecycleHook 應用場景:
伸縮組彈出 ECS 實例后需要延遲一段時間(測試服務沒問題以后)掛載到 SLB ,然后對外提供服務
伸縮組釋放 ECS 實例時需要先將實例從 SLB 后端服務移除(防止接收新的請求),待檢測已經接收到的請求處理完成,停止并釋放實例
伸縮組釋放 ECS 實例時執行數據備份操作
伸縮組彈性擴張或者收縮執行一些用戶自定義操作
針對上述第二種場景,如果可以確定每個請求的最長處理時間,可以調用?創建生命周期掛鉤?接口創建生命周期掛鉤,設置 LifecycleTransition 參數值為 SCALE_IN,設置 HeartbeatTimeout 為請求最長處理時間,不需要設置通知對象,當發生彈性收縮類型伸縮活動時,ECS 實例從 SLB 移除后會掛起一段時間(HeartbeatTimeout),等待請求處理完成。
更完善的伸縮體驗
平滑彈性能力增強
為了讓用戶可以從更多監控維度來trigger Auto Scaling的彈性事件,我們把原來支持的6種監控指標增加到13種,同時支持用戶自定義監控項
AutoScaling 報警任務
AutoScaling 報警任務是 AutoScaling 與 云監控服務(CMS) 深度合作,提供的一種動態管理伸縮組的方式,類似于 AutoScaling 定時任務,AutoScaling 報警任務通過觸發您指定的伸縮規則來執行伸縮活動,達到調整伸縮組內實例個數的目的。
定時任務可以在您指定的時間執行您指定的伸縮規則,當業務場景在時間上可預料時,能夠提前做出響應,但是,在面對突發或者時間上不可預料的業務場景時,定時任務就顯得捉襟見肘,此時,就需要報警任務來提供更靈活的觸發伸縮規則的方式,在業務高峰期增加伸縮組內實例數量來緩解業務壓力,在業務低谷時釋放伸縮組內實例,減小生產成本。
報警任務通過監控特定的監控指標,對數據指標進行實時的統計,當統計值滿足您指定的報警條件時,觸發報警,執行您指定的伸縮規則。使用報警任務,您可以實時的根據業務的變化來不斷調整伸縮組內的實例數量,保證您監控的指標維持在您期望的范圍內。
AutoScaling 系統監控報警任務
AutoScaling 系統監控報警任務的監控指標是云監控為用戶采集的 ECS 實例的相關數據指標,比如CPU,負載等。用戶在 AutoScaling 中設置的系統監控的報警任務是以伸縮組作為監控粒度的,即以伸縮組內的所有實例的監控指標的統計平均值作為伸縮組的指標值,當伸縮組內實例數量發生變化時,監控指標也會同時進行更新。
新增系統監控項:
監控項單位系統盤寫bpsByte/s系統盤讀bpsByte/s系統盤寫iops個/s系統盤讀iops個/s外網網卡發包數(經典網絡)個/s外網網卡收包數(經典網絡)個/s內網網卡發包數個/s內網網卡收包數個/sTCP總連接數個TCP已建立連接數個AutoScaling 自定義監控項報警任務
AutoScaling 自定義監控項報警任務的監控對象為用戶自主上報到云監控中的監控指標。在一些場景下,系統監控項可能不包含您所需要的監控指標,您可能擁有自己的一套監控系統,并且關心的是與您特定業務相關的某些指標,自定義監控報警任務,為您自有的監控系統,或者與業務相關的自有監控指標提供了設置報警任務的接入點。
AutoScaling 自定義監控報警任務是針對阿里云云監控服務的自定義監控項設置報警的,用戶在使用 AutoScaling 自定義監控報警任務之前需要首先向云監控上報自定義監控數據,即自定義監控項。云監控自定義監控是提供給用戶自由定義監控項及報警規則的一項服務,通過此服務,用戶可以針對自己關心的業務指標進行監控,將采集到監控數據上報至云監控,由云監控來進行數據的處理,并可以對其設置報警規則。
詳情參閱
事件通知能力
為了進一步優化使用體驗,我們廢棄了原有的短信+郵件的古老通知方式,改成支持用戶自定義接收人、接收方式(釘釘+短信+郵件)和接收內容的全新方式,并且支持可編程的通知方式Topic、Queue,更大程度上提升用戶的體感。
AutoScaling 事件通知功能支持伸縮組級別的事件通知,您可以為您的伸縮組配置事件通知,并配置需要通知的伸縮活動類型,當發生對應的伸縮活動時,事件通知會推送伸縮活動詳細信息到您配置的通知對象。目前事件通知功能支持三種通知對象、五種類型的伸縮活動。使用事件通知功能,您可以第一時間獲知伸縮組內實例變化情況,實時監控伸縮組信息。
事件通知支持的伸縮活動類型
當您在?創建事件通知?時,需要設置觸發事件通知對應的伸縮活動類型,當伸縮組發生對應類型的伸縮活動時,事件通知觸發執行,發送伸縮活動詳細信息到您設置的通知對象。
事件通知(Notification)目前支持以下五種類型的伸縮活動:
擴容伸縮活動成功(AUTOSCALING:SCALE_OUT_SUCCESS)
擴容伸縮活動失敗(AUTOSCALING:SCALE_OUT_ERROR)
縮容伸縮活動成功(AUTOSCALING:SCALE_IN_SUCCESS)
縮容伸縮活動失敗(AUTOSCALING:SCALE_IN_ERROR)
伸縮活動拒絕執行(AUTOSCALING:SCALE_REJECT)
上述伸縮活動中,伸縮活動成功包含了部分成功和全部成功兩種情況,您可以通過事件通知發出的伸縮活動詳情來判斷是部分成功還是全部成功。您還可以通過?DescribeNotificationTypes?接口查詢事件通知支持的伸縮活動類型。
事件通知支持的通知方式
當伸縮活動觸發事件通知功能時,事件通知功能需要將伸縮活動詳情上報給對應的事件通知對象,目前事件通知支持下列三種通知方式:
伸縮活動詳情上報到云監控系統事件
伸縮活動詳情推送到消息服務(MNS)隊列(Queue)中
伸縮活動詳情推送到消息服務(MNS)主題(Topic)中
更低的TCO成本
通過使用搶占式實例(原名:競價實例), 省上加省!
搶占式實例是一種按照供需關系變化價格波動的一種后付費類型實例,相對于按量付費實例價格有較低的折扣。使用搶占式實例的時候,您可以對 ECS 實例進行出價,設定您的最高出價,ECS 搶占式實例的市場價格會根據當前的供需關系浮動(目前價格波動是按量付費價格的1~10折),您的出價將確保您不會以超過您最高出價的價格購買 ECS 實例,當市場價格高于您的最高出價時,阿里云將不會為您生產 ECS 實例,這將保證您的生產成本不會超出您從預期。
需要注意的是,搶占式實例低廉的價格也伴隨著一定的風險,當市場價格高于您的最高出價,或者市場供需嚴重不均衡時,阿里云有權釋放您的 ECS 實例。當然,在釋放前5分鐘,阿里云將會進行meta信息的通知,您可以訂閱阿里云metasdata的信息,以便您能夠及時的進行數據的保存和清理。
合理的使用搶占式實例,相比于同規格按量付費實例將會為您節約大量的服務器成本,搶占式實例最佳適用場景示例如下:
實時分析業務
大數據業務
圖像和媒體編碼業務
科學計算業務
可彈性伸縮的業務站點、網絡爬蟲業務
圖像和媒體編碼業務
基因計算業務
地理空間勘測分析業務
寫在最后
希望以上這些新功能可以讓您更輕松自如地應對業務負載變化,彈性支撐業務發展的同時仍能保持較低的TCO成本。在彈性編排ECS實例的基礎之上,如果您對于如何運維ECS有更多的疑問或建議,歡迎您參加即將于8月8日舉行的線上直播,了解更多與ECS運維有關的內容。
本文為云棲社區原創內容,未經允許不得轉載。
評論
查看更多