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