當您在Resource Orchestration Service服務之外更改資源配置時,可以使用偏差檢測功能檢測資源棧中資源的變更資訊。您也可以採取矯正措施,使資源棧資源與資源棧模板中的定義同步,以確保資源配置的一致性。
情境樣本
檢測資源棧的偏差狀態
如果您想檢測資源棧實際的配置狀態與模板中定義的狀態是否相符或者資源棧中的資源狀態是否符合實際狀態,您可以選擇使用偏差檢測功能檢測資源棧的偏差狀態。
具體操作,請參見檢測資源棧的偏差狀態。
檢測資源的偏差狀態
如果您想查看資源棧中的具體資源是否符合實際狀態,您可以選擇使用偏差檢測功能檢測資源的最新狀態。
具體操作,請參見檢測資源的偏差狀態。
檢測資源棧組的偏差狀態
如果您想檢測資源棧組中每個資源棧執行個體關聯的資源棧中資源的配置狀態是否與模板中定義的狀態存在差異,您可以選擇使用偏差檢測功能檢測資源棧組的狀態。
具體操作,請參見檢測資源棧組的偏差狀態。
使用限制
檢測資源棧的偏差狀態時,ROS不會在任何屬於該資源棧的嵌套資源棧上檢測偏差。您可以直接在嵌套資源棧上啟動偏差檢測操作。
在某些情況下,ROS可能無法返回準確的偏差結果。您應該瞭解這些情況,以便正確解釋您的偏差檢測結果。
在某些情況下,屬性數組中包含的對象將被報告為偏差,而實際上它們是從負責該資源的底層服務提供給屬性的預設值。
您可以在資源棧模板中指定某些資源屬性,ROS無法將其與產生的資源棧資源中的屬性進行比較,因此這些屬性不能包括在偏差檢測結果中。這些屬性可分為四大類:
ROS無法在資源棧模板中映射出初始資源屬性值。
資源的相關服務不返回的屬性值。
某些屬性值被有意設計成永遠不會由資源所屬的服務返回。這些屬性值往往包含機密資訊,例如密碼或其他不應泄露的敏感性資料。
ROS尚未支援的資源屬性。
注意事項
您可以通過GetResourceType介面查詢資源的屬性是否支援偏差檢查。以查詢ALIYUN::ESS::ScalingRule
資源的傳回值為例,最外層的SupportDriftDetection
欄位表明資源是否支援偏差檢查。如果取值為true
,表明資源支援偏差檢查,此時每個屬性都有SupportDriftDetection
欄位表明該屬性是否支援偏差檢查。
{
...
"ResourceType": "ALIYUN::ESS::ScalingRule",
"Properties": {
"ScalingRuleName": {
...
"SupportDriftDetection": true
},
...
},
"SupportDriftDetection": true
}
功能特性
偏差檢測對象 | 說明 | 偏差檢測要求的權限 |
資源 | 將預期的資源屬性值指定為模板參數的值,並將預期值與這些資源屬性的實際值進行比較。如果某個資源的實際屬性值與預期屬性值不同,則資源存在偏差。 |
|
資源棧 | 如果資源棧中的資源存在偏差,則資源棧存在偏差。 說明 ROS將產生已經存在偏差的資源棧中每個資源的詳細資料。 |
|
資源棧組 | 根據屬於資源棧組的資源棧執行個體的偏差狀態來描述資源棧組的總體偏差狀態。如果資源棧執行個體關聯的資源棧存在偏差,則執行個體所在的資源棧組存在偏差。 |
|
支援偏差監測的資源和資源棧
偏差檢測對象 | 說明 |
資源 | 關於偏差檢測支援的資源類型,請參見支援偏差檢測和資源匯入的資源類型。 |
資源棧 | 偏差檢測支援的資源棧狀態如下:
|